Understanding the
 Windows Azure Platform

David Gristwood
Application Architect, Microsoft
blogs.msdn.com/david_gristwood
Why a Cloud Platform?

 Reduce capital & operations costs
 Simplify application deployment & management
 Simplify scaling to internet scale
 Cost effectively handle peak loads
 Focus on new functionality & not infrastructure
The Azure Philosophy
Windows Azure is about Scale
• Windows Azure is
  designed from the ground
  up for true Internet scale
• Global presence
• Ride the “network effect”
   •   LinkedIn: 16 months for first
       million users, 11 days for most
       recent million
   •   Facebook: 5 years to hit 250m
       users, 8 months to double

• Scale up and scale down
• Supports the “Scale Fast,
  Fail Fast” model

   www.flickr.com/photos/ScroffTheBad
Application Characteristics
“Scale & Elasticity”
• Need massive scale                           • target.com •       walmart.com
    • Social networking, web 2.0               • toysrus.com •      barnesandnoble.com
• Need high reliability
    • LOB, software as a service
• Have variable load / unpredictable                      ~4x normal load
  lifetime                                               (Holiday shopping)
    • Ticketing, marketing
• Parallel processing
    • Financial applications
• Don’t fit in well with a company’s
  data center
    • Avoid IT dept, joint ventures           Jan 2009                                  Jan 2010
• Benefit from external storage
    • Archive                                                                     Source: Alexa



  http://www.flickr.com/photos/39919537@N06/3666813048/
Helps your Systems Scale
• Most architecture is
  hidden inside code
• Windows Azure
  encourages you to
  define your application
  into constituent parts
• Windows Azure can
  scale the parts of your
  application as
  appropriate
 www.flickr.com/photos/39818355@N00/2128626176
Flexible Architecture
• Systems evolve over
  time
• Cloud is not an “all
  or nothing”
  proposition
• Windows Azure
  makes it easier to
  extend to the cloud

www.flickr.com/photos/tomkpunkt/3695066577
Opening up the Cloud
• Allow developers to
  apply their existing
  skills to the cloud
• Support for .NET,
  Ruby, PHP, Java
• Interoperability with
  any platform, tools or
  technology



                           www.flickr.com/photos/h19/2306213399/in/set-72157594224557858
Natural Platform Evolution
• Windows Server 2008
• Virtualisation
• Windows Services,
  such as IIS, logging,
  diagnostics, etc
• Visual Studio & .NET
Flexible Business Model
• No up front
  hardware
  purchase
• Pay as you go
  costing model
• Ideal in current
  economical
  climate



                     www.flickr.com/photos/cleebster/2508660124
Azure Adoption
Azure is Live…..




http://www.liveonazure.com/
Managing Data Centric Applications with Capacity Bursts

Challenges Today
                 “Capacity Bursting“
                                                  Elastic scale – database as a service
                                                  Pay as you grow and shrink
                                                  Easy to provision and manage
    Capacity




                               Average     Time
                                Usage             database
               Compute
               # of Hr’s




                           Average Usage          No hardware, no manual database
                                                  administration required


 Promotions, events, ticket selling
 businesses are “bursts – bound” by
 nature
 Capacity constraints limit business agility
 High costs of entry into new business
 Difficult to roll out extra capacity quickly
 Idle capacity “off-bursts” is cost
 prohibitive
Data Centers
Northern
     North Central    Europe
         USA



                                            Eastern Asia
                     Western
                     Europe



South Central
    USA
                                Southeast
                                  Asia
Dublin

                   Chicago

                             Amsterdam


    San
   Antonio
                                                                             Hong Kong
                                                     Singapore



                                         Hosting locations within 100ms of
                                         100ms of the customer
Regional hosting
                                         At least one hosting location can
                                         can be reached within 100ms, but
                                         but not two
200ms Latency from 2
                                         No points to test from or greater
regional hosting                         greater than 200ms latency
Microsoft has run Online Services since 1994
   1st MSFT datacentre built in 1989
   Running Online Services 24x7x365
   Global service delivery to 59 markets/36 languages
   ∙ 30B Live ID authentications/month      ∙ 2B Bing queries/month
    ∙ 10B MSN page views/month               ∙ 240B Messenger messages/month
Global Infrastructure to Run Your Services World Wide
   Quincy, WA: Approx 500K sq ft, hydro-powered
   San Antonio, TX: Approx 475K sq ft, recyclable water
   Chicago, IL: Approx 700K sq ft, water economization
   Dublin, Ireland: Approx 303+K sq ft, air economization

            http://www.globalfoundationservices.com/
   One of world’s largest datacentres using
    containers, on-line on July 2009
     Cost $500 million,
     700k sq ft facility (approx 16 football
       fields)
     30 MegaWatts today, 60 MW for future
       use
   Security
     ISO 27001:2005 Accreditation - Security
       Management
     SAS 70 Type I and II Attestations - Audit
       standard for our internal controls system
   Containers
     40 ft containers with 1800-2500 servers
     10 x density traditional datacentres
     Optimizes efficiency, reduces wastes &
       carbon footprint
     Delivers an average PUE of 1.22
   First Mega Datacentre built outside the
    US, on-line on July 2009
       Cost $500 million, 303+sq ft facility and
        growing
       EU Datacenter Best Practice Award Winner
       Stand-alone Server Pods
           Environmentally Sustainable
           Free Air-Cooling via Air-Side
            Economization
           50% less energy use vs. traditional
            facilities
           1 % water use vs. traditional facilities
       5.4 MegaWatts today, 22.2 MW for future use
       ISO 27001:2005 Accreditation
       SAS 70 Type I and II Attestations
Windows Azure
The Windows Azure Platform
      The Big Picture
                             Windows Azure
                              AppFabric

    Applications
                                       SQL Azure
   Windows Azure




                   Applications


  Server      Desktop         Mobile         Others
Application

                                                          Compute                Storage

                                                 Config                 Fabric




                                 AppFabric


   Applications

                                         SQL Azure
  Windows Azure




                  Applications


Server        Desktop        Mobile          Others
Azure Building Blocks
Azure Compute Building Blocks
Windows Azure Roles
   Your role class typically derives from
    RoleEntryPoint represents role
       Do initialization in OnStart()
       Do work in Run()
 You call into RoleEnvironment to enumerate
  roles, endpoints, etc
 You get called in response to changes in the
  number of instances in the service
       Can force restart
Windows Azure Storage Building Blocks




  Each storage account can hold up to 100 TB
Windows Azure Blobs
   Provide simple interface for storing named files
    along with metadata for the file
Windows Azure Blob features
   REST based API
       ouraccount.blob.core.windows.net/thecontainer/
        myblob
       PutBlob, GetBlob, DeleteBlob, CopyBlob,
        SnapshotBlob, LeaseBlob, etc
 Block Blob for streaming + commit-based
  writes
 Page Blob for random read/write
 100 Tb per storage account
Windows Azure Drives
   Page Blob formatted as a NTFS single volume
    Virtual Hard Drive (VHD)
       NTFS APIs providing durable file storage on Page
        Blobs
       Drives can be up to 1TB, up to 16 can be mounted
       Can upload VHD via Page Blob then mount
 Ease migration of existing Windows
  applications to Azure
 Durability and survival of data on application
  failover or hardware failure
Windows Azure Tables
   Structured storage via entities, containing sets of
    properties
Windows Azure Tables
   Provides Massively Scalable Structured Storage
     Billions of entities (rows) and TBs of data
     Can utilise thousands of servers as it scales up
     Triple replicated for durability
   Familiar and easy to use REST based API
   Each entity can have up to 255 properties
     PartitionKey & RowKey as key and index
     Timestamp for optimistic concurrency
     No fixed schema for all other properties
     Property is stored as a <name, typed value> pair
Windows Azure Tables
      MyTable1

        Entity: Sports Car




       Entity: Car




        Entity: Customer
Table Partitions and Rows
PartitionKey   RowKey                Timestamp   ReleaseDate   ………..
(Category)     (Title)
Action         Clash of the Titans   …           2010

Action         The Bourne            …           2007
               Ultimatum
…              …                     …           …

Animation      Avatar                …           2009

Animation      How to Train Your     …           2010
               Dragon
…              …                     …           …

Comedy         What Happens in       …           2008
               Vegas
…              …                     …           …

SciFi          Alien                             1979

…              …                     …           …

Horror         Halloween             …           1978
Windows Azure Queues
   Provide reliable storage and delivery of messages
Windows Azure Queues
 Provide reliable storage and delivery of
  messages
 Max size of message 8 Kb
       Store URI to blog / table for larger data
 No limit to number of messages in a queue
 Messages must explicitly be deleted
       Message expiration timeout
       Message de-queue count for poison messages
Common Azure Pattern
Azure Features
Service Management API
 ProvideLights-Out Service Management
 Manage services programmatically via
  REST-based API
  X509 client certificates for authentication
  Viewing, creating, deleting, swapping,
   modifying configuration settings, etc on
   deployments
Windows Azure Diagnostics
   Cloud is much harder than single server
     Dynamic environment, no local access

   Azure Diagnostics built for monitoring & data
    collection
     Focus on what to collect and when
     Designed for Azure
                                              Logging &
   Based on standard APIs                    Diagnostics
     Traces, logs, crash dumps, IIS logs,
      perf counters, ETW, etc
   Upload to Azure storage as required
    41
Service Management CmdLets
 PowerShell cmdlets wrapping Azure Service
  Management and Diagnostics API
 Simple to script out deployments, upgrades,
  scaling
    • Deploy new services
    • Upgrade services
    • Manage storage
      accounts
    • Transfer diagnostics
      information
Service Upgrade Models
   Rolling upgrade (aka “In-place”)
       Roles are updated across update domains
        one at a time
       Service remains available during upgrade
   Real-time hot swap (aka “VIP Swap”)
       Virtual IP swap between staging &
        production
       Swap service endpoints of old/new
        version
       Enables complex architectural changes
   Planned downtime
       Stop and replace service with new version
Content Delivery Network
   Better performance and user experience by caching
    Azure blobs at strategically placed locations
         19 locations globally (United States, Europe, Asia,
          Australia and South America) and growing


                            Edge Location               Edge Location
        pic1.jpg
            Edge Location
                                  Content Delivery Network



                                             pic1.jpg
                                                              Windows Azure
                                                                 Blob Service
The Fabric
Fault Domains
Azure Development
Windows Azure for Application Developers

                                                 Code



 Software Development Kit   Portal




                                                  Data




                                                 Relational
                                                 Data
                                     API



  Develop                   Deploy         Run
Development Fabric and Storage
Visual Studio 2010
Visual Studio 2010
Visual Studio 2010
Azure Portal
SQL Azure
       account    servers
              
Account
              


                 server
              
              
Server
              




                 database
  Datab       
  ase         
Application
                                                            Applications use standard SQL
                                                            client libraries: ODBC, ADO.Net, …

                                        Internet
                                      Azure Cloud

                                  TDS (tcp)
                                                           Load balancer forwards ‘sticky’
                                              LB           sessions to TDS protocol tier


TDS (tcp)

        Gatewa       Gatewa        Gatewa          Gatewa      Gatewa         Gatewa
           y            y             y               y           y              y
          Gateway: TDS protocol gateway, enforces AUTHN/AUTHZ policy; proxy to backend
TDS (tcp)                                      SQL

SQL              SQL              SQL                SQL              SQL                SQL


      Scalability and Availability: Fabric, Failover, Replication, and Load balancing
SQL Azure & SQL Server
 Similarities
  “Just change the connection string”
  Same SQL Server core database service &
   TDS
 Differences
  Supports subset of SQL Server 2008
  Limited to 5Gb or 50Gb database
  Different pricing model
  No Reporting Services, Analysis Services, etc

    


    




    
    
    
SQL Azure Architectures
 SQL Azure access from            SQL Azure access from
   within the cloud                 outside the cloud

     Application/ Browser               Application / Tools



     SOAP/REST
      HTTP/S



           Web Role


                  Windows Azure
                                      T-SQL (TDS)
    T-SQL (TDS)




         SQL Azure                         SQL Azure


        “Code Near”                       “Code Far”
On-Premises
Applications               SQL
                          Azure


                           Sync
                          Group


                   SQL                SQL
                  Azure              Azure

Remote Offices
& Retail Stores                   Offline-Capable
                                  Cached Mode Applications
SQL Azure Roadmap



   Service Update 2
       Multiple Active Result Sets (MARS)
   Service Update 3
       50 Gb Databases, Spatial support
   Incubation
       Project “Houston” – new SQL Azure web administration tool
       Codename “Dallas” – information as a service
       OData service on top of SQL Azure







OData
        “ODBC for the Internet”
•   Uniform way of representing data, URL conventions and
    operations
•   Auto generation of OData for SQL Azure
                          OData Consumers
                                                          Session

        Reports     Dashboard     Forms         Apps      Browser

                  Open Data
                  Protocol
                 Format   Query&[Uri]     R/W    Batching,Versions

      Metadata
                          +         +            +
                              OData Producer
Codename “Dallas”
I
need
data!
                     Marketplace




                                        Content Providers
          Office,
        Dynamics,




                                          Services for
        SQL Server
                       Standard Data
                       Access (OData)
         ISV Apps

         Custom
          Apps         Billing

                      Analytics
Information as a Service
   Data or functionality that is “of value to many” –
    enabling applications, reports, BI analysis, etc…
        Examples include GIS/Spatial, traffic, movie show times,
         crime, real-estate sales, financial data, navigation, census
         data, reviews, etc…
   Various Classifications:
        Commercial: clean, supported, and regularly updated from
         ISVs and Content Providers
        Trusted Public Domain: clean, unsupported data from
         academia and governments (Census, FDA, …)
        Crowd Sourced: unreliable data in the public domain from
         anyone and everyone

    68
http://apps.facebook.com/crimestats   http://silverlight.onterrasys.com/CrimeDemo/
View results in
 A quick way to explore “Dallas” datasets                     Learn about data
                                            various formats
                                                              format and perform
                                                              quick queries
Available for
every dataset


Fill in parameter
                                                                    Click
values using
                                                                    “Analyze” to
guided help
                                                                    continue
                                                                    exploring in
                                                                    PowerPivot
                                                                    and Excel to
                                                                    create
                                                                    PivotTables,
                                                                    graphs, etc.
AppFabric
“Infrastructure to help build and
    manage applications more easily”

   Windows Server AppFabric
     Caching capabilities (“Velocity”)
     Workflow + service hosting (“Dublin”)
   Windows Azure Platform AppFabric
     Service Bus
     Access Control
Service Bus
 Exposing   internal applications on the
  Internet isn’t easy
 Network address translation (NAT) and
  firewalls get in the way
 The Service Bus:
  Provides a cloud-based intermediary
   between clients and internal applications
  Provides a service registry that clients can
   use to find the services they need
75
Service
                                 Bus




           Send            Receive   Receive          Send

App #1: Web,                                             App #2: Web,
Mobile, Desktop,   App 1                        App 2    Mobile,
LOB, RIA, ...                                            Desktop, LOB,
                                                         RIA, ...


                                               without altering network
  topology
Access Control
 Different organizations identify users
  through many different techniques
 Applications can be faced with a confusing
  mess of security related code
 The Access Control Service:
        Implements a security token service (STS) in the
         cloud
        It accepts one token and issues another
        An administrator can define rules for how this
         claims transformation is done
77
•   Many identity providers, one code base

       
       
       
       



 
       
       
       


                     March ‘10                                 V-Next



Labs                                   Advanced messaging features (ie. durability)
            Silverlight support       BizTalk Server integration
            Multicast with Message    Windows Server AppFabric integration
             Buffers                   Web SSO and service federation - WS-Federation
                                       Considering additional identity providers
                                            Windows Live ID, Open ID, Facebook Connect
                                       Management UI
Commercial Information
Windows Azure Platform Consumption Prices




           $0.12/hour                    $0.15 GB/month           $9.99/month              $99.99/month
    + Variable Instance Sizes         $0.01/10K transactions    (scale up to 5 GB)       (scale up to 50 GB)




                                   Per Message Operation             Per Connection

                                $1.99/100k Message Operations      $3.99/connection



Prices shown in USD only                                                              International prices are available
Windows Azure Instance Sizes



      $0.12                   $0.24                $0.48                $0.96




                           Unit of Compute Defined




  1 x 1.6Ghz               2 x 1.6Ghz           4 x 1.6Ghz           8 x 1.6Ghz


1.75 GB memory           3.5 GB memory         7.0 GB memory        14 GB memory
 250 GB storage           500 GB storage      1000 GB storage           2000 GB
(instance storage)       (instance storage)   (instance storage)   (instance storage)
Windows Azure Platform Data Transfer

North America Region                 Europe Region                Asia Pacific Region




                                   N. Europe
      N. Central – US             Sub-region
       Sub-region

                                                    W. Europe       E. Asia
                                                    Sub-region    Sub-region


                S. Central - US
                  Sub-region
                                                                                 S.E. Asia
                                                                                Sub-region




             On-board to Windows Azure platform at no charge
     Off peak times defined as: 10pm-6am Mon-Fri & from 10pm-Fri to 6am-Mon for
                 weekends in each designated regional time zones below

    North America                              Europe                     Asia Pacific
     PST = UTC-8                          WET = UTC                      SST = UTC+8
Enabling customers to deliver content closest to end-users. Leads to better user
                  experience, global reach, & engagement
Introductory                       MSDN                             Biz Spark
         Special                        Premium                              One

   Anyone can try the platform    Subscribers receive monthly        Investing in high potential
     at no charge (monthly       allocation of platform services   start-ups; receive full platform
       service allocations)          at no additional charge            services at no charge




Development Accelerator
UK Azure Pricing – Standard Rates
   Windows Azure                                            AppFabric
       Compute                                                  Access Control
            Small instance (default): £0.0728 per hour              £1.2062 per 100,000 transactions*
            Medium instance: £0.1455 per hour                   Service Bus
            Large instance: £0.291 per hour
                                                                     £2.4184 per connection on a “pay-as-you-go”
            Extra large instance: £0.5819 per hour                   basis*
       Storage                                                      Pack of 5 connections £6.0307*
            £0.091 per GB stored per month                          Pack of 25 connections £30.1535*
            £0.0061 per 10,000 storage transactions
                                                                     Pack of 100 connections £120.6139*
       Content Delivery Network (CDN)
                                                                     Pack of 500 connections £603.0695*
             £0.09 GB CDN Egress

     £100 per month* - Highly Available 2 x
         
                       Data Transfers
             £0.06/100K CDN Storage X-actions             
   SQL Azure                                                    North America and Europe regions
    
        InstanceUp to 1 GB relational
         Web Edition –
         database      Web Application + 0.5TB per GB out
                                            £0.091
                                                    data
                                            £0.0607 per GB in     
                                                                  
            £6.055 per database per month                       Asia Pacific Region
       Business Edition – Up to 10 GB                               £0.1819 per GB in
        relational database
        £6 per month* - Highly Available 1Gb
            £60.604 per database per month
                                                              
                                                                    £0.2728 per GB out
                                                                  Inbound data transfers during off-peak times
                                                                  through June 30, 2010 are at no charge. Prices
        SQL Server database                                       revert to our normal inbound data transfer rates
                                                                  after June 30, 2010


                                                                             * Lots of assumptions and caveats
Some Final Thoughts….
© 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it
     should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO
                                                     WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Understanding the Windows Azure platform - june

  • 1.
    Understanding the WindowsAzure Platform David Gristwood Application Architect, Microsoft blogs.msdn.com/david_gristwood
  • 2.
    Why a CloudPlatform?  Reduce capital & operations costs  Simplify application deployment & management  Simplify scaling to internet scale  Cost effectively handle peak loads  Focus on new functionality & not infrastructure
  • 3.
  • 4.
    Windows Azure isabout Scale • Windows Azure is designed from the ground up for true Internet scale • Global presence • Ride the “network effect” • LinkedIn: 16 months for first million users, 11 days for most recent million • Facebook: 5 years to hit 250m users, 8 months to double • Scale up and scale down • Supports the “Scale Fast, Fail Fast” model www.flickr.com/photos/ScroffTheBad
  • 5.
    Application Characteristics “Scale &Elasticity” • Need massive scale • target.com • walmart.com • Social networking, web 2.0 • toysrus.com • barnesandnoble.com • Need high reliability • LOB, software as a service • Have variable load / unpredictable ~4x normal load lifetime (Holiday shopping) • Ticketing, marketing • Parallel processing • Financial applications • Don’t fit in well with a company’s data center • Avoid IT dept, joint ventures Jan 2009 Jan 2010 • Benefit from external storage • Archive Source: Alexa http://www.flickr.com/photos/39919537@N06/3666813048/
  • 6.
    Helps your SystemsScale • Most architecture is hidden inside code • Windows Azure encourages you to define your application into constituent parts • Windows Azure can scale the parts of your application as appropriate www.flickr.com/photos/39818355@N00/2128626176
  • 7.
    Flexible Architecture • Systemsevolve over time • Cloud is not an “all or nothing” proposition • Windows Azure makes it easier to extend to the cloud www.flickr.com/photos/tomkpunkt/3695066577
  • 8.
    Opening up theCloud • Allow developers to apply their existing skills to the cloud • Support for .NET, Ruby, PHP, Java • Interoperability with any platform, tools or technology www.flickr.com/photos/h19/2306213399/in/set-72157594224557858
  • 9.
    Natural Platform Evolution •Windows Server 2008 • Virtualisation • Windows Services, such as IIS, logging, diagnostics, etc • Visual Studio & .NET
  • 10.
    Flexible Business Model •No up front hardware purchase • Pay as you go costing model • Ideal in current economical climate www.flickr.com/photos/cleebster/2508660124
  • 11.
  • 12.
  • 13.
    Managing Data CentricApplications with Capacity Bursts Challenges Today “Capacity Bursting“ Elastic scale – database as a service Pay as you grow and shrink Easy to provision and manage Capacity Average Time Usage database Compute # of Hr’s Average Usage No hardware, no manual database administration required Promotions, events, ticket selling businesses are “bursts – bound” by nature Capacity constraints limit business agility High costs of entry into new business Difficult to roll out extra capacity quickly Idle capacity “off-bursts” is cost prohibitive
  • 14.
  • 15.
    Northern North Central Europe USA Eastern Asia Western Europe South Central USA Southeast Asia
  • 16.
    Dublin Chicago Amsterdam San Antonio Hong Kong Singapore Hosting locations within 100ms of 100ms of the customer Regional hosting At least one hosting location can can be reached within 100ms, but but not two 200ms Latency from 2 No points to test from or greater regional hosting greater than 200ms latency
  • 17.
    Microsoft has runOnline Services since 1994 1st MSFT datacentre built in 1989 Running Online Services 24x7x365 Global service delivery to 59 markets/36 languages ∙ 30B Live ID authentications/month ∙ 2B Bing queries/month ∙ 10B MSN page views/month ∙ 240B Messenger messages/month Global Infrastructure to Run Your Services World Wide Quincy, WA: Approx 500K sq ft, hydro-powered San Antonio, TX: Approx 475K sq ft, recyclable water Chicago, IL: Approx 700K sq ft, water economization Dublin, Ireland: Approx 303+K sq ft, air economization http://www.globalfoundationservices.com/
  • 18.
    One of world’s largest datacentres using containers, on-line on July 2009  Cost $500 million,  700k sq ft facility (approx 16 football fields)  30 MegaWatts today, 60 MW for future use  Security  ISO 27001:2005 Accreditation - Security Management  SAS 70 Type I and II Attestations - Audit standard for our internal controls system  Containers  40 ft containers with 1800-2500 servers  10 x density traditional datacentres  Optimizes efficiency, reduces wastes & carbon footprint  Delivers an average PUE of 1.22
  • 20.
    First Mega Datacentre built outside the US, on-line on July 2009  Cost $500 million, 303+sq ft facility and growing  EU Datacenter Best Practice Award Winner  Stand-alone Server Pods  Environmentally Sustainable  Free Air-Cooling via Air-Side Economization  50% less energy use vs. traditional facilities  1 % water use vs. traditional facilities  5.4 MegaWatts today, 22.2 MW for future use  ISO 27001:2005 Accreditation  SAS 70 Type I and II Attestations
  • 21.
  • 23.
    The Windows AzurePlatform The Big Picture Windows Azure AppFabric Applications SQL Azure Windows Azure Applications Server Desktop Mobile Others
  • 24.
    Application Compute Storage Config Fabric AppFabric Applications SQL Azure Windows Azure Applications Server Desktop Mobile Others
  • 25.
  • 26.
  • 27.
    Windows Azure Roles  Your role class typically derives from RoleEntryPoint represents role  Do initialization in OnStart()  Do work in Run()  You call into RoleEnvironment to enumerate roles, endpoints, etc  You get called in response to changes in the number of instances in the service  Can force restart
  • 28.
    Windows Azure StorageBuilding Blocks Each storage account can hold up to 100 TB
  • 29.
    Windows Azure Blobs  Provide simple interface for storing named files along with metadata for the file
  • 30.
    Windows Azure Blobfeatures  REST based API  ouraccount.blob.core.windows.net/thecontainer/ myblob  PutBlob, GetBlob, DeleteBlob, CopyBlob, SnapshotBlob, LeaseBlob, etc  Block Blob for streaming + commit-based writes  Page Blob for random read/write  100 Tb per storage account
  • 31.
    Windows Azure Drives  Page Blob formatted as a NTFS single volume Virtual Hard Drive (VHD)  NTFS APIs providing durable file storage on Page Blobs  Drives can be up to 1TB, up to 16 can be mounted  Can upload VHD via Page Blob then mount  Ease migration of existing Windows applications to Azure  Durability and survival of data on application failover or hardware failure
  • 32.
    Windows Azure Tables  Structured storage via entities, containing sets of properties
  • 33.
    Windows Azure Tables  Provides Massively Scalable Structured Storage  Billions of entities (rows) and TBs of data  Can utilise thousands of servers as it scales up  Triple replicated for durability  Familiar and easy to use REST based API  Each entity can have up to 255 properties  PartitionKey & RowKey as key and index  Timestamp for optimistic concurrency  No fixed schema for all other properties  Property is stored as a <name, typed value> pair
  • 34.
    Windows Azure Tables MyTable1 Entity: Sports Car Entity: Car Entity: Customer
  • 35.
    Table Partitions andRows PartitionKey RowKey Timestamp ReleaseDate ……….. (Category) (Title) Action Clash of the Titans … 2010 Action The Bourne … 2007 Ultimatum … … … … Animation Avatar … 2009 Animation How to Train Your … 2010 Dragon … … … … Comedy What Happens in … 2008 Vegas … … … … SciFi Alien 1979 … … … … Horror Halloween … 1978
  • 36.
    Windows Azure Queues  Provide reliable storage and delivery of messages
  • 37.
    Windows Azure Queues Provide reliable storage and delivery of messages  Max size of message 8 Kb  Store URI to blog / table for larger data  No limit to number of messages in a queue  Messages must explicitly be deleted  Message expiration timeout  Message de-queue count for poison messages
  • 38.
  • 39.
  • 40.
    Service Management API ProvideLights-Out Service Management  Manage services programmatically via REST-based API  X509 client certificates for authentication  Viewing, creating, deleting, swapping, modifying configuration settings, etc on deployments
  • 41.
    Windows Azure Diagnostics  Cloud is much harder than single server  Dynamic environment, no local access  Azure Diagnostics built for monitoring & data collection  Focus on what to collect and when  Designed for Azure Logging &  Based on standard APIs Diagnostics  Traces, logs, crash dumps, IIS logs, perf counters, ETW, etc  Upload to Azure storage as required 41
  • 42.
    Service Management CmdLets PowerShell cmdlets wrapping Azure Service Management and Diagnostics API  Simple to script out deployments, upgrades, scaling • Deploy new services • Upgrade services • Manage storage accounts • Transfer diagnostics information
  • 43.
    Service Upgrade Models  Rolling upgrade (aka “In-place”)  Roles are updated across update domains one at a time  Service remains available during upgrade  Real-time hot swap (aka “VIP Swap”)  Virtual IP swap between staging & production  Swap service endpoints of old/new version  Enables complex architectural changes  Planned downtime  Stop and replace service with new version
  • 44.
    Content Delivery Network  Better performance and user experience by caching Azure blobs at strategically placed locations  19 locations globally (United States, Europe, Asia, Australia and South America) and growing Edge Location Edge Location pic1.jpg Edge Location Content Delivery Network pic1.jpg Windows Azure Blob Service
  • 45.
  • 46.
  • 47.
  • 48.
    Windows Azure forApplication Developers Code Software Development Kit Portal Data Relational Data API Develop Deploy Run
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 56.
    account servers  Account   server   Server   database Datab  ase 
  • 57.
    Application Applications use standard SQL client libraries: ODBC, ADO.Net, … Internet Azure Cloud TDS (tcp) Load balancer forwards ‘sticky’ LB sessions to TDS protocol tier TDS (tcp) Gatewa Gatewa Gatewa Gatewa Gatewa Gatewa y y y y y y Gateway: TDS protocol gateway, enforces AUTHN/AUTHZ policy; proxy to backend TDS (tcp) SQL SQL SQL SQL SQL SQL SQL Scalability and Availability: Fabric, Failover, Replication, and Load balancing
  • 58.
    SQL Azure &SQL Server  Similarities  “Just change the connection string”  Same SQL Server core database service & TDS  Differences  Supports subset of SQL Server 2008  Limited to 5Gb or 50Gb database  Different pricing model  No Reporting Services, Analysis Services, etc
  • 59.
         
  • 60.
    SQL Azure Architectures SQL Azure access from SQL Azure access from within the cloud outside the cloud Application/ Browser Application / Tools SOAP/REST HTTP/S Web Role Windows Azure T-SQL (TDS) T-SQL (TDS) SQL Azure SQL Azure “Code Near” “Code Far”
  • 61.
    On-Premises Applications SQL Azure Sync Group SQL SQL Azure Azure Remote Offices & Retail Stores Offline-Capable Cached Mode Applications
  • 63.
    SQL Azure Roadmap  Service Update 2  Multiple Active Result Sets (MARS)  Service Update 3  50 Gb Databases, Spatial support  Incubation  Project “Houston” – new SQL Azure web administration tool  Codename “Dallas” – information as a service  OData service on top of SQL Azure
  • 64.
  • 65.
    OData “ODBC for the Internet” • Uniform way of representing data, URL conventions and operations • Auto generation of OData for SQL Azure OData Consumers Session Reports Dashboard Forms Apps Browser Open Data Protocol Format Query&[Uri] R/W Batching,Versions Metadata + + + OData Producer
  • 66.
  • 67.
    I need data! Marketplace Content Providers Office, Dynamics, Services for SQL Server Standard Data Access (OData) ISV Apps Custom Apps Billing Analytics
  • 68.
    Information as aService  Data or functionality that is “of value to many” – enabling applications, reports, BI analysis, etc…  Examples include GIS/Spatial, traffic, movie show times, crime, real-estate sales, financial data, navigation, census data, reviews, etc…  Various Classifications:  Commercial: clean, supported, and regularly updated from ISVs and Content Providers  Trusted Public Domain: clean, unsupported data from academia and governments (Census, FDA, …)  Crowd Sourced: unreliable data in the public domain from anyone and everyone 68
  • 69.
    http://apps.facebook.com/crimestats http://silverlight.onterrasys.com/CrimeDemo/
  • 70.
    View results in A quick way to explore “Dallas” datasets Learn about data various formats format and perform quick queries Available for every dataset Fill in parameter Click values using “Analyze” to guided help continue exploring in PowerPivot and Excel to create PivotTables, graphs, etc.
  • 72.
  • 73.
    “Infrastructure to helpbuild and manage applications more easily”  Windows Server AppFabric  Caching capabilities (“Velocity”)  Workflow + service hosting (“Dublin”)  Windows Azure Platform AppFabric  Service Bus  Access Control
  • 75.
    Service Bus  Exposing internal applications on the Internet isn’t easy  Network address translation (NAT) and firewalls get in the way  The Service Bus:  Provides a cloud-based intermediary between clients and internal applications  Provides a service registry that clients can use to find the services they need 75
  • 76.
    Service Bus Send Receive Receive Send App #1: Web, App #2: Web, Mobile, Desktop, App 1 App 2 Mobile, LOB, RIA, ... Desktop, LOB, RIA, ... without altering network topology
  • 77.
    Access Control  Differentorganizations identify users through many different techniques  Applications can be faced with a confusing mess of security related code  The Access Control Service:  Implements a security token service (STS) in the cloud  It accepts one token and issues another  An administrator can define rules for how this claims transformation is done 77
  • 78.
    Many identity providers, one code base
  • 79.
            March ‘10 V-Next Labs  Advanced messaging features (ie. durability)  Silverlight support  BizTalk Server integration  Multicast with Message  Windows Server AppFabric integration Buffers  Web SSO and service federation - WS-Federation  Considering additional identity providers  Windows Live ID, Open ID, Facebook Connect  Management UI
  • 80.
  • 82.
    Windows Azure PlatformConsumption Prices $0.12/hour $0.15 GB/month $9.99/month $99.99/month + Variable Instance Sizes $0.01/10K transactions (scale up to 5 GB) (scale up to 50 GB) Per Message Operation Per Connection $1.99/100k Message Operations $3.99/connection Prices shown in USD only International prices are available
  • 83.
    Windows Azure InstanceSizes $0.12 $0.24 $0.48 $0.96 Unit of Compute Defined 1 x 1.6Ghz 2 x 1.6Ghz 4 x 1.6Ghz 8 x 1.6Ghz 1.75 GB memory 3.5 GB memory 7.0 GB memory 14 GB memory 250 GB storage 500 GB storage 1000 GB storage 2000 GB (instance storage) (instance storage) (instance storage) (instance storage)
  • 84.
    Windows Azure PlatformData Transfer North America Region Europe Region Asia Pacific Region N. Europe N. Central – US Sub-region Sub-region W. Europe E. Asia Sub-region Sub-region S. Central - US Sub-region S.E. Asia Sub-region On-board to Windows Azure platform at no charge Off peak times defined as: 10pm-6am Mon-Fri & from 10pm-Fri to 6am-Mon for weekends in each designated regional time zones below North America Europe Asia Pacific PST = UTC-8 WET = UTC SST = UTC+8
  • 85.
    Enabling customers todeliver content closest to end-users. Leads to better user experience, global reach, & engagement
  • 87.
    Introductory MSDN Biz Spark Special Premium One Anyone can try the platform Subscribers receive monthly Investing in high potential at no charge (monthly allocation of platform services start-ups; receive full platform service allocations) at no additional charge services at no charge Development Accelerator
  • 88.
    UK Azure Pricing– Standard Rates  Windows Azure  AppFabric  Compute  Access Control  Small instance (default): £0.0728 per hour  £1.2062 per 100,000 transactions*  Medium instance: £0.1455 per hour  Service Bus  Large instance: £0.291 per hour  £2.4184 per connection on a “pay-as-you-go”  Extra large instance: £0.5819 per hour basis*  Storage  Pack of 5 connections £6.0307*  £0.091 per GB stored per month  Pack of 25 connections £30.1535*  £0.0061 per 10,000 storage transactions  Pack of 100 connections £120.6139*  Content Delivery Network (CDN)  Pack of 500 connections £603.0695* £0.09 GB CDN Egress £100 per month* - Highly Available 2 x   Data Transfers £0.06/100K CDN Storage X-actions   SQL Azure  North America and Europe regions  InstanceUp to 1 GB relational Web Edition – database Web Application + 0.5TB per GB out £0.091 data £0.0607 per GB in    £6.055 per database per month  Asia Pacific Region  Business Edition – Up to 10 GB  £0.1819 per GB in relational database £6 per month* - Highly Available 1Gb  £60.604 per database per month   £0.2728 per GB out Inbound data transfers during off-peak times through June 30, 2010 are at no charge. Prices SQL Server database revert to our normal inbound data transfer rates after June 30, 2010 * Lots of assumptions and caveats
  • 89.
  • 90.
    © 2010 MicrosoftCorporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.