windows azure storage services saranya sriram, technology evangelist, microsoft, india
TRANSCRIPT
Windows Azure Storage• Storage in the Cloud
Scalable, durable, and available Anywhere at anytime access Only pay for what the service uses
• Exposed via RESTful Web Services Use from Windows Azure Compute Use from anywhere on the internet
Windows Azure Storage AccountUser specified globally unique account name
North Central USNorthern Europe
Western Europe East Asia
South East Asia
US Europe Asia
Can choose geo-location to host storage account:
South Central US
West US East US
Windows Azure Storage Account•Can CDN Enable Account
Blobs delivered via 24 global CDN nodes
•Can co-locate storage account with compute account Explicitly or using affinity groups
•Accounts have two independent 512 bit shared secret keys
•100 TBs per account
New Features• Geo-Replication• Storage Analytics
Logs: Provide trace of executed requests for your storage accounts
Metrics: Provide summary of key capacity and request statistics for Blobs, Tables, and Queues
• Improved HTTP headers for Blobs
Storage in the Development Fabric• Provides a local “Mock”
storage• Emulates storage in cloud• Allows offline
development• Requires SQL Express
2005/2008 or above
http://msdn.microsoft.com/en-us/gg433135
The Storage Client API• In this presentation we’ll cover the underlying
RESTful API Can call these from any HTTP client
e.g. Flash, Silverlight, etc…
• Client API from SDK Microsoft.WindowsAzure.StorageClient Provides a strongly typed wrapper around REST services
Storage Security• Windows Azure Storage provides simple security
for calls to storage service HTTPS endpoint Digitally sign requests for privileged operations
• Two 512bit symmetric keys per storage account Can be regenerated independently
• More granular security via Shared Access Signatures
Windows Azure Storage Abstractions
TablesStructured storage. A table is a set of entities; an entity is
a set of properties.
QueuesReliable storage and delivery of messages for an application.
BlobsSimple named files along with metadata for the file.
DrivesDurable NTFS volumes for Windows Azure applications to use. Based on Blobs.
Windows Azure Blobshttp://<account>.blob.core.windows.net/
images
BlobsContainerACCOUNT
videos
contoso
PIC01.JPG
PIC02.JPG
VID1.AVI
• Create, Delete, SetAcl Containers
• Put/Get Blobs/Set Metadata• Parallel uploads & Single range gets
• Copy Blob• Asynchronous copy – copy between accounts
• Snapshots• Read only version of a blob• Promote a version as base blob
• Sharing Scenarios• Private access, public access or Shared Access Signatures (Signed Url)
• Lease on a container or blob • Useful for master election scenarios• Infinite leases - Locks
Windows Azure blobs
Windows Azure Tables
Blogs
EntitiesTableACCOUNT
Videos
contoso
PartitionKey=‘uid1’RowKey=‘B:002’Rating=‘2’
PartitionKey=‘uid1’RowKey=‘C:002:003’Committed=‘1’
PartitionKey=‘uid2’RowKey=‘pic.wmv’Rating=‘1’
http://<account>.table.core.windows.net/
Windows Azure Tables• NoSQL Schema-less structured storage• OData Protocol – WCF data service client library for .NET• Create, Delete, SetAcl Tables• Insert/Update/Upsert/Delete Entities• Query
Single Entity Lookups Range queries via filter
• Sharing Scenarios Private access or Shared Access Signatures (Signed Url)
Windows Azure Queues
orders
MessagesQueueACCOUNT
imageprocessing
contoso
CustomerId=41OrderId=O21
CustomerId=12OrderId=O1
BlobUrl=http://contoso.blob…
http://<account>.queue.core.windows.net/
Windows Azure Queues• Create, Delete, SetAcl Queues• Enqueue Messages – 64KB messages• Lease mechanism for processing
Get Message(s) – provide lease time Delete Message
• Metadata Message count – Enables auto scaling Dequeue count – Detect poison messages
• Sharing Scenarios Private access or Shared Access Signatures (Signed Url)
Windows Azure Disks & Drives• Move legacy applications easily to cloud
• IaaS Disks - OS and multiple data disks associated with VM. Network mounted durable
drives
• PaaS Drives – Dynamically mount network attached single volume VHDs
• Drives & Disks Fixed formatted VHD Stored using page blobs
All flushed and un-buffered writes are made durable Transactions on blobs like PutPage, GetBlob (ranges) etc. are counted towards storage
account
Price Reduction• 90% price reduction for transactions!!!!
1 cent – 100K Transactions If you poll every second for a queue message
0.008$ for 1 day
• Tiered Pricing for storage
• Find more at http://www.windowsazure.com/en-us/pricing/details/
Storage Capacity Geographically Redundant Locally RedundantFirst 1 TB / Month $0.125 per GB $0.093 per GBNext 49 TB / Month $0.11 per GB $0.083 per GBNext 450 TB / Month $0.095 per GB $0.073 per GBNext 500 TB / Month $0.09 per GB $0.063 per GBNext 4,000 TB / Month $0.08 per GB $0.053 per GBNext 4,000 TB / Month $0.055 per GB $0.037 per GB
• Higher durability• 3 local replicas in primary location• Local replicas – synchronously replicated
• Common failures (disk, node, rack) – use local copies to recover
• Major disasters – contact customer about potential data loss
• Reduced Price – 23-34% based on how much you store
• Turn off Geo for your storage account in portal• Non-critical data that can be recreated on
major disasters• Application manages its own replica• Companies have limitations on geo locations
Locally Redundant Storage • Highest level of durability
• 3 local replicas each in primary and secondary locations
• Local replicas – synchronously replicated• Geo replica – asynchronously replicated
• Common failures (disk, node, rack) – use local copies to recover
• Major disasters – use geo replicated copy (400+ miles apart)
• Price remains the same as before
• Enabled by default
Geo Redundant Storage
New REST API Version – 2012-02-12• Copy Blob - asynchronous
Copy blobs between storage accounts
• Leases Infinite leases – Lock Leases on container
• Shared Access Signatures (Signed Url) One hour expiry time limit removed for SAS SAS for table and queues
Mobile applications can request SAS
Future• Geo
Read from Secondary Control your own failover
Test how your application behaves Compliance reasons
SLA for Geo replication RPO and RTO
• 1.8 Client library & Storage Emulator Ship with SDK & Supports 2012-02-12 version Better cloud parity with Development Storage Emulator with support
for 2012-02-12 version
Resources • Geo
Read from Secondary Control your own failover
Test how your application behaves Compliance reasons
SLA for Geo replication RPO and RTO
• 1.8 Client library & Storage Emulator Ship with SDK & Supports 2012-02-12 version Better cloud parity with Development Storage Emulator with support
for 2012-02-12 version
Resources Storage team blogs @
http://blogs.msdn.com/b/windowsazurestorage/
Pricing information @ https://www.windowsazure.com/en-us/pricing/details/
Storage 1.7.1 @ https://github.com/WindowsAzure/azure-sdk-for-net/tree/sdk_1.7.1
Getting Started @ https://www.windowsazure.com/en-us/develop/overview/
Track ResourcesStorage team blogs @ http://blogs.msdn.com/b/windowsazurestorage/
Pricing information @ https://www.windowsazure.com/en-us/pricing/details/
Getting Started @ https://www.windowsazure.com/en-us/develop/overview/Storage 1.7.1 @ https://github.com/WindowsAzure/azure-sdk-for-net/tree/sdk_1.7.1
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.