Presentation is loading. Please wait.

Presentation is loading. Please wait.

Windows Azure Storage Basics

Similar presentations


Presentation on theme: "Windows Azure Storage Basics"— Presentation transcript:

1 Windows Azure Storage Basics
In this module- How does Windows Azure Storage work? How do I access storage?

2 Storage Infrastructure
Each item in storage is stored in triplicate. The backend store is the same for queues, tables, and blobs. Windows Azure Storage is just a REST service running in Windows Azure.

3 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 Various storage abstractions Tables, Blobs, Queues, Drives This should be a recap as this session will dig deeper into the services.

4 Windows Azure Storage Account
User specified globally unique account name Can choose geo-location to host storage account US – “North Central” and “South Central” Europe – “North” and “West” Asia – “East” and “Southeast” Can CDN Enable Account Blobs delivered via 20+ 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 100TB per account Slide Objective Understand a Windows Azure storage account Speaking notes A Windows Azure subscription contains storage accounts Can explicitly geo-locate to a sub region or set affinity with other services Can enable CDN at the account level (means that public containers will be retrievable via the CDN URL)

5 Storage Emulator Provides a local “Mock” storage
Emulates storage in cloud Allows offline development Requires SQL Express 2005/2008 or above There are some differences between Cloud and Dev Storage. Slide Objective Understand the Development Storage Service Speaking notes Client side simulator of storage in the cloud. Allows completely disconnected (e.g. while travelling on a plane) development of Windows Azure apps Can consume just like Cloud storage- from Development Fabric, from another application running locally Is locked down so that it cannot be called from off the box If you need this capability run a reverse proxy on the dev machine Can use CSRun to start and stop service More on this in Day 3 Uses a single fixed account. The account name and key are always the same Anyone memorized the Account key yet? Eby8vd….. Notes The Windows® Azure™ SDK development environment includes development storage, a utility that simulates the Blob, Queue, and Table services available in the cloud. If you are building a hosted service that employs storage services or writing any external application that calls storage services, you can test locally against development storage. The development storage utility provides a user interface to view the status of the local storage services and to start, stop, and reset them. This topic contains the following subtopics:

6 Storage Services Security
Access Control Customer data stored on separate hardware from the Windows Azure Compute VMs, organized into storage accounts Access to data in a specific account is only granted to entities having the secret key for that account Storage access keys are randomly generated when the storage account is created (or later at the request of the customer) A storage account may have two active keys at any given time to support key rollover Data access can be protected using SSL encryption Key point – Windows Azure Storage Service uses strong Storage Access Keys to control access to storage accounts Windows Azure Storage Service has a simple access control model. Each Windows Azure subscription can create one or more Storage Accounts. Each Storage Account has a single secret key (secret access key or SAK) that is used to control access to all data in that Storage Account. This supports the typical scenario where storage is associated with applications and those applications have full control over their associated data. A more sophisticated access control model can be achieved by creating a custom application “front end” to the storage, giving the application the storage Windows Azure Security Overview key, and letting the application authenticate remote users and even authorize individual storage requests. To support periodically changing SAKs without any breaks in service, a Storage Account can have two secret keys associated with it at the same time (where either key gives full access to all of the data). The sequence for changing the secret key is to add the new one as authorized to the storage service, then change the key used by all applications accessing the service, and finally remove the old key so that it will no longer be authorized. Changing the set of authorized storage keys associated with an account is done by the customer via the Windows Azure Portal or using the Service Management API (SMAPI). It is recommended that HTTPS in the request URL so the storage keys cannot be snooped on the wire.

7 Windows Azure Storage Abstractions
Blobs – Simple named files along with metadata for the file Drives – Durable NTFS volumes for Windows Azure applications to use. Based on Blobs. Tables – Structured storage. A Table is a set of entities; an entity is a set of properties Queues – Reliable storage and delivery of messages for an application Slide Objectives Understand each of the storage types at a high level Speaker Notes The Windows Azure storage services provide storage for binary and text data, messages, and structured data in Windows Azure. The storage services include: The Blob service, for storing binary and text data The Queue service, for storing messages that may be accessed by a client The Table service, for structured storage for non-relational data Windows Azure drives, for mounting an NTFS volume accessible to code running in your Windows Azure service Programmatic access to the Blob, Queue, and Table services is available via the Windows Azure Managed Library and the Windows Azure storage services REST API Notes resources.aspx

8 Accessing Storage with REST
Use when a library isn’t available All features are available Lacks Intellisense Results in opaque code

9 Using a library There are Storage Client libraries for most platforms
.NET Java Python Ruby PHP These provide an abstraction layer on top of the REST API and is the most common way to access storage.

10 With client library Automatically referenced in a cloud project
Supplies a nice .NET API on top of the REST API You will need the following: Account Name - movieconversion Account Shared Key – NOcqFlqUwJPLlm… Endpoint - blob.core.windows.net -or- UseDevelopmentStorage=true

11 Connection Strings <Setting name="DataConnectionString" value="UseDevelopmentStorage=true" /> <Setting name="DataConnectionString" value="DefaultEndpointsProtocol=http; AccountName=movieconversion; AccountKey=Eby…Gw==“ />

12 Object Hierarchy CloudStorageAccount CloudStorageAccount
CloudServiceClient CloudObject CloudStorageAccount CloudTableClient CloudTableQuery CloudQueueClient CloudQueue CloudBlobClient CloudBlobContainer CloudBlob For illustrative purposes only. This is not an inheritance graph.

13 Partitions Partitions are used by the storage fabric as the unit of scale and redundancy Each storage type defines a partition differently Queue -> One queue = One Partition Table -> One Table Partition = One Partition Blob -> One blob = One Partition

14 Partitions Partitions are moved around the storage servers for resiliency and to maximize performance Hot partitions may be scaled up Windows Azure fabric may dedicate more resources to partitions with high TX load Each partition has three replicas, with one designated as the master When writing to a partition, the operation is complete when the data has been written to all three replicas

15 Replication: Behind the Scenes
3x Replicas Partition Queue Storage Node Storage Node Storage Node Queue Storage Node Storage Node Storage Node Queue architecture-overview.aspx This is a simplified overview of how this works. Read link for super gory details. Storage Node Storage Node Storage Node Logical Storage Partition

16 Writing: Behind the Scenes
Partition Queue Storage Node Storage Node Storage Node Queue Storage Node Storage Node Storage Node Queue architecture-overview.aspx Storage Node Storage Node Storage Node

17 Recovery: Behind the Scenes
Partition Queue Queue Storage Node Storage Node Storage Node Queue Storage Node Storage Node Storage Node Queue architecture-overview.aspx Storage Node Storage Node Storage Node

18 How Partitions Scale Partitions are fanned out based on load.
They can be condensed when load decreases. Reads are load balanced against the three replicas. A single partition can handle 500 tx/sec. A single storage account can handle 5,000 tx/sec. architecture-overview.aspx This is a simplified overview of how this works. Read link for super gory details. Server 1 Server 2 Server 3 P1 P2 Pn

19 Q & A ponderances?


Download ppt "Windows Azure Storage Basics"

Similar presentations


Ads by Google