SlideShare a Scribd company logo
Windows Azure Platform
    Technical Deep Dive

    Chris J.T. Auld
    Director
    Intergen Ltd
    chris.auld@intergen.co.nz
    twitter.com/cauld

1
Notes Before We Begin
  I don’t work for Microsoft
    Will call a ‘spade a spade’ today
  Azure is a young technology
    Best practices are still emerging
  We focus on architecture in this session
    A Few Demos only
    No prior experience assumed
  We have lots of attendees and just a little time
    Questions at the end please
TicketDirect: An example application
  TicketDirect is a ticketing company in Australia
  and New Zealand
  Ticketing is uniquely suited to the cloud

  Will use TicketDirect as real world example
  today
TicketDirect Architecture
     Azure Roles                                                                                          Client Applications

                                                                                           .Net Service Bus    Castellan.Azure
                                                                                                               • Box Office sales
                                                                                                               • Ticket Printing
                                                                                                               • System Administration
                                                                                                               • Venue/Event Management
    http:// TicketDirect .* Dynamic Worker     Distributed Cache      Partitioner                  WCF         • Partitioning
                            (tasks uploaded          Worker             Worker
                                as blobs)




    Azure Storage                                                                                               On Premise
                 Blobs to store
                                     -- ----
                                                  Tables to                   Queues for                        SQL Server
                 web and
                 worker role
                                      --          record
                                                  server &
                                                                              communication
                                                                              between clients
                 resources
                                     -- ----
                                      --          partition                   and roles
                                                  information                                                    Castellan        Venue

    SQL Azure

                           Castellan            Castellan             Castellan
                            Castellan            Castellan             Castellan          ...
       Castellan           Venue DB 1
                              Venue
                           Venue DB’s           Venue DB 2
                                                   Venue
                                                Venue DB’s            Venue DB N
                                                                        Venue
                                                                      Venue DB’s
                            Partition(s)         Partition(s)          Partition(s)                                 Castellan.old (VB6)

    One application DB, many venue DB’s – each partitioned in to many parts (40+)



4
A Global Hardware Platform
     Global Foundation Services
     http://www.globalfoundatonservices.com
     6 Azure Data Centers
        Europe - West/North
        Asia – East/Southeast
        USA – South Central/North
        Central
     New containerised data
     centers
        Approaching PUE of 1.2
        Thousands of computation
        units

5
The High Scale Application Archetype
    Windows Azure provides a ‘pay-as-you-go’ scale out application platform

                       Intelligent Network Load Balancer

                                           Network Activation


                   Stateless Web and/or Application Servers


        Stateless ‘Worker’ Machines

                        Async Activation

       State                       ‘NoSQL’     Partitioned      Shared
                     Queues
       Tier                       Datastores     RDBMS        Filesystem
6
Azure Service Architecture

                                   The Internet
                             The Internet via TCP or HTTP




            LB                                                    LB
                                           LB



                                         Queues

        Web Site                                               Worker
                                                            Worker Role
                                                              Worker
       Web Site
      Web ASMX, WCF)
      (ASPX, Role                                              Service
                                                             Managed
      (ASPX, ASMX, WCF)
       IIS as Host                                            Service
                                                            Interface Calll

                                                  Blobs
                               Tables
                                        Storage



                          Windows Azure Data Center
7
Cloud != Cloud




8
Windows Azure
     Your
    Service
                    D
                    N
                    S



                             L
                             B




       Web Portal
         (API)
                                     L
                           Fabric    B


                        Controller




9
Service Deployment
        Your
     Service   Model
       Service
                       D
                       N
                       S



                                    L
                                    B




         Web Portal
           (API)
                           DNS
                           config          L
                                 Fabric    B

                              Controller




10
Hello Windows Azure




11
Service Update
        Your
     Service   Model
       Service
                                             Service
                       D
                           production
                       N
                       S
                           staging
                                                       Service
                                       L
                                       B




         Web Portal
           (API)
                             DNS
                             config
                              config           L
                                   Fabric      B

                                Controller




12
Upgrading Your Application
      Two Models: VIP Swap and In-Place Upgrade
      VIP Swap:
        Uses Staging and Production environments.
        Allows to quickly swap environments.
        Production: v1  Staging: v2, after swap then
        Production: v2  Staging: v1.
      In-Place Upgrade
        Performs a rolling upgrade on live service.
        Entire service or a single role
        Manual or Automatic across update domains
        Cannot change Service Model
13
Fault and Upgrade Domains



       Instance   Instance       Instance




       Instance   Instance       Instance



14
Configuration
      Service Configuration
        Serviceconfiguration.csdef – Service Model
        ServiceConfiguration.cscfg – instance data

      RoleEnvironment.GetConfigurationSettingValue()

      Don’t use web.config for values you wish to
      change at runtime
        Web.config change requires re-deploy

15
Service Scaling
      Your
     Service                                                    Service

                        D
                                                 Service
                        N
                        S
                                                                   Service
                                       Service                               Service

                                   L             Service
                                   B
                                                               Service


                                                     Service
         Web Portal
           (API)
                                                               L
                                 Fabric                        B


                              Controller
                      Model




16
Rule Based Auto- Scaling
  Use Service Management API
  Predicable or Periodic Demand
    Time based rules
  Unpredictable demand
    Monitor metrics and react accordingly
Monitor metrics
  Primary metrics (actual work done)
    Requests per Second
    Queue messages processed / interval
  Secondary metrics
    CPU Utilization
    Queue length
    Response time
  Derivative metrics
    Rate of change of queue length
    Use ‘historical’ data to help predict requirements
Evaluating Business Rules
  Are requests taking too long?
  Do I have too many jobs in my queue?
  How much money have I spent this month?

  Could write these into code.
  Could build some sort of rules engine.
  Could use WF rules engine.
Take Action
  Add/Remove Instances
    Use Service Management API
    Don’t forget billing window is 1hr
  Change role size
    Requires change to *.csdef
    Most suited to Worker Roles
  Send notifications
    Email
    IM
  Manage momentum
Service Monitoring & Recovery
      Your
     Service
                        D
                                             Service
                        N
                        S
                                                                 Service

                                   L
                                   B       Service     Service



         Web Portal
           (API)
                                                       L
                                 Fabric                B


                              Controller
                      Model




21
Monitoring
      No Debugging in Cloud
      Instrument your application using Trace, Debug
      Use Diagnostics API to Configure and Collect
        Event Logs
        Performance Counters
        Trace/Debug information (logging)
        IIS Logs, Failed Request Logs
      Request data on demand or scheduled
        Transferred into your table and/or blob storage
      Everything is remotely configurable


22
Hello Windows Azure v2




23
Storage
      Scalable storage in Azure Datacenter
        100tb per storage account
      Accessible via RESTful Web Service API
        Access from Azure Compute
        Access from anywhere via internet
        Supporting .NET Client Library
      Various storage types
        Table
        Queue
        Blob
          Drives
24
Storage
      Tables                             Blobs
        Table = group of entities          Large binary storage
        Entity = name/value pairs          Stored in container
        Partitioned by key                 Unlimited containers
          Scale out to Bns of entities     CDN Deliverable
        Not an RDBMS


     Queues
       Simple message queue
       Not transactional
         Read at least once
         Delete to remove message,
         otherwise is returned to
         queue
25
         Partitioned by Queue Name
Using Queues for Async Processing
                 1.   User uploads large image file
                 2.   Image inserted into blog storage
                 3.   Message placed on queue incl BLOB URI and metadata
                 4.   Worker role is polling queue. Reads message from queue
     30mb JPEG
                 5.   Worker role processes message, reads from BLOB storage, generates thumbnail
                 6.   Thumnail and metadata stored in Table storage
                 7.   Message deleted from queue


         Web Role                                                            Worker Role
          Web Role                                Table                       Worker Role
                                                                               Worker Role
                                                                                Worker Role
                                               Blob30mb JPEG
                                                    Container

                             LB                                         LB
                                                  Queue
                                                Storage


26
Idempotency
     f(x) = f(f(x))
     Queues are NOT transactional




27
First Step For Software Architects
       If you expect to write documents mentioning
       idempotency
       Open word
       Type idempotency
       Right click
       Choose add to dictionary




        WARNING: Failure to follow these steps will surely see you sending an
      important architecture and design document to a client with the ‘corrected’
                           spelling of the word...impotency


28
Messages Process At Least Once
                        1. Debit bank account $100 message
                        2. Worker role reads message
                        3. Balance debited $100
                        4. Worker role is torn before message can be deleted
                        5. 3 minutes later, message re-appears on queue
                        6. Worker role reads message
                        7. Balance debited $100
                        8. Message deleted from queue
                        9. Chaos ensues.....
                        10. Customer calls bank.....
                                    Balance = $800
                                               $900
                                    Balance = $1000
       Web Role                                                      Worker Role
        Web Role                                                      Worker Role
                                                                       Worker Role
                                                                        Worker Role


                   LB                                           LB

                                          Queue

29                                      Storage
Solving The Idempotency Problem
            1. Debit bank account $100 message with transaction ID
            2. Worker role reads message. Checks transaction ID not present.
            3. Writes transaction ID with state ‘Started’ to ‘Replay Log’
            4. Balance debited $100
            5. Worker role is torn before message can be deleted
            6. 3 minutes later, message re-appears on queue
            7. Worker role reads message. Checks transaction ID. It is present in state started
            8. Compensating message written to another queue
            9. Message deleted from queue
            10. Compensatory message processed.
                                  Balance = $1000
                                   Balance = $900

       Web Role                                       Query           Worker Role
        Web Role                                                       Worker Role
                                         Table                          Worker Role
                                                                         Worker Role
                                          Queue


                   LB                                            LB

                                         Queue

30
                                       Storage
Azure Tables
     Not an RDBMS




31
Azure Table Storage – Key Points
       Partition Key is the killer feature
         Partitions are Auto-Balanced
         No need to partition into equal bins
       Hot partitions may be scaled up
         Azure fabric may dedicate more resources to
         partitions with high Tx load
       Partition Key AND Row Key = Primary Key
         Must include PartitionKey for
         Create,Update,Delete
         Select queries across partitions parallelized,
         resource intensive and potentially more
32
         expensive!
Azure Table Storage – Key Points
       Continuation Tokens May Be Returned from
       Cross Partition Queries
         Any query not including the PartitionKey needs
         to handle Continuation tokens
         http://tinyurl.com/ContToken
       Key Columns Up to 1KB in size
         Should aim to keep to 260 char URI limit
       Be aggressive
       e.g. Only ever query by an ID?
       RowKey = PartitionKey
         All queries should include partition key
33
NoSQL/Non-Relational
     Data Modelling




34
Azure Tables != RDBMS
 Storage is cheap
 Cross partition queries are resource intensive

 De-normalization and massive duplication often
 name of the game
E.g. Tweet Storage
                 Tweet
                 TweetID
                 UserID
                 DateTimeStamp
                 Message




36
E.g. Tweet Storage

      Tweet               TweetWord               Word
      …                   TweetID                 WordID
      Message             WordID                  Word (IX)




                Tweet                 Word
                …                     WordID
                Message               Word (IX)



37
E.g. Tweet Storage


      Tweet               TweetIndex
      TweetID (RK)        TweetID (RK)
      UserID (PK)         UserID
      DateTimeStamp       DateTimeStamp
      Message             Message
                          Word (PK)




38
E.g. Tweet Storage


      Tweet               MentionIndex
      TweetID (RK)        TweetID (RK)
      UserID (PK)         UserID
      DateTimeStamp       DateTimeStamp
      Message             Message
                          UserID (PK)




39
Pricing
       Compute
         $0.12 / CPU hour (or part thereof)
           ~ 1.7 GHz, 2GB Ram, Single Core
         $2.88 / Day
         $86.4 / 30 days (billing period)
         2 instances = $172.80 / month
       Storage
         $0.15 / GB/Month
         $.01 / 10,000 calls to storage web service
       Bandwidth
         $0.30 /GB inbound to Asian datacenters
40
         $0.45 /GB outbound from Asian datacenters
Design Considerations
      Scale and availability are the design points
      Storage isn’t a relational database
      Stateless
        Stateless front ends, store state in storage
      Use queues to decouple components
      Instrument your application (Trace)
      Once you are on - stay on
      Think about patching & updates


41
SQL Azure


                                                  Business
                     Data Sync     Reporting
                                                Intelligence




 Initial Services
     Database
     Core SQL Server database capabilities in cloud optimized topology
     Highly compatible with on premise SQL Server
 Future Services
     Data Sync – Enables the sync framework
     Additional SQL Server capabilities available as a service:
     Business Intelligence and Reporting
SQL Azure Details
  SQL Azure provides logical SQL Server
    Gateway server that understands TDS protocol
    Looks like SQL Server to TDS Client
    Actual data stored on multiple backend data nodes
  Logical optimisations supported
    Indexes, Query plans etc..
  Physical optimisations not supported
    File Groups, Partitions etc…

SQL Azure transparently manages physical storage
SQL Azure
     Deployment
              Web Portal
                (API)




      DB
     Script
                           SQL Azure
                             TDS




44
SQL Azure
     Accessing databases
              Web Portal
                (API)




       Your                SQL Azure
                             TDS
       App



 Change Connection String


45
SQL Azure




46
Database Replicas

                         Replica 1




                         Replica 2
                 DB


                         Replica 3




47
Shared Environment

                                                   C
                           D
       A              B          D

       Hardware Boundary       Hardware Boundary



            C                            C
                                A              B
        A             B              D

       Hardware Boundary       Hardware Boundary


48
SQL Azure
     Database Monitoring & Recovery
              Web Portal
                (API)




       Your
       App
                           SQL Azure
                             TDS
                                       !


49
Design Considerations
      1 x 10GB database
        1 Instances
      10 x 1GB databases
        10 Instances

      Partition for
        Data volume
        Query load




50
SQL Azure – Key Points
      Partition for
        Data volume > 10GB
        Transaction throttle (non deterministic)
        Always code for retry
      All partition logic up to the developer
        Algorithmic
        Lookup based
      Partitions are not Auto-Balanced
        Need to aim for ‘equal’ partitions
        ‘Equal’ not necessarily the same size
51
Choosing a Partition Key
      Natural Keys
        Country
        First letter, last name
        Date
      Mathematical
        Hash functions
        Modulo operator
      Lookup Based
        Lookup table to resolve value to partitions


52
Using Modulo
      The remainder of a division
      Nice properties for partitioning:
        Given two positive integers M and N
        M mod N will return a number between 0 and N-1

      Want equi-sized partitions?
        Given an appropriate distribution of M we will get N
        ‘equally full’ buckets.



53
Using Hash Values
      Using A Hash Function Projects One
      Distribution into Another
      Use a hash function that projects a random
      distribution
      Do NOT use a cryptographic hash function
      Plenty of choice on the web
        http://tinyurl.com/part-hash
      Be careful if using Object.GetHashCode()


54
SQL Azure Partitioning




55
Just in time Partitioning
       In SQL Azure Partitions Cost Money
       In highly elastic scenarios partitions may be
       needed for just a few hours or days
       If load is predictable
         Partition before load commences
         De-partition after load has subsided




56
Pricing
     WEB Edition                               Business Edition

      1 GB Database                               10GB Database
      $9.99 / month                               $99.99 / month
      Bandwidth                                   Bandwidth
           $0.10 /GB inbound                         $0.10 /GB inbound
           $0.15 /GB outbound                        $0.15 /GB outbound



       •    Pro rated by the day or part thereof
       •    Can move up and down between sizes
       •    SQL Azure has no query charge
       •    Excessively long transactions or high query load may result in throttling
       •    50GB database size in Beta
57
Windows Azure Platform AppFabric
     Extending .NET to the cloud with Internet Scale Utility Services




     Service Bus:
        General purpose application messaging bus
     Access Control:
        Rules-driven, claims-based access control

58
Simplified, Secure Connectivity for the Cloud
Service Bus and Access Control in Windows Azure platform
AppFabric are powerful building blocks.
                              Secure Connectivity
                              • Bridge cloud services, on-premises apps, and hosted
                                assets
                              • Build distributed apps for your business or to
                                collaborate with partners

   AppFabric SERVICE BUS      Across boundaries
    Connect apps & services   • Navigate network and security boundaries, securely
                                and simply
                              • Federate identity and access across organizations
                                and ID providers
                              • Simplify claims-based authorization for distributed
                                apps and web services

                              At Cloud Scale
 AppFabric ACCESS CONTROL     • Scale up and down as your business requires
    Control & secure access   • Automated service mgmt. and dynamic scale
                              • Interoperate with a variety of languages and
                                industry standards
AppFabric Service Bus Connectivity


Text
XML
Graphics
Binary Data                Receive                Receive
Streaming



    Firewall
      Send                                                             Send
                        Exchange messages between loosely
                          coupled, composite applications.


                          Direct Connection facilitated by
       Application #1        Service Bus if that is best     Application #2
                              connection mechanism.
Service Bus




61
Architecture of AppFabric Access Control

                                                           3. Map input claims to
                                                              output claims based
          1. Define access                                    on access control rules
             control rules          Your Access
                                   Control Project

         0. Trust exchanged;                                  4. Return token
            secrets, certs                                       (output claims from 3)

                                  2. Send token (initial
6. Check for claims
                                  claims; e.g. identity)

          Your App                                                      User
        (Relying Part)                                               (Application)
                               5. Send token with request
Pricing & SLA
      $1.99 / 100k ACS transactions
      Connections
        $3.99/connection/month
        Packages available
      Bandwidth
        $0.10 /GB inbound
        $0.15 /GB outbound




63
TicketDirect: An example application
  TicketDirect is a ticketing company in Australia
  and New Zealand
  Ticketing is uniquely suited to the cloud

  Will use TicketDirect as real world example
  today
TicketDirect Architecture
      Azure Roles                                                                                          Client Applications

                                                                                            .Net Service Bus    Castellan.Azure
                                                                                                                • Box Office sales
                                                                                                                • Ticket Printing
                                                                                                                • System Administration
                                                                                                                • Venue/Event Management
     http:// TicketDirect .* Dynamic Worker     Distributed Cache      Partitioner                  WCF         • Partitioning
                             (tasks uploaded          Worker             Worker
                                 as blobs)




     Azure Storage                                                                                               On Premise
                  Blobs to store
                                      -- ----
                                                   Tables to                   Queues for                        SQL Server
                  web and
                  worker role
                                       --          record
                                                   server &
                                                                               communication
                                                                               between clients
                  resources
                                      -- ----
                                       --          partition                   and roles
                                                   information                                                    Castellan        Venue

     SQL Azure

                            Castellan            Castellan             Castellan
                             Castellan            Castellan             Castellan          ...
        Castellan           Venue DB 1
                               Venue
                            Venue DB’s           Venue DB 2
                                                    Venue
                                                 Venue DB’s            Venue DB N
                                                                         Venue
                                                                       Venue DB’s
                             Partition(s)         Partition(s)          Partition(s)                                 Castellan.old (VB6)

     One application DB, many venue DB’s – each partitioned in to many parts (40+)



65
Windows Azure Platform Benefits

     The Cloud                    Windows Azure
      New Economic Model           High Level of Abstraction
        Low Capex                    Hardware
        Pay as you Go                Server OS
      Elastic Scale                  Network Infrastructure
        Only solvable via Cloud      Web Server
      Global Distribution          Availability
        Global data centers          Automated Service Management
                                     Azure CDN
                                   Scalability
                                     Instance & Partitions
                                   Developer Experience
                                     Familiar Developer Tools
66
Windows Azure Platform Benefits

     AppFabric                               SQL Azure
      High Performance Messaging               Higher Level of Abstraction
        Massively scalable                       Hardware
        HTTP and Raw TCP                         Server OS
      Access Control                             Network Infrastructure
        Less brittle apps due to factoring       Database Server
        out rules                              Availability
      Developer Experience                       Automated Database
        Familiar Developer Tools                 Management & Replication
        WCF bindings                           Scalability
                                                 Databases Partitioning
                                               Developer Experience
                                                 Familiar SQL Environment
67
Windows Azure Platform Technical Deep Dive - Chris Auld (Intergen)

More Related Content

What's hot

NIC - Windows Azure Pack - Level 300
NIC - Windows Azure Pack - Level 300NIC - Windows Azure Pack - Level 300
NIC - Windows Azure Pack - Level 300
Kristian Nese
 
Drupal in the Cloud with Windows Azure
Drupal in the Cloud with Windows AzureDrupal in the Cloud with Windows Azure
Drupal in the Cloud with Windows Azure
Ford AntiTrust
 
Understanding The Azure Platform March 2010
Understanding The Azure Platform   March 2010Understanding The Azure Platform   March 2010
Understanding The Azure Platform March 2010
DavidGristwood
 
Creation of cloud application using microsoft azure by vaishali sahare [katkar]
Creation of cloud application using microsoft azure by vaishali sahare [katkar]Creation of cloud application using microsoft azure by vaishali sahare [katkar]
Creation of cloud application using microsoft azure by vaishali sahare [katkar]
vaishalisahare123
 
Unplugged
UnpluggedUnplugged
Unplugged
Nigel Parker
 
The Windows Azure Platform: A Perspective - David Chappell
The Windows Azure Platform: A Perspective - David ChappellThe Windows Azure Platform: A Perspective - David Chappell
The Windows Azure Platform: A Perspective - David Chappell
Spiffy
 
Migrating Apps To Azure
Migrating Apps To AzureMigrating Apps To Azure
Migrating Apps To Azure
Harish Ranganathan
 
Windows Azure Datasheet
Windows Azure DatasheetWindows Azure Datasheet
Windows Azure Datasheet
Windows Azure
 
Windows Azure Platform - Jonathan Wong
Windows Azure Platform - Jonathan WongWindows Azure Platform - Jonathan Wong
Windows Azure Platform - Jonathan Wong
Spiffy
 
A Lap Around Azure
A Lap Around AzureA Lap Around Azure
A Lap Around Azure
DavidGristwood
 
Cloud Computing & Windows Azure
Cloud Computing & Windows AzureCloud Computing & Windows Azure
Cloud Computing & Windows Azure
yeschandana
 
Microsoft Azure : Microsoft Strategy for Cloud Computing
Microsoft Azure : Microsoft Strategy for Cloud Computing Microsoft Azure : Microsoft Strategy for Cloud Computing
Microsoft Azure : Microsoft Strategy for Cloud Computing
NstdaAcademy Nstda
 
Microsoft Azure Overview Infographic
Microsoft Azure Overview InfographicMicrosoft Azure Overview Infographic
Microsoft Azure Overview Infographic
Microsoft Azure
 
Deploying asp.net and mvc applications to azure
Deploying asp.net and mvc applications to azureDeploying asp.net and mvc applications to azure
Deploying asp.net and mvc applications to azure
Glyn Darkin
 
Microsoft Azure
Microsoft AzureMicrosoft Azure
Microsoft Azure
Mohab El-Shishtawy
 
Going to the cloud with Microsoft and ITAdviser_Windows Azure overview for IT...
Going to the cloud with Microsoft and ITAdviser_Windows Azure overview for IT...Going to the cloud with Microsoft and ITAdviser_Windows Azure overview for IT...
Going to the cloud with Microsoft and ITAdviser_Windows Azure overview for IT...
Olimpia Oancea
 
Developing and deploying windows azure applications
Developing and deploying windows azure applicationsDeveloping and deploying windows azure applications
Developing and deploying windows azure applications
Manish Corriea
 
Windows Azure Overview
Windows Azure OverviewWindows Azure Overview
Windows Azure Overview
Pankaj Bajaj
 
Mesh-Enabled Web Applications
Mesh-Enabled Web ApplicationsMesh-Enabled Web Applications
Mesh-Enabled Web Applications
goodfriday
 
Integrating sps 2010 and windows azure
Integrating sps 2010 and windows azureIntegrating sps 2010 and windows azure
Integrating sps 2010 and windows azure
Manish Corriea
 

What's hot (20)

NIC - Windows Azure Pack - Level 300
NIC - Windows Azure Pack - Level 300NIC - Windows Azure Pack - Level 300
NIC - Windows Azure Pack - Level 300
 
Drupal in the Cloud with Windows Azure
Drupal in the Cloud with Windows AzureDrupal in the Cloud with Windows Azure
Drupal in the Cloud with Windows Azure
 
Understanding The Azure Platform March 2010
Understanding The Azure Platform   March 2010Understanding The Azure Platform   March 2010
Understanding The Azure Platform March 2010
 
Creation of cloud application using microsoft azure by vaishali sahare [katkar]
Creation of cloud application using microsoft azure by vaishali sahare [katkar]Creation of cloud application using microsoft azure by vaishali sahare [katkar]
Creation of cloud application using microsoft azure by vaishali sahare [katkar]
 
Unplugged
UnpluggedUnplugged
Unplugged
 
The Windows Azure Platform: A Perspective - David Chappell
The Windows Azure Platform: A Perspective - David ChappellThe Windows Azure Platform: A Perspective - David Chappell
The Windows Azure Platform: A Perspective - David Chappell
 
Migrating Apps To Azure
Migrating Apps To AzureMigrating Apps To Azure
Migrating Apps To Azure
 
Windows Azure Datasheet
Windows Azure DatasheetWindows Azure Datasheet
Windows Azure Datasheet
 
Windows Azure Platform - Jonathan Wong
Windows Azure Platform - Jonathan WongWindows Azure Platform - Jonathan Wong
Windows Azure Platform - Jonathan Wong
 
A Lap Around Azure
A Lap Around AzureA Lap Around Azure
A Lap Around Azure
 
Cloud Computing & Windows Azure
Cloud Computing & Windows AzureCloud Computing & Windows Azure
Cloud Computing & Windows Azure
 
Microsoft Azure : Microsoft Strategy for Cloud Computing
Microsoft Azure : Microsoft Strategy for Cloud Computing Microsoft Azure : Microsoft Strategy for Cloud Computing
Microsoft Azure : Microsoft Strategy for Cloud Computing
 
Microsoft Azure Overview Infographic
Microsoft Azure Overview InfographicMicrosoft Azure Overview Infographic
Microsoft Azure Overview Infographic
 
Deploying asp.net and mvc applications to azure
Deploying asp.net and mvc applications to azureDeploying asp.net and mvc applications to azure
Deploying asp.net and mvc applications to azure
 
Microsoft Azure
Microsoft AzureMicrosoft Azure
Microsoft Azure
 
Going to the cloud with Microsoft and ITAdviser_Windows Azure overview for IT...
Going to the cloud with Microsoft and ITAdviser_Windows Azure overview for IT...Going to the cloud with Microsoft and ITAdviser_Windows Azure overview for IT...
Going to the cloud with Microsoft and ITAdviser_Windows Azure overview for IT...
 
Developing and deploying windows azure applications
Developing and deploying windows azure applicationsDeveloping and deploying windows azure applications
Developing and deploying windows azure applications
 
Windows Azure Overview
Windows Azure OverviewWindows Azure Overview
Windows Azure Overview
 
Mesh-Enabled Web Applications
Mesh-Enabled Web ApplicationsMesh-Enabled Web Applications
Mesh-Enabled Web Applications
 
Integrating sps 2010 and windows azure
Integrating sps 2010 and windows azureIntegrating sps 2010 and windows azure
Integrating sps 2010 and windows azure
 

Similar to Windows Azure Platform Technical Deep Dive - Chris Auld (Intergen)

Windows Sql Azure Cloud Computing Platform
Windows Sql Azure Cloud Computing PlatformWindows Sql Azure Cloud Computing Platform
Windows Sql Azure Cloud Computing Platform
Eduardo Castro
 
Windows Azure Overview
Windows Azure OverviewWindows Azure Overview
Windows Azure Overview
Eric Nelson
 
Windows Azure - Ericnel
Windows Azure  -  EricnelWindows Azure  -  Ericnel
Windows Azure - Ericnel
ukdpe
 
Scalable Architecture on Amazon AWS Cloud - Indicthreads cloud computing conf...
Scalable Architecture on Amazon AWS Cloud - Indicthreads cloud computing conf...Scalable Architecture on Amazon AWS Cloud - Indicthreads cloud computing conf...
Scalable Architecture on Amazon AWS Cloud - Indicthreads cloud computing conf...
IndicThreads
 
SQL Data Service Overview
SQL Data Service OverviewSQL Data Service Overview
SQL Data Service Overview
Eric Nelson
 
Prodware wa college - marcel meijer
Prodware   wa college - marcel meijerProdware   wa college - marcel meijer
Prodware wa college - marcel meijer
Freelance Consultant / Manager / co-CTO
 
SQL Server 2008 R2 Parallel Data Warehouse
SQL Server 2008 R2 Parallel Data WarehouseSQL Server 2008 R2 Parallel Data Warehouse
SQL Server 2008 R2 Parallel Data Warehouse
Mark Ginnebaugh
 
Microsoft PaaS Cloud Windows Azure Platform
Microsoft PaaS Cloud Windows Azure PlatformMicrosoft PaaS Cloud Windows Azure Platform
Microsoft PaaS Cloud Windows Azure Platform
Esri
 
Scalable Services For Digital Preservation Ross King
Scalable Services For Digital Preservation Ross KingScalable Services For Digital Preservation Ross King
Scalable Services For Digital Preservation Ross King
DigitalPreservationEurope
 
AWS for Start-ups - Case Study - Go Squared
AWS for Start-ups - Case Study - Go SquaredAWS for Start-ups - Case Study - Go Squared
AWS for Start-ups - Case Study - Go Squared
Amazon Web Services
 
Choosing Your Windows Azure Platform Strategy
Choosing Your Windows Azure Platform StrategyChoosing Your Windows Azure Platform Strategy
Choosing Your Windows Azure Platform Strategy
drmarcustillett
 
Lap around the Windows Azure Platform - ericnel
Lap around the Windows Azure Platform - ericnelLap around the Windows Azure Platform - ericnel
Lap around the Windows Azure Platform - ericnel
Eric Nelson
 
Play with cloud foundry
Play with cloud foundryPlay with cloud foundry
Play with cloud foundry
Peng Wan
 
CloudStack Collaboration Conference 12; Refactoring cloud stack
CloudStack Collaboration Conference 12; Refactoring cloud stackCloudStack Collaboration Conference 12; Refactoring cloud stack
CloudStack Collaboration Conference 12; Refactoring cloud stack
buildacloud
 
Sql azure introduction
Sql azure introductionSql azure introduction
Sql azure introduction
Suherman .
 
SQLUG event: An evening in the cloud: the old, the new and the big
 SQLUG event: An evening in the cloud: the old, the new and the big  SQLUG event: An evening in the cloud: the old, the new and the big
SQLUG event: An evening in the cloud: the old, the new and the big
Mike Martin
 
WSO2 Carbon and WSO2 Stratos Summer Release Roundup
WSO2 Carbon and WSO2 Stratos Summer Release Roundup WSO2 Carbon and WSO2 Stratos Summer Release Roundup
WSO2 Carbon and WSO2 Stratos Summer Release Roundup
WSO2
 
MEW22 22nd Machine Evaluation Workshop Microsoft
MEW22 22nd Machine Evaluation Workshop MicrosoftMEW22 22nd Machine Evaluation Workshop Microsoft
MEW22 22nd Machine Evaluation Workshop Microsoft
Lee Stott
 
Introduction to the SQL and Windows Azure Platform
Introduction to the SQL and Windows Azure PlatformIntroduction to the SQL and Windows Azure Platform
Introduction to the SQL and Windows Azure Platform
Eduardo Castro
 
C fowler intro-azure
C fowler intro-azureC fowler intro-azure
C fowler intro-azure
sdeconf
 

Similar to Windows Azure Platform Technical Deep Dive - Chris Auld (Intergen) (20)

Windows Sql Azure Cloud Computing Platform
Windows Sql Azure Cloud Computing PlatformWindows Sql Azure Cloud Computing Platform
Windows Sql Azure Cloud Computing Platform
 
Windows Azure Overview
Windows Azure OverviewWindows Azure Overview
Windows Azure Overview
 
Windows Azure - Ericnel
Windows Azure  -  EricnelWindows Azure  -  Ericnel
Windows Azure - Ericnel
 
Scalable Architecture on Amazon AWS Cloud - Indicthreads cloud computing conf...
Scalable Architecture on Amazon AWS Cloud - Indicthreads cloud computing conf...Scalable Architecture on Amazon AWS Cloud - Indicthreads cloud computing conf...
Scalable Architecture on Amazon AWS Cloud - Indicthreads cloud computing conf...
 
SQL Data Service Overview
SQL Data Service OverviewSQL Data Service Overview
SQL Data Service Overview
 
Prodware wa college - marcel meijer
Prodware   wa college - marcel meijerProdware   wa college - marcel meijer
Prodware wa college - marcel meijer
 
SQL Server 2008 R2 Parallel Data Warehouse
SQL Server 2008 R2 Parallel Data WarehouseSQL Server 2008 R2 Parallel Data Warehouse
SQL Server 2008 R2 Parallel Data Warehouse
 
Microsoft PaaS Cloud Windows Azure Platform
Microsoft PaaS Cloud Windows Azure PlatformMicrosoft PaaS Cloud Windows Azure Platform
Microsoft PaaS Cloud Windows Azure Platform
 
Scalable Services For Digital Preservation Ross King
Scalable Services For Digital Preservation Ross KingScalable Services For Digital Preservation Ross King
Scalable Services For Digital Preservation Ross King
 
AWS for Start-ups - Case Study - Go Squared
AWS for Start-ups - Case Study - Go SquaredAWS for Start-ups - Case Study - Go Squared
AWS for Start-ups - Case Study - Go Squared
 
Choosing Your Windows Azure Platform Strategy
Choosing Your Windows Azure Platform StrategyChoosing Your Windows Azure Platform Strategy
Choosing Your Windows Azure Platform Strategy
 
Lap around the Windows Azure Platform - ericnel
Lap around the Windows Azure Platform - ericnelLap around the Windows Azure Platform - ericnel
Lap around the Windows Azure Platform - ericnel
 
Play with cloud foundry
Play with cloud foundryPlay with cloud foundry
Play with cloud foundry
 
CloudStack Collaboration Conference 12; Refactoring cloud stack
CloudStack Collaboration Conference 12; Refactoring cloud stackCloudStack Collaboration Conference 12; Refactoring cloud stack
CloudStack Collaboration Conference 12; Refactoring cloud stack
 
Sql azure introduction
Sql azure introductionSql azure introduction
Sql azure introduction
 
SQLUG event: An evening in the cloud: the old, the new and the big
 SQLUG event: An evening in the cloud: the old, the new and the big  SQLUG event: An evening in the cloud: the old, the new and the big
SQLUG event: An evening in the cloud: the old, the new and the big
 
WSO2 Carbon and WSO2 Stratos Summer Release Roundup
WSO2 Carbon and WSO2 Stratos Summer Release Roundup WSO2 Carbon and WSO2 Stratos Summer Release Roundup
WSO2 Carbon and WSO2 Stratos Summer Release Roundup
 
MEW22 22nd Machine Evaluation Workshop Microsoft
MEW22 22nd Machine Evaluation Workshop MicrosoftMEW22 22nd Machine Evaluation Workshop Microsoft
MEW22 22nd Machine Evaluation Workshop Microsoft
 
Introduction to the SQL and Windows Azure Platform
Introduction to the SQL and Windows Azure PlatformIntroduction to the SQL and Windows Azure Platform
Introduction to the SQL and Windows Azure Platform
 
C fowler intro-azure
C fowler intro-azureC fowler intro-azure
C fowler intro-azure
 

More from Spiffy

01 server manager spiffy
01 server manager spiffy01 server manager spiffy
01 server manager spiffy
Spiffy
 
Active Directory Upgrade
Active Directory UpgradeActive Directory Upgrade
Active Directory Upgrade
Spiffy
 
Checking the health of your active directory enviornment
Checking the health of your active directory enviornmentChecking the health of your active directory enviornment
Checking the health of your active directory enviornment
Spiffy
 
Agile in Action - Act 2: Development
Agile in Action - Act 2: DevelopmentAgile in Action - Act 2: Development
Agile in Action - Act 2: Development
Spiffy
 
Agile in Action - Act 3: Testing
Agile in Action - Act 3: TestingAgile in Action - Act 3: Testing
Agile in Action - Act 3: Testing
Spiffy
 
Agile in Action - Keynote: Becoming and Being Agile - What Does This Mean?
Agile in Action - Keynote: Becoming and Being Agile - What Does This Mean?Agile in Action - Keynote: Becoming and Being Agile - What Does This Mean?
Agile in Action - Keynote: Becoming and Being Agile - What Does This Mean?
Spiffy
 
Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)
Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)
Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)
Spiffy
 
MS TechDays 2011 - WCF Web APis There's a URI for That
MS TechDays 2011 - WCF Web APis There's a URI for ThatMS TechDays 2011 - WCF Web APis There's a URI for That
MS TechDays 2011 - WCF Web APis There's a URI for That
Spiffy
 
MS TechDays 2011 - NUI, Gooey and Louie
MS TechDays 2011 - NUI, Gooey and LouieMS TechDays 2011 - NUI, Gooey and Louie
MS TechDays 2011 - NUI, Gooey and Louie
Spiffy
 
MS TechDays 2011 - Mango, Mango! Developing for Windows Phone 7
MS TechDays 2011 - Mango, Mango! Developing for Windows Phone 7MS TechDays 2011 - Mango, Mango! Developing for Windows Phone 7
MS TechDays 2011 - Mango, Mango! Developing for Windows Phone 7
Spiffy
 
MS TechDays 2011 - Generate Revenue on Azure
MS TechDays 2011 - Generate Revenue on AzureMS TechDays 2011 - Generate Revenue on Azure
MS TechDays 2011 - Generate Revenue on Azure
Spiffy
 
MS TechDays 2011 - HTML 5 All the Awesome Bits
MS TechDays 2011 - HTML 5 All the Awesome BitsMS TechDays 2011 - HTML 5 All the Awesome Bits
MS TechDays 2011 - HTML 5 All the Awesome Bits
Spiffy
 
MS TechDays 2011 - Cloud Computing with the Windows Azure Platform
MS TechDays 2011 - Cloud Computing with the Windows Azure PlatformMS TechDays 2011 - Cloud Computing with the Windows Azure Platform
MS TechDays 2011 - Cloud Computing with the Windows Azure Platform
Spiffy
 
MS TechDays 2011 - Simplified Converged Infrastructure Solutions
MS TechDays 2011 - Simplified Converged Infrastructure SolutionsMS TechDays 2011 - Simplified Converged Infrastructure Solutions
MS TechDays 2011 - Simplified Converged Infrastructure Solutions
Spiffy
 
MS TechDays 2011 - SCDPM 2012 The New Feature of Data Protection
MS TechDays 2011 - SCDPM 2012 The New Feature of Data ProtectionMS TechDays 2011 - SCDPM 2012 The New Feature of Data Protection
MS TechDays 2011 - SCDPM 2012 The New Feature of Data Protection
Spiffy
 
MS TechDays 2011 - Microsoft Exchange Server and Office 365 Hybrid Deployment
MS TechDays 2011 - Microsoft Exchange Server and Office 365 Hybrid DeploymentMS TechDays 2011 - Microsoft Exchange Server and Office 365 Hybrid Deployment
MS TechDays 2011 - Microsoft Exchange Server and Office 365 Hybrid Deployment
Spiffy
 
MS TechDays 2011 - How to Run Middleware in the Cloud Story of Windows Azure ...
MS TechDays 2011 - How to Run Middleware in the Cloud Story of Windows Azure ...MS TechDays 2011 - How to Run Middleware in the Cloud Story of Windows Azure ...
MS TechDays 2011 - How to Run Middleware in the Cloud Story of Windows Azure ...
Spiffy
 
MS TechDays 2011 - Cloud Management with System Center Application Controller
MS TechDays 2011 - Cloud Management with System Center Application ControllerMS TechDays 2011 - Cloud Management with System Center Application Controller
MS TechDays 2011 - Cloud Management with System Center Application Controller
Spiffy
 
MS TechDays 2011 - Virtualization Solutions to Optimize Performance
MS TechDays 2011 - Virtualization Solutions to Optimize PerformanceMS TechDays 2011 - Virtualization Solutions to Optimize Performance
MS TechDays 2011 - Virtualization Solutions to Optimize Performance
Spiffy
 
MS TechDays 2011 - Automating Your Infrastructure System Center Orchestrator ...
MS TechDays 2011 - Automating Your Infrastructure System Center Orchestrator ...MS TechDays 2011 - Automating Your Infrastructure System Center Orchestrator ...
MS TechDays 2011 - Automating Your Infrastructure System Center Orchestrator ...
Spiffy
 

More from Spiffy (20)

01 server manager spiffy
01 server manager spiffy01 server manager spiffy
01 server manager spiffy
 
Active Directory Upgrade
Active Directory UpgradeActive Directory Upgrade
Active Directory Upgrade
 
Checking the health of your active directory enviornment
Checking the health of your active directory enviornmentChecking the health of your active directory enviornment
Checking the health of your active directory enviornment
 
Agile in Action - Act 2: Development
Agile in Action - Act 2: DevelopmentAgile in Action - Act 2: Development
Agile in Action - Act 2: Development
 
Agile in Action - Act 3: Testing
Agile in Action - Act 3: TestingAgile in Action - Act 3: Testing
Agile in Action - Act 3: Testing
 
Agile in Action - Keynote: Becoming and Being Agile - What Does This Mean?
Agile in Action - Keynote: Becoming and Being Agile - What Does This Mean?Agile in Action - Keynote: Becoming and Being Agile - What Does This Mean?
Agile in Action - Keynote: Becoming and Being Agile - What Does This Mean?
 
Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)
Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)
Agile in Action - Act 1 (Set Up, Planning, Requirements and Architecture)
 
MS TechDays 2011 - WCF Web APis There's a URI for That
MS TechDays 2011 - WCF Web APis There's a URI for ThatMS TechDays 2011 - WCF Web APis There's a URI for That
MS TechDays 2011 - WCF Web APis There's a URI for That
 
MS TechDays 2011 - NUI, Gooey and Louie
MS TechDays 2011 - NUI, Gooey and LouieMS TechDays 2011 - NUI, Gooey and Louie
MS TechDays 2011 - NUI, Gooey and Louie
 
MS TechDays 2011 - Mango, Mango! Developing for Windows Phone 7
MS TechDays 2011 - Mango, Mango! Developing for Windows Phone 7MS TechDays 2011 - Mango, Mango! Developing for Windows Phone 7
MS TechDays 2011 - Mango, Mango! Developing for Windows Phone 7
 
MS TechDays 2011 - Generate Revenue on Azure
MS TechDays 2011 - Generate Revenue on AzureMS TechDays 2011 - Generate Revenue on Azure
MS TechDays 2011 - Generate Revenue on Azure
 
MS TechDays 2011 - HTML 5 All the Awesome Bits
MS TechDays 2011 - HTML 5 All the Awesome BitsMS TechDays 2011 - HTML 5 All the Awesome Bits
MS TechDays 2011 - HTML 5 All the Awesome Bits
 
MS TechDays 2011 - Cloud Computing with the Windows Azure Platform
MS TechDays 2011 - Cloud Computing with the Windows Azure PlatformMS TechDays 2011 - Cloud Computing with the Windows Azure Platform
MS TechDays 2011 - Cloud Computing with the Windows Azure Platform
 
MS TechDays 2011 - Simplified Converged Infrastructure Solutions
MS TechDays 2011 - Simplified Converged Infrastructure SolutionsMS TechDays 2011 - Simplified Converged Infrastructure Solutions
MS TechDays 2011 - Simplified Converged Infrastructure Solutions
 
MS TechDays 2011 - SCDPM 2012 The New Feature of Data Protection
MS TechDays 2011 - SCDPM 2012 The New Feature of Data ProtectionMS TechDays 2011 - SCDPM 2012 The New Feature of Data Protection
MS TechDays 2011 - SCDPM 2012 The New Feature of Data Protection
 
MS TechDays 2011 - Microsoft Exchange Server and Office 365 Hybrid Deployment
MS TechDays 2011 - Microsoft Exchange Server and Office 365 Hybrid DeploymentMS TechDays 2011 - Microsoft Exchange Server and Office 365 Hybrid Deployment
MS TechDays 2011 - Microsoft Exchange Server and Office 365 Hybrid Deployment
 
MS TechDays 2011 - How to Run Middleware in the Cloud Story of Windows Azure ...
MS TechDays 2011 - How to Run Middleware in the Cloud Story of Windows Azure ...MS TechDays 2011 - How to Run Middleware in the Cloud Story of Windows Azure ...
MS TechDays 2011 - How to Run Middleware in the Cloud Story of Windows Azure ...
 
MS TechDays 2011 - Cloud Management with System Center Application Controller
MS TechDays 2011 - Cloud Management with System Center Application ControllerMS TechDays 2011 - Cloud Management with System Center Application Controller
MS TechDays 2011 - Cloud Management with System Center Application Controller
 
MS TechDays 2011 - Virtualization Solutions to Optimize Performance
MS TechDays 2011 - Virtualization Solutions to Optimize PerformanceMS TechDays 2011 - Virtualization Solutions to Optimize Performance
MS TechDays 2011 - Virtualization Solutions to Optimize Performance
 
MS TechDays 2011 - Automating Your Infrastructure System Center Orchestrator ...
MS TechDays 2011 - Automating Your Infrastructure System Center Orchestrator ...MS TechDays 2011 - Automating Your Infrastructure System Center Orchestrator ...
MS TechDays 2011 - Automating Your Infrastructure System Center Orchestrator ...
 

Recently uploaded

RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
Zilliz
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 

Recently uploaded (20)

RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 

Windows Azure Platform Technical Deep Dive - Chris Auld (Intergen)

  • 1. Windows Azure Platform Technical Deep Dive Chris J.T. Auld Director Intergen Ltd chris.auld@intergen.co.nz twitter.com/cauld 1
  • 2. Notes Before We Begin I don’t work for Microsoft Will call a ‘spade a spade’ today Azure is a young technology Best practices are still emerging We focus on architecture in this session A Few Demos only No prior experience assumed We have lots of attendees and just a little time Questions at the end please
  • 3. TicketDirect: An example application TicketDirect is a ticketing company in Australia and New Zealand Ticketing is uniquely suited to the cloud Will use TicketDirect as real world example today
  • 4. TicketDirect Architecture Azure Roles Client Applications .Net Service Bus Castellan.Azure • Box Office sales • Ticket Printing • System Administration • Venue/Event Management http:// TicketDirect .* Dynamic Worker Distributed Cache Partitioner WCF • Partitioning (tasks uploaded Worker Worker as blobs) Azure Storage On Premise Blobs to store -- ---- Tables to Queues for SQL Server web and worker role -- record server & communication between clients resources -- ---- -- partition and roles information Castellan Venue SQL Azure Castellan Castellan Castellan Castellan Castellan Castellan ... Castellan Venue DB 1 Venue Venue DB’s Venue DB 2 Venue Venue DB’s Venue DB N Venue Venue DB’s Partition(s) Partition(s) Partition(s) Castellan.old (VB6) One application DB, many venue DB’s – each partitioned in to many parts (40+) 4
  • 5. A Global Hardware Platform Global Foundation Services http://www.globalfoundatonservices.com 6 Azure Data Centers Europe - West/North Asia – East/Southeast USA – South Central/North Central New containerised data centers Approaching PUE of 1.2 Thousands of computation units 5
  • 6. The High Scale Application Archetype Windows Azure provides a ‘pay-as-you-go’ scale out application platform Intelligent Network Load Balancer Network Activation Stateless Web and/or Application Servers Stateless ‘Worker’ Machines Async Activation State ‘NoSQL’ Partitioned Shared Queues Tier Datastores RDBMS Filesystem 6
  • 7. Azure Service Architecture The Internet The Internet via TCP or HTTP LB LB LB Queues Web Site Worker Worker Role Worker Web Site Web ASMX, WCF) (ASPX, Role Service Managed (ASPX, ASMX, WCF) IIS as Host Service Interface Calll Blobs Tables Storage Windows Azure Data Center 7
  • 9. Windows Azure Your Service D N S L B Web Portal (API) L Fabric B Controller 9
  • 10. Service Deployment Your Service Model Service D N S L B Web Portal (API) DNS config L Fabric B Controller 10
  • 12. Service Update Your Service Model Service Service D production N S staging Service L B Web Portal (API) DNS config config L Fabric B Controller 12
  • 13. Upgrading Your Application Two Models: VIP Swap and In-Place Upgrade VIP Swap: Uses Staging and Production environments. Allows to quickly swap environments. Production: v1  Staging: v2, after swap then Production: v2  Staging: v1. In-Place Upgrade Performs a rolling upgrade on live service. Entire service or a single role Manual or Automatic across update domains Cannot change Service Model 13
  • 14. Fault and Upgrade Domains Instance Instance Instance Instance Instance Instance 14
  • 15. Configuration Service Configuration Serviceconfiguration.csdef – Service Model ServiceConfiguration.cscfg – instance data RoleEnvironment.GetConfigurationSettingValue() Don’t use web.config for values you wish to change at runtime Web.config change requires re-deploy 15
  • 16. Service Scaling Your Service Service D Service N S Service Service Service L Service B Service Service Web Portal (API) L Fabric B Controller Model 16
  • 17. Rule Based Auto- Scaling Use Service Management API Predicable or Periodic Demand Time based rules Unpredictable demand Monitor metrics and react accordingly
  • 18. Monitor metrics Primary metrics (actual work done) Requests per Second Queue messages processed / interval Secondary metrics CPU Utilization Queue length Response time Derivative metrics Rate of change of queue length Use ‘historical’ data to help predict requirements
  • 19. Evaluating Business Rules Are requests taking too long? Do I have too many jobs in my queue? How much money have I spent this month? Could write these into code. Could build some sort of rules engine. Could use WF rules engine.
  • 20. Take Action Add/Remove Instances Use Service Management API Don’t forget billing window is 1hr Change role size Requires change to *.csdef Most suited to Worker Roles Send notifications Email IM Manage momentum
  • 21. Service Monitoring & Recovery Your Service D Service N S Service L B Service Service Web Portal (API) L Fabric B Controller Model 21
  • 22. Monitoring No Debugging in Cloud Instrument your application using Trace, Debug Use Diagnostics API to Configure and Collect Event Logs Performance Counters Trace/Debug information (logging) IIS Logs, Failed Request Logs Request data on demand or scheduled Transferred into your table and/or blob storage Everything is remotely configurable 22
  • 24. Storage Scalable storage in Azure Datacenter 100tb per storage account Accessible via RESTful Web Service API Access from Azure Compute Access from anywhere via internet Supporting .NET Client Library Various storage types Table Queue Blob Drives 24
  • 25. Storage Tables Blobs Table = group of entities Large binary storage Entity = name/value pairs Stored in container Partitioned by key Unlimited containers Scale out to Bns of entities CDN Deliverable Not an RDBMS Queues Simple message queue Not transactional Read at least once Delete to remove message, otherwise is returned to queue 25 Partitioned by Queue Name
  • 26. Using Queues for Async Processing 1. User uploads large image file 2. Image inserted into blog storage 3. Message placed on queue incl BLOB URI and metadata 4. Worker role is polling queue. Reads message from queue 30mb JPEG 5. Worker role processes message, reads from BLOB storage, generates thumbnail 6. Thumnail and metadata stored in Table storage 7. Message deleted from queue Web Role Worker Role Web Role Table Worker Role Worker Role Worker Role Blob30mb JPEG Container LB LB Queue Storage 26
  • 27. Idempotency f(x) = f(f(x)) Queues are NOT transactional 27
  • 28. First Step For Software Architects If you expect to write documents mentioning idempotency Open word Type idempotency Right click Choose add to dictionary WARNING: Failure to follow these steps will surely see you sending an important architecture and design document to a client with the ‘corrected’ spelling of the word...impotency 28
  • 29. Messages Process At Least Once 1. Debit bank account $100 message 2. Worker role reads message 3. Balance debited $100 4. Worker role is torn before message can be deleted 5. 3 minutes later, message re-appears on queue 6. Worker role reads message 7. Balance debited $100 8. Message deleted from queue 9. Chaos ensues..... 10. Customer calls bank..... Balance = $800 $900 Balance = $1000 Web Role Worker Role Web Role Worker Role Worker Role Worker Role LB LB Queue 29 Storage
  • 30. Solving The Idempotency Problem 1. Debit bank account $100 message with transaction ID 2. Worker role reads message. Checks transaction ID not present. 3. Writes transaction ID with state ‘Started’ to ‘Replay Log’ 4. Balance debited $100 5. Worker role is torn before message can be deleted 6. 3 minutes later, message re-appears on queue 7. Worker role reads message. Checks transaction ID. It is present in state started 8. Compensating message written to another queue 9. Message deleted from queue 10. Compensatory message processed. Balance = $1000 Balance = $900 Web Role Query Worker Role Web Role Worker Role Table Worker Role Worker Role Queue LB LB Queue 30 Storage
  • 31. Azure Tables Not an RDBMS 31
  • 32. Azure Table Storage – Key Points Partition Key is the killer feature Partitions are Auto-Balanced No need to partition into equal bins Hot partitions may be scaled up Azure fabric may dedicate more resources to partitions with high Tx load Partition Key AND Row Key = Primary Key Must include PartitionKey for Create,Update,Delete Select queries across partitions parallelized, resource intensive and potentially more 32 expensive!
  • 33. Azure Table Storage – Key Points Continuation Tokens May Be Returned from Cross Partition Queries Any query not including the PartitionKey needs to handle Continuation tokens http://tinyurl.com/ContToken Key Columns Up to 1KB in size Should aim to keep to 260 char URI limit Be aggressive e.g. Only ever query by an ID? RowKey = PartitionKey All queries should include partition key 33
  • 34. NoSQL/Non-Relational Data Modelling 34
  • 35. Azure Tables != RDBMS Storage is cheap Cross partition queries are resource intensive De-normalization and massive duplication often name of the game
  • 36. E.g. Tweet Storage Tweet TweetID UserID DateTimeStamp Message 36
  • 37. E.g. Tweet Storage Tweet TweetWord Word … TweetID WordID Message WordID Word (IX) Tweet Word … WordID Message Word (IX) 37
  • 38. E.g. Tweet Storage Tweet TweetIndex TweetID (RK) TweetID (RK) UserID (PK) UserID DateTimeStamp DateTimeStamp Message Message Word (PK) 38
  • 39. E.g. Tweet Storage Tweet MentionIndex TweetID (RK) TweetID (RK) UserID (PK) UserID DateTimeStamp DateTimeStamp Message Message UserID (PK) 39
  • 40. Pricing Compute $0.12 / CPU hour (or part thereof) ~ 1.7 GHz, 2GB Ram, Single Core $2.88 / Day $86.4 / 30 days (billing period) 2 instances = $172.80 / month Storage $0.15 / GB/Month $.01 / 10,000 calls to storage web service Bandwidth $0.30 /GB inbound to Asian datacenters 40 $0.45 /GB outbound from Asian datacenters
  • 41. Design Considerations Scale and availability are the design points Storage isn’t a relational database Stateless Stateless front ends, store state in storage Use queues to decouple components Instrument your application (Trace) Once you are on - stay on Think about patching & updates 41
  • 42. SQL Azure Business Data Sync Reporting Intelligence Initial Services Database Core SQL Server database capabilities in cloud optimized topology Highly compatible with on premise SQL Server Future Services Data Sync – Enables the sync framework Additional SQL Server capabilities available as a service: Business Intelligence and Reporting
  • 43. SQL Azure Details SQL Azure provides logical SQL Server Gateway server that understands TDS protocol Looks like SQL Server to TDS Client Actual data stored on multiple backend data nodes Logical optimisations supported Indexes, Query plans etc.. Physical optimisations not supported File Groups, Partitions etc… SQL Azure transparently manages physical storage
  • 44. SQL Azure Deployment Web Portal (API) DB Script SQL Azure TDS 44
  • 45. SQL Azure Accessing databases Web Portal (API) Your SQL Azure TDS App Change Connection String 45
  • 47. Database Replicas Replica 1 Replica 2 DB Replica 3 47
  • 48. Shared Environment C D A B D Hardware Boundary Hardware Boundary C C A B A B D Hardware Boundary Hardware Boundary 48
  • 49. SQL Azure Database Monitoring & Recovery Web Portal (API) Your App SQL Azure TDS ! 49
  • 50. Design Considerations 1 x 10GB database 1 Instances 10 x 1GB databases 10 Instances Partition for Data volume Query load 50
  • 51. SQL Azure – Key Points Partition for Data volume > 10GB Transaction throttle (non deterministic) Always code for retry All partition logic up to the developer Algorithmic Lookup based Partitions are not Auto-Balanced Need to aim for ‘equal’ partitions ‘Equal’ not necessarily the same size 51
  • 52. Choosing a Partition Key Natural Keys Country First letter, last name Date Mathematical Hash functions Modulo operator Lookup Based Lookup table to resolve value to partitions 52
  • 53. Using Modulo The remainder of a division Nice properties for partitioning: Given two positive integers M and N M mod N will return a number between 0 and N-1 Want equi-sized partitions? Given an appropriate distribution of M we will get N ‘equally full’ buckets. 53
  • 54. Using Hash Values Using A Hash Function Projects One Distribution into Another Use a hash function that projects a random distribution Do NOT use a cryptographic hash function Plenty of choice on the web http://tinyurl.com/part-hash Be careful if using Object.GetHashCode() 54
  • 56. Just in time Partitioning In SQL Azure Partitions Cost Money In highly elastic scenarios partitions may be needed for just a few hours or days If load is predictable Partition before load commences De-partition after load has subsided 56
  • 57. Pricing WEB Edition Business Edition 1 GB Database 10GB Database $9.99 / month $99.99 / month Bandwidth Bandwidth $0.10 /GB inbound $0.10 /GB inbound $0.15 /GB outbound $0.15 /GB outbound • Pro rated by the day or part thereof • Can move up and down between sizes • SQL Azure has no query charge • Excessively long transactions or high query load may result in throttling • 50GB database size in Beta 57
  • 58. Windows Azure Platform AppFabric Extending .NET to the cloud with Internet Scale Utility Services Service Bus: General purpose application messaging bus Access Control: Rules-driven, claims-based access control 58
  • 59. Simplified, Secure Connectivity for the Cloud Service Bus and Access Control in Windows Azure platform AppFabric are powerful building blocks. Secure Connectivity • Bridge cloud services, on-premises apps, and hosted assets • Build distributed apps for your business or to collaborate with partners AppFabric SERVICE BUS Across boundaries Connect apps & services • Navigate network and security boundaries, securely and simply • Federate identity and access across organizations and ID providers • Simplify claims-based authorization for distributed apps and web services At Cloud Scale AppFabric ACCESS CONTROL • Scale up and down as your business requires Control & secure access • Automated service mgmt. and dynamic scale • Interoperate with a variety of languages and industry standards
  • 60. AppFabric Service Bus Connectivity Text XML Graphics Binary Data Receive Receive Streaming Firewall Send Send Exchange messages between loosely coupled, composite applications. Direct Connection facilitated by Application #1 Service Bus if that is best Application #2 connection mechanism.
  • 62. Architecture of AppFabric Access Control 3. Map input claims to output claims based 1. Define access on access control rules control rules Your Access Control Project 0. Trust exchanged; 4. Return token secrets, certs (output claims from 3) 2. Send token (initial 6. Check for claims claims; e.g. identity) Your App User (Relying Part) (Application) 5. Send token with request
  • 63. Pricing & SLA $1.99 / 100k ACS transactions Connections $3.99/connection/month Packages available Bandwidth $0.10 /GB inbound $0.15 /GB outbound 63
  • 64. TicketDirect: An example application TicketDirect is a ticketing company in Australia and New Zealand Ticketing is uniquely suited to the cloud Will use TicketDirect as real world example today
  • 65. TicketDirect Architecture Azure Roles Client Applications .Net Service Bus Castellan.Azure • Box Office sales • Ticket Printing • System Administration • Venue/Event Management http:// TicketDirect .* Dynamic Worker Distributed Cache Partitioner WCF • Partitioning (tasks uploaded Worker Worker as blobs) Azure Storage On Premise Blobs to store -- ---- Tables to Queues for SQL Server web and worker role -- record server & communication between clients resources -- ---- -- partition and roles information Castellan Venue SQL Azure Castellan Castellan Castellan Castellan Castellan Castellan ... Castellan Venue DB 1 Venue Venue DB’s Venue DB 2 Venue Venue DB’s Venue DB N Venue Venue DB’s Partition(s) Partition(s) Partition(s) Castellan.old (VB6) One application DB, many venue DB’s – each partitioned in to many parts (40+) 65
  • 66. Windows Azure Platform Benefits The Cloud Windows Azure New Economic Model High Level of Abstraction Low Capex Hardware Pay as you Go Server OS Elastic Scale Network Infrastructure Only solvable via Cloud Web Server Global Distribution Availability Global data centers Automated Service Management Azure CDN Scalability Instance & Partitions Developer Experience Familiar Developer Tools 66
  • 67. Windows Azure Platform Benefits AppFabric SQL Azure High Performance Messaging Higher Level of Abstraction Massively scalable Hardware HTTP and Raw TCP Server OS Access Control Network Infrastructure Less brittle apps due to factoring Database Server out rules Availability Developer Experience Automated Database Familiar Developer Tools Management & Replication WCF bindings Scalability Databases Partitioning Developer Experience Familiar SQL Environment 67