SlideShare a Scribd company logo
storage in
windows azure
   platform

                   Alexander Koval
                Software Architect, MCPD
Agenda

Storage in Windows Azure
  • Table, Blob, Queue
  • Demo 1
  • Q &A (5 minutes)

  • Azure Drive
  • Demo 2
  • Q &A (5 minutes)
• 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
Blob Namespace
• Blob URL
http://<Account>.blob.core.windows.net/<Container>/<BlobName>
• Example:
   – Storage Account – sally
   – Container – music
   – BlobName – rock/rush/xanadu.mp3
   – http://sally.blob.core.windows.net/music/rock/rush/xanadu.mp3
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
DEMO
(Azure Storage: Table, Blob, Queue)
DEMO
(Azure Storage: Azure Storage Explorer)
Storage in Windows Azure
         Platform
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 Durability
1. Replicate within the same geo-location
2. Allow applications to choose geo-location
3. Geo-replicate data across geo-locations
  –   Maintain multiple copies of your data in 2 geo-
      locations, within the same geo-region
      (US, Europe, Asia)
DEMO
(Azure Storage: Drive)
Storage in Windows Azure
         Platform
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
Storage in Windows Azure
         Platform
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: akoval@codereign.net
  Blog: http://www.codemastersintl.com/Blogs/Alexander-Koval

More Related Content

Windows Azure platform

  • 1. storage in windows azure platform Alexander Koval Software Architect, MCPD
  • 2. Agenda Storage in Windows Azure • Table, Blob, Queue • Demo 1 • Q &A (5 minutes) • Azure Drive • Demo 2 • Q &A (5 minutes)
  • 3. • Storage for various types of data and applications • Distributed over data centers and physical boxes • Storage at massive scale
  • 4. 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
  • 5. 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
  • 6. Typical Design with Azure Storage Browser Cloud Microsoft Data Center WebRole On-Premise Applications Windows Third-Party Azure Cloud Applications Storage
  • 7. Table Storage: Concept • Structured Storage • Partitioned by key • REST API • Security: Shared Key • Up to 255 properties • Continuation token
  • 8. 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
  • 9. 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
  • 10. 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
  • 11. Blob Namespace • Blob URL http://<Account>.blob.core.windows.net/<Container>/<BlobName> • Example: – Storage Account – sally – Container – music – BlobName – rock/rush/xanadu.mp3 – http://sally.blob.core.windows.net/music/rock/rush/xanadu.mp3
  • 12. 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
  • 14. DEMO (Azure Storage: Azure Storage Explorer)
  • 15. Storage in Windows Azure Platform
  • 16. 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
  • 17. 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
  • 18. 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
  • 19. Storage Durability 1. Replicate within the same geo-location 2. Allow applications to choose geo-location 3. Geo-replicate data across geo-locations – Maintain multiple copies of your data in 2 geo- locations, within the same geo-region (US, Europe, Asia)
  • 21. Storage in Windows Azure Platform
  • 22. 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
  • 23. Storage in Windows Azure Platform
  • 24. 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: akoval@codereign.net Blog: http://www.codemastersintl.com/Blogs/Alexander-Koval

Editor's Notes

  1. This session will cover both of the main storage options in Azure: WAS and SQL Azure
  2. 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.