Willy’s Cave Dwelling Notes #2 – Windows Azure

Continued from Willy’s Cave Dwelling Notes #1 – Cloud Computing, we continue our cloud journey by taking a quick glance at Windows Azure.


Interesting URLs

Terminology

  • Virtualized computing platform providing infinite resources, to create secure, reliable, high-availability and scalable applications, using a multi-instance and stateless service design.
  • Service architecture includes Web Role instances, Worker Role instances and queues that are the conduit between the roles.
  • Roles
    • Web Roles place data in storage and/or queues and are the user-facing part of the application.
    • Worker Roles extract data from queues and/or storage and can be seen as background services.
  • Fabric is the magic plumbing delivered by Windows Azure that makes it all happen.

image


Getting Started

  • Install SDK
    • Download Windows Azure x32 or x64 SDK Tools
  • Creating Cloud solutions
    • Visual Studio – Create Windows Azure Project
      • Worker Role
        • Life starts here: WorkerRole : RoleEntryPoint
        • Sits in a loop in Run()
      • Web Role: ASP.NET | ASP.NETMVC | CGI | WCF
        • Life starts here: WebRole : RoleEntryPoint
  • RoleEnvironment.GetConfigutaionSettingValue() reads service configuration file data
  • Emulating Cloud solutions on your laptop
    • Developer Fabric Emulator emulates the cloud platform
    • Package | Unpackage | Run on local system as it would run in the cloud

Services

image

Storage Summary

  Blob   Table   Queue SQL Azure
Named yes   yes   yes yes
Data size Block – 200GB Page – 1TB   100TB   8KB 150GB
Structure One or more containers, each containing one or more blobs   Table with entities   One or more queues with one of more messages  
Data types Binary   String, Byte[], Guid, DateTime, Int32, Int64, Double, Boolean   XML  
Connect https://account.blob.core.windows.net /container/blobname   https://account.table.core.windows.net /tablename   https://account.queue.core.windows.net /queuename  
Case sensitivity Container name – all lowercase 3-63 Blob name – case sensitive  1-1024   Table – case insensitive 3-36 Entity – case insensitive 1-25   Queue – lower case 3-63  
Unique

Container and Blob name

 

Partition and Row key Name+Value pairs

     
Notes
  • Blob Snapshots create non-modifiable backups.
  • Use for documents, pictures, music, videos
 
  • Use for customer info, news, feeds, scores, …
  • Partitions from multiple machines
 
  • FIFO not guaranteed
  • Unprocessed message is deleted after 7 days
  • Better than tables for complex queries
  • Served from 1 primary replica

 

Compute Services

  • WCF Services Web Role
  • Windows Azure AppFabric ServiceBus
    • Contained in Windows Azure AppFabric component
    • Secure messaging relay between systems
    • Negotiated direct connect
    • … more details in a future post.
  • Access Control Services (ACS)
    • Contained in Windows Azure AppFabric component

More on these later …


TFS Service (TFS Preview) … and Windows Azure

Where does the TFS Preview store its data? Here is a slide that was presented at PDC:

image

To cut a very long story short, we use almost all of the storage technologies … SQL Azure, Azure blob storage and Azure table storage (for diagnostics).


 References: