Azure Page


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

Windows Azure Storage

  • Storage in the Cloud
  • Scalable, durable, and available
  • Anywhere at anytime access
  • Only pay for what the sen/ice uses
  • Exposed via RESTful Web Services
  • Use from Windows Azure Compute
  • Use from anywhere on the internet
  • Various storage abstractions
  • Tables, Blobs, Queues, Drives

Storage Emulator

  • Provides a local “Mock” storage
  • Emulates storage in cloud
  • Allows offline development
  • Requires SQL Express 2005/2008 or above

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  rollover
Data access can be protected using SSL encryption



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 — Unstructured 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

Accessing Storage with REST

  • Use when a library isn't available
  • All features are available
  • Lacks Intellisense
  • Results in opaque code


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

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:
--ACCOUT Name
--Account Shared Key
--Endpoint- blob.core.windows.net -or-UseDevelopmentStorage=true

Connection Strings
value="UseDevel0pmentSt0rage=true" />
<5ett1ng p="p">name="DataC0nnecti0nString"
value="DefaultEndpointsPr0toc01=http;
Acc0untName=movieconversion;
Acc0untKey=EbymGw=="
/>

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

- 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  load
- Each partition has three replicas, with one master
- When writing to a partition, the operation is complete when the data has been written to two replicas
- The third replica is updated asynchronously


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.












No comments: