Windows Azure featureISO 27001SSAE 16 SOC 1 Type 2 EU Model Clauses HIPAA BAA Web Sites Virtual Machines Cloud Services Storage (Tables, Blobs, Queues) SQL Database Caching Content Delivery Network (CDN) Networking (Connect, TM, VNet) Windows Azure Active Directory Service Bus Media Services
BlobContainerAccount Contoso Images PIC01.JPG Video VID1.AVI / Pages/ Blocks Block/Page PIC02.JPG BLOB Storage is the simplest way to store large amounts of unstructured text or binary data such as video, audio and images with the fastest read performance. Highly scalable, durable, available file system. Blobs can be exposed publically over http. Can securely lock down permissions to blobs.
10 GB Movie Windows Azure Storage Block Id 1 Block Id 2 Block Id 3 Block Id N blobName = “TheBlob.wmv”; PutBlock(blobName, blockId1, block1Bits); PutBlock(blobName, blockId2, block2Bits); ………… PutBlock(blobName, blockIdN, blockNBits); PutBlockList(blobName, blockId1,…,blockIdN); TheBlob.wmv
0 10 GB 10 GB Address Space
EntityTableAccount Name =… = … Name =… = … contoso customers photos Photo ID =… Date =… Photo ID =… Date =… Table Storage a NoSQL key- value store technology used by applications requiring storing large amounts of data storage that need additional structure at no performance cost.
MessagesQueueAccount CustomerId=41 OrderId=O21 CustomerId=12 OrderId=O1 contoso orders imageprocessing BlobUrl= oso.blob… Queues offer a guaranteed message delivery mechanism that can be used to distribute work across roles. Utilizing a two-phase delete process ensures that even if a role which retrieves a message goes down the message will become visible again and subsequently processed by another worker.
Azure Queue Work items Web Role Worker Role 7:00AM7:00AM 7:04 AM Get Message with 5 minutes visibility timeout Extend visibility timeout with another 5 minutes 7:07 AM 7:09 AM Periodically store progress information in message content 7:05 7:09 7:14 Current Time 7:09AM 7:05AM Retrieve progress from queue message and resume
Scalability Targets -Storage Account
Scalability Targets – Partition
Shared Access Signatures (SAS)
SAS Read/Write Logs Devices & Roles Windows Azure Storage Service Analytics Logs & Metrics Public Service Issue SAS Token
Log VersionLog Version Accessing AccountAccessing Account Owner AccountOwner Account Service TypeService Type Request URLRequest URL Object KeyObject Key Request IDRequest ID Operation NumberOperation Number Request VersionRequest Version Operation TypeOperation Type Start TimeStart Time Application End to End Latency Storage Server LatencyStorage Server Latency Authentication TypeAuthentication Type Request StatusRequest Status HTTP Status CodeHTTP Status Code Client IPClient IP User AgentUser AgentReferrer Client Request IDClient Request IDETagLMT Request Packet SizeRequest Packet Size Request Header SizeRequest Header Size Response Packet SizeResponse Packet Size Response Header SizeResponse Header Size Request MD5Request MD5 Server MD5Server MD5 Conditions UsedConditions Used
[mycontainer] car1.docx car2.docx car3.docx train1.docx subfolder1/car_sub1.docx subfolder1/car_sub2.docx [c:\blob-data].\car1.docx.\car2.docx.\car3.docx.\train1.docx.\subfolder1\car_sub1.docx.\subfolder1\car_sub2.docx
.NET Client Libraries Visual Studio Tooling.NET Tools & SDK Core SDK Node.js Client Libraries Node.js SDK Core SDK PHP Client Libraries PHP SDK Core SDK Core SDK = Emulator, Packaging Tools, etc. Java Client Libraries Java SDK Core SDK Eclipse Tooling
MySPC