This session will cover both of the main storage options in Azure: WAS and SQL Azure
There are 4 main components in WAS – table storage is and entity data store where all of your data is combined into entities that you describe and you partition them and co-locate them by partition keyBut it’s important know that the relationships between these entities should be maintained by the application itself. Blob storage is just that – storage for large binary objects – perfect for storing large files, such as videos and music. It is also partitioned but ina different way – by logical containers that you defineQueues are simple queues, do not provide you guaranteed delivery for example as MSMQ does, but do very good job in reliable messaging scenarios. It’s important to know queue messages are available to all of your instances and therefore application should either process and delete a message or return it to the queue (which is done automatically after configured timeout period).Drives are really an NTFS wrapper around page Blob which will be covered later.
Windows Azure platform
storage inwindows azure platform Alexander Koval Software Architect, MCPD
• Storage for various types of data and applications• Distributed over data centers and physical boxes• Storage at massive scale
Windows Azure Storage• Table • Blob – Entity Data Store – Blob Storage – Partitioned by key – Partitioned by – Not a RDBMS container – Unlimited containers• Queue • Drive – Read at least once – Standard NTFS API – Delete to remove – Mounts to any message, otherwise returns instance as a drive to queue (e.g. F: ) – Partitioned by Queue Name
Windows Azure Storage Account• User creates a globally unique storage account name – Can choose geo-location to host storage account • “US Anywhere”, “US North Central”, “US South Central”, – Can co-locate storage account with compute account – Receive a 256 bit secret key when creating account• Storage Account Capacity at Commercial Availability – Each storage account can store up to 100 TB – Default limit of 5 storage accounts per subscription
Typical Design with Azure Storage Browser Cloud Microsoft Data Center WebRole On-Premise Applications Windows Third-Party Azure Cloud Applications Storage
Table Storage: Concept• Structured Storage• Partitioned by key• REST API• Security: Shared Key• Up to 255 properties• Continuation token
Queue Storage: Concept• Organization: FIFO• Message size < 8KB• Partitioned by Name• Queue API: – List Queues – Create Queue – Delete Queue – Put Message – Get Message – Peek Message – Delete Message
Blob Storage: Concepts Blocks or Account Container Blob Pages PIC01. JPG images PIC02. JPG sally Block or Page 1 Block or movies MOV1.AVI Page 2 Block or Page 3
Blob Storage: Blob Containers • Number of Blob Containers – Can have many Blob Containers that will fit in the storage account limit • Blob Container – A container holds a set of blobs – Set access policies at the container level • Private or Public accessible – Associate Metadata with Container • Metadata are <name, value> pairs • Up to 8KB per container – List the blobs in a container
Two Types of Blobs Under the Hood• Block Blob – Targeted at streaming workloads – Each blob consists of a sequence of blocks – Size limit • block: 64MB • Entire Block Blob: 200GB• Page Blob – Targeted at random read/write workloads – Each blob consists of an array of pages – Size limit • Page: 512 byte • Entire Page Blob: 1TB
Windows Azure Drive• Provides a durable NTFS volume for Windows Azure applications to use – Use existing NTFS APIs to access a durable drive • Durability and survival of data on application failover – Enables migrating existing NTFS applications to the cloud• A Windows Azure Drive is a Page Blob – Example, mount Page Blob as X: • http://<accountname>.blob.core.windows.net/<containername>/<blobname> – All writes to drive are made durable to the Page Blob • Drive made durable through standard Page Blob replication • Drive persists even when not mounted as a Page Blob
Windows Azure Drive Capabilities• A Windows Azure Drive is a Page Blob formatted as a NTFS single volume Virtual Hard Drive (VHD) – Drives can be up to 1TB• A VM can dynamically mount up to 8 drives• A Page Blob can only be mounted by one VM at a time for read/write• Remote Access via Page Blob – Can upload the VHD to its Page Blob using the blob interface, and then mount it as a Drive – Can download the Drive through the Page Blob interface
Windows Azure Drive Client Interface • Create Drive – Create a Page Blob and format it as a NTFS single volume VHD • Mount Drive – Acquire the lease on the NTFS formatted Page Blob and mount it as a drive letter • Page Blob lease is maintained as long as drive is mounted • Unmount Drive • Release the Page Blob lease and unmount drive letter • Snapshot Drive – Snapshot Blob • Copy Drive – Copy Blob
Storage Durability1. Replicate within the same geo-location2. Allow applications to choose geo-location3. Geo-replicate data across geo-locations – Maintain multiple copies of your data in 2 geo- locations, within the same geo-region (US, Europe, Asia)
SQL Azure Failover• Data is spread out across 3 fault domains – Connected directly to one at a time (primary node) – No jumping between them, only full failover • Secondary node gets promoted to a primary • New secondary is created• Guaranteed consistency between the three• Not a load balancing solution
Resources• Getting started http://msdn.microsoft.com/en-us/windowsazure/ff796218.aspx• Tools and SDK http://www.microsoft.com/windowsazure/• White paper on Azure Storage http://go.microsoft.com/?linkid=9710117• Download Windows Azure Training Kit http://www.microsoft.com/downloads/details.aspx?FamilyID=413E88F8-5 966-4A83-B309-53B7B77EDF78&displaylang=en Email: firstname.lastname@example.org Blog: http://www.codemastersintl.com/Blogs/Alexander-Koval
A particular slide catching your eye?
Clipping is a handy way to collect important slides you want to go back to later.