Azure, Cloud Computing & Services
What Is The Cloud?

   A set of connected servers
   On which developers can:
      Install and run services
      Store a...
What Is Windows Azure?

   It is an operating system for the cloud
   It is designed for utility computing
   It has four ...
This Is What Every Cloud Service
Developer Has To Do Today!

                                            Business logic
  ...
What's Missing In The Cloud?




                             …. ……
     Service 1   Service 2   Service 3   Service N
What Should The Cloud OS Provide?
  The same facilities that a desktop OS provides, but on
  a set of connected servers:
 ...
How Is The Cloud OS Manifested?

   Automated service management
      You define the rules and provide your code
      Th...
A Look Inside Azure
So What?



           Default.aspx
We Get Scalability For Free!



           LB
                Default.aspx



                Scalability
                ...
Horizontal Scaling




           What about state?
          (e.g., shopping cart)
Separating State




                   Durable Store
Durable Storage

   Durable, scalable, available store
   Simple abstractions

   Blobs                                Que...
Simple Storage



          LB
                   Default.aspx




                       Storage
               (Blobs, T...
Not Just Websites

   Cloud services aren’t just websites
   Many other types of work for the cloud
      Bulk file conver...
Service Architectures
Web role
   LB




           Default.aspx             Worker.cs




                          Stora...
Service Architectures
Worker role
   LB




         Default.aspx             Worker.cs




                        Storage
Service Architectures
Web and worker roles
   LB




         Default.aspx             Worker.cs




                     ...
Windows Azure Storage

  The goal is to allow users
  and applications to
     Access their data efficiently
     from any...
Fundamental Data Abstractions

  Blobs – Provide a simple interface for storing
  named files along with metadata for the ...
Blob Namespace

   Blob URL
 http://<Account>.blob.core.windows.net/<Container>/<BlobName>
 Example:
   Account – sally
  ...
Blob Features And Functions

   Store Large Objects (up to 50 GB each)
   Standard REST PUT/GET Interface
 http://<Account...
Windows Azure Tables

  Provides Structured Storage
     Massively Scalable Tables
        Billions of entities (rows) and...
Table Data Model

  Table
     A Storage Account can create many tables
     Table name is scoped by Account
  Data is sto...
Partition Example

Partition Key Row Key   Property 3   …. Property N
Document      Version   Modification .  Description
...
Summary Of Windows Azure Tables

  Built to provide Massively Scalable, Highly Available
  and Durable Structured Storage
...
Future Windows Azure Table Support
                                
 At CTP
                                    
   Sing...
Windows Azure Queues

  Provide reliable message delivery
     Simple, asynchronous work dispatch
     Programming semanti...
Account, Queues And Messages

  An Account can create many Queues
     Queue Name is scoped by the Account
  A Queue conta...
Queue Programming API

  Queues
    Create/Clear/Delete Queues
    Inspect Queue Length


  Messages
    Enqueue (QueueNam...
Storage Durability

  All data is replicated at least 3 times
     Replicas are spread out over different fault
     and u...
Availability And Scalability

   Efficient Failover
      Data served immediately elsewhere
      within data center from ...
Windows Azure Data Storage Concepts

                                                Blobs
              Container
       ...
Windows Azure Storage Summary

  Essential Storage for the Cloud
     Durable, Scalable, Highly Available,
     Security, ...
Links

 http://www.microsoft.com/azure


 http://blog.smarx.com


 http://delicious.com/alan.dean/azure
Azure, Cloud Computing & Services
Upcoming SlideShare
Loading in...5
×

Azure, Cloud Computing & Services

3,176

Published on

My presentation to the Charteris Tech Day in December 2008.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,176
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
130
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Azure, Cloud Computing & Services

  1. 1. Azure, Cloud Computing & Services
  2. 2. What Is The Cloud? A set of connected servers On which developers can: Install and run services Store and retrieve data
  3. 3. What Is Windows Azure? It is an operating system for the cloud It is designed for utility computing It has four primary features: Service management Compute Storage Developer experience
  4. 4. This Is What Every Cloud Service Developer Has To Do Today! Business logic … Expand to new locale Perform live upgrade for new feature Apply OS patches Service “glue” Diagnose service failures and operations Add storage capacity Handle increase in traffic Respond to hardware failures Datacenter
  5. 5. What's Missing In The Cloud? …. …… Service 1 Service 2 Service 3 Service N
  6. 6. What Should The Cloud OS Provide? The same facilities that a desktop OS provides, but on a set of connected servers: Abstract execution environment Shared file system Resource allocation Programming environments And more: Utility computing 24/7 operation Pay for what you use Simpler, transparent administration
  7. 7. How Is The Cloud OS Manifested? Automated service management You define the rules and provide your code The platform follows the rules: deploys, monitors, and manages your service A powerful service hosting environment All of the hardware: servers; load balancers; … Virtualized and direct execution Scalable, available cloud storage Blobs, tables, queues, … A rich, familiar developer experience
  8. 8. A Look Inside Azure
  9. 9. So What? Default.aspx
  10. 10. We Get Scalability For Free! LB Default.aspx Scalability Availability Zero-downtime upgrades All with existing tools and skills
  11. 11. Horizontal Scaling What about state? (e.g., shopping cart)
  12. 12. Separating State Durable Store
  13. 13. Durable Storage Durable, scalable, available store Simple abstractions Blobs Queues Tables … Simple interface REST ADO.NET Data Services
  14. 14. Simple Storage LB Default.aspx Storage (Blobs, Tables, Queues)
  15. 15. Not Just Websites Cloud services aren’t just websites Many other types of work for the cloud Bulk file conversion Heavy analytics Finding extraterrestrials Even websites can offload async work We need a more complex architecture
  16. 16. Service Architectures Web role LB Default.aspx Worker.cs Storage
  17. 17. Service Architectures Worker role LB Default.aspx Worker.cs Storage
  18. 18. Service Architectures Web and worker roles LB Default.aspx Worker.cs Storage
  19. 19. Windows Azure Storage The goal is to allow users and applications to Access their data efficiently from anywhere at anytime Store data for any length of time Scale to store any amount of data Be confident that the data will not be lost Pay for only what they use/store
  20. 20. Fundamental Data Abstractions Blobs – Provide a simple interface for storing named files along with metadata for the file Tables – Provide structured storage. A Table is a set of entities, which contain a set of properties Queues – Provide reliable storage and delivery of messages for an application
  21. 21. Blob Namespace Blob URL http://<Account>.blob.core.windows.net/<Container>/<BlobName> Example: Account – sally Container – music BlobName – rock/rush/xanadu.mp3 URL: http://sally.blob.core.windows.net/music/rock/rush/xanadu.mp3 Account Container Blob IMG001.JP G pictures IMG002.JP G sally movies MOV1.AVI
  22. 22. Blob Features And Functions Store Large Objects (up to 50 GB each) Standard REST PUT/GET Interface http://<Account>.blob.core.windows.net/<Container>/<BlobName> PutBlob Inserts a new blob or overwrites the existing blob GetBlob Get whole blob or by starting offset, length DeleteBlob Support for Continuation on Upload Associate Metadata with Blob
  23. 23. Windows Azure Tables Provides Structured Storage Massively Scalable Tables Billions of entities (rows) and TBs of data Automatically scales to thousands of servers as traffic grows Highly Available Can always access your data Durable Data is replicated at least 3 times Familiar and Easy to use Programming Interfaces ADO.NET Data Services – .NET 3.5 SP1 .NET classes and LINQ or REST - with any platform or language
  24. 24. Table Data Model Table A Storage Account can create many tables Table name is scoped by Account Data is stored in Tables A Table is a set of Entities (rows) An Entity is a set of Properties (columns) Entity Two “key” properties that together are the unique ID of the entity in the Table PartitionKey – enables scalability RowKey – uniquely identifies the entity in the partition
  25. 25. Partition Example Partition Key Row Key Property 3 …. Property N Document Version Modification . Description Name Time Examples V1.0 8/2/2007 …. Committed version Partition 1 Doc . Examples V2.0.1 9/28/2007 Alice’s working version Doc FAQ Doc V1.0 5/2/2007 Committed version Partition 2 FAQ Doc V1.0.1 7/6/2007 Alice’s working version FAQ Doc V1.0.2 8/1/2007 Sally’s working version
  26. 26. Summary Of Windows Azure Tables Built to provide Massively Scalable, Highly Available and Durable Structured Storage Automatic Load Balancing and Scaling of Tables Partition Key is exposed to the application Familiar and Easy to use LINQ and REST programming interfaces ADO.Net Data Services Not a “relational database” No joins, no maintenance of foreign keys, etc
  27. 27. Future Windows Azure Table Support  At CTP  Single Index  Query and retrieve results sorted by PartitionKey and RowKey  Single Entity Transactions  Atomically Insert, Update, or Delete a Single Entity
  28. 28. Windows Azure Queues Provide reliable message delivery Simple, asynchronous work dispatch Programming semantics ensure that a message can be processed at least once Queues are Highly Available, Durable and Performance Efficient Access is provided via REST
  29. 29. Account, Queues And Messages An Account can create many Queues Queue Name is scoped by the Account A Queue contains Messages No limit on number of messages stored in a Queue But a Message is stored for at most a week http://<Account>.queue.core.windows.net/<QueueName> Messages Message Size <= 8 KB To store larger data, store data in blob/entity storage, and the blob/entity name in the message
  30. 30. Queue Programming API Queues Create/Clear/Delete Queues Inspect Queue Length Messages Enqueue (QueueName, Message) Dequeue (QueueName, Invisibility Time T) Returns the Message with a MessageID Makes the Message Invisible for Time T Delete(QueueName, MessageID)
  31. 31. Storage Durability All data is replicated at least 3 times Replicas are spread out over different fault and upgrade domains in same data center Future support for geo-distribution and geo-replication All of Storage (Blobs, Tables and Queues) is built on this replication layer Dynamic replication to maintain a healthy number of replicas Recover from a lost/unresponsive Drive or Node Data continuously scanned against data bit rot
  32. 32. Availability And Scalability Efficient Failover Data served immediately elsewhere within data center from available replicas Automatic Load Balancing of Hot Data Monitor the usage patterns and load balance access to Blob Containers, Table Partitions and Queues Distribute access to the hot data over the data center according to traffic Caching of Hot Blobs, Entities and Queues Hot Blobs are cached to scale out access to them Hot Entity and Queue data pages are cached and served from memory
  33. 33. Windows Azure Data Storage Concepts Blobs Container http://<account>.blob.core.windows.net/<container> Table Entities Account http://<account>.table.core.windows.net/<table> Queue Messages http://<account>.queue.core.windows.net/<queue>
  34. 34. Windows Azure Storage Summary Essential Storage for the Cloud Durable, Scalable, Highly Available, Security, Performance Efficient Familiar and Easy to Use Programming Interfaces REST Accessible, LINQ and ADO.NET Rich Data Abstractions Service communication: queues, locks, … Large user data items: blobs, blocks, … Service state: tables, caches, …
  35. 35. Links http://www.microsoft.com/azure http://blog.smarx.com http://delicious.com/alan.dean/azure
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×