SlideShare a Scribd company logo
1 of 69
Windows Azure
     Design Patterns

David Pallmann
GM Custom App Dev, Neudesic
http://davidpallmann.blogspot.com
@davidpallmann
AGENDA
1. General Cloud Computing Patterns
2. Patterns in the Windows Azure platform
    –   Compute
    –   Storage
    –   Relational Database
    –   Communication
    –   Security
    –   Network
3. Cloud application patterns
4. Discussion / Q & A
General Pu     Pr      Hy      Ia      Pa      Sa        Ps   Su


Compute Ro     In     We      Wo       Vr      Lb        Ep   Ei   Ca


Storage   Bl   Co     Qm      Qu       Ta      En        Pk   Rk   Ep


    DB Ds      Db      Rd      Re      Sg      Sh        Fr   Fm


 Comm Sb       Sq      To      Su      Fi


Network Vn     Rg     Mg       Cd     Tm       Rl        Rf   Rd


Security Ip    Rp      Ts      Tk      Cl      Ra
                    “Periodic Table” of Cloud Patterns
Part 1:
             General Cloud Patterns

Cloud Types                 Cloud Levels of Use                 Platform

Pu        Pr       Hy         Ia          Pa          Sa         Ps         Su
PUBLIC   PRIVATE   HYBRID   INFRASTR.   PLATFORM    SOFTWARE    PLATFORM   SUBSCRIP-
CLOUD     CLOUD    CLOUD    AS A SVCE   AS A SVCE   AS A SVCE    SERVICE     TION
Public, Private, Hybrid Cloud
    Pu                       Pr                Hy

Public Cloud            Private Cloud      Hybrid Cloud
Pu
               Public Cloud                    PUBLIC
                                               CLOUD


• Advanced data center, global presence
• On-demand, elastic scale, well-managed
• Multi-tenant, consumption-based pricing
                                      PUBLIC CLOUD
                                    INFRASTRUCTURE
Pr
               Private Cloud                  PRIVATE
                                               CLOUD




• On-premises virtualization infrastructure
• Shares some characteristics of public cloud
• Upcoming Windows Server 8 is able to
  virtually pool and allocate compute, storage,
  network resources in a multi-tenant fashion


                      YOUR CLOUD
                    INFRASTRUCTURE
Hy
              Hybrid Cloud                       HYBRID
                                                 CLOUD




• Connect public cloud with
• private cloud                       CLOUD VENDOR
                                     INFRASTRUCTURE
• Integrate via VPN or other means



                                       YOUR CLOUD
                                     INFRASTRUCTURE
IaaS, PaaS, & SaaS
         Ia                    Pa                     Sa
        INFRASTR.              PLATFORM               SOFTWARE
        AS A SVCE              AS A SVCE              AS A SVCE


        IaaS                   PaaS                  SaaS
Raw Virtual Resources   App Services Platform      Just Use It




“Bring Your Own VM“     “Bring Your Own App” “Bring Your Own User”
Ps
                       Platform Service                      PLATFORM
                                                              SERVICE




•   Service provided by the cloud platform
•   Compute Service
     – Run your software in the cloud data center
     – Most intimate level of cloud computing
     – Other services generally usable in-cloud or on-prem
•   RESTful Services
     – Most cloud services use HTTP REST
     – Storage, Communication, Management, …
•   Interop Services
     – Use a specific protocol for interop / compatibility
     – Example: SQL Azure Database (TDS protocol)
Su
                           Subscription                                  SUBSCRIP-
                                                                           TION




• Ongoing billing arrangement
• Consumption-based
• Services used have pricing meters
• Types
     – Month-to-month
     – Term subscription
     – Negotiated terms
•   Month-to-month is easy entry / easy exit without residual obligations
•   Term or negotiated subscriptions can get you a discount in exchange for a
    commitment
Part 2:
Patterns Inherent in the Windows
          Azure Platform
Ps
                                                  PLATFORM
    Compute Service      SQL Azure Reporting       SERVICE




S   Storage Service      Cache Service

    Blob Storage         Service Bus

    Queue Storage        Access Control Service

    Table Storage        Windows Azure Traffic Manager

    SQL Azure Database   SQL Azure Data Sync Service

    DataMarket           SQL Azure Import Export Service

    CDN                  Windows Azure Connect
Df        Du
                                                FAULT    UPGRADE
                                               DOMAIN    DOMAIN



       Fault & Upgrade Domains
• Fault domain
  – Spreads out your redundant servers / storage across
    the data center so a large failure doesn’t take out all
    of your resources
• Upgrade domain
  – How patches or application updates are applied
  – Upgrades parts of your application in sequence (“red
    black pattern”) to maintain availability
Fault Domain 1   Fault Domain 2   Fault Domain 3



             Upgrade
             Domain 1
     Fault                   Role A
                           Instance 1
                                              Role B
                                            Instance 2
                                                               Role C
                                                             Instance 3


  Domains
& Upgrade    Upgrade
             Domain 2
  Domains                    Role B
                           Instance 1
                                              Role C
                                            Instance 2
                                                               Role A
                                                             Instance 3




             Upgrade
             Domain 3
                             Role C           Role A           Role B
                           Instance 1       Instance 2       Instance 3
Compute Patterns


Roles                                     Endpoints                        Cache

 Ro       In       We     Wo       Vr      Lb         Ep          Ei       Ca
 ROLE   INSTANCE   WEB    WORKER    VM      LOAD       INPUT    INTERNAL    CACHE
                   ROLE    ROLE    ROLE   BALANCER   ENDPOINT   ENDPONIT   SERVICE
Hs
                Hosted Service                       HOSTED
                                                     SERVICE



• Your app, hosted in Compute service
• Consists of
  one or more
  tiers (“roles”)       Subscription


• Production                                 Windows Azure
  & Staging        Hosted Service Project       Regional
  deployment                                  Data Center

  slots
                   Production     Staging
                   Deployment   Deployment
                      Slot          Slot
Ro      In
                 Roles & Instances                     ROLE   INSTANCE




•   Role: a tier of your app (VM farm)
•   Instance: VM, member of a role (5 sizes)
•   Role has one or more instances (2+ for SLA)
•   VM instances are volatile, roles are sturdy




               VM      VM      VM      VM         VM
We                        Wo                       Vr
         WEB                      WORKER                   VM
         ROLE                      ROLE                   ROLE

    Web Role                 Worker Role              VM Role
   Web Container        General-purpose Container     VM Image

  Configured with           Configured with         You prepare a VM
Windows Server, IIS &       Windows Server
a public LB endpoint

  Upload your app           Upload your app         Upload a full VM

        PaaS                     PaaS                     IaaS
     Managed                  Managed                 You Manage
    Auto patched             Auto patched           No auto-patching
Lb              Ep          Ei
                                      LOAD            INPUT    INTERNAL



                     Endpoints
                                    BALANCER        ENDPOINT   ENDPOINT




•   Allows access to a role
•   Load balancer: round-robin
•   Input (public) endpoint: public, load-balanced
•   Internal endpoint: only accessible by cloud app


              VM    VM     VM     VM           VM
Dp             Di
                  Deployment Patterns             PAAS
                                               DEPLOYMENT
                                                                IAAS
                                                            DEPLOYMENT


PaaS                                                             IaaS
           Compute Service             Compute Service



              HOSTED                      HOSTED
              SERVICE                     SERVICE




                     APPLICATION
        SERVICE                     SERVICE       CUSTOM VM
                      RUNTIME
       METADATA                    METADATA         IMAGE
                        FILES
Web Role Compute Tier           Worker Role Compute Tier
                                       VM
         VM




                                       VM
         VM




                        Queue




                                       VM
         VM



                Compute
                 Patterns
                 Example
Ca
                Cache Service                   CACHE
                                               SERVICE




•   Cache Service
•   Distributed Memory Cache
•   Available in different sizes
•   Same programming model as Windows Server Cache
    (“Velocity”)
Windows Azure
        Compute


Attendee Bee Conference App
HTML5/Mobile ASP.NET/MVC web site
hosted in a Web Role
Storage Patterns


Blob Storage        Queue Storage     Table Storage

 Bl      Co         Qm        Qu       Ta      En         Pk        Rk      Ep
 BLOB   CONTAINER    QUEUE    QUEUE    TABLE   ENTITY   PARTITION   ROW     ENTITY
                    MESSAGE                                KEY       KEY   PROPERTY
Primitive Storage vs. Database
• Ratio of primitive : relational data is frequently higher
  in the cloud
• Cheap: pennies per gigabyte/mo
• Scale: no practical size limit
• Simple: less complexity / overhead
• Lighter: optimistic concurrency
• Trendy: fueled by trends in cloud / mobile arch/ &
  movements like NoSQL
Blob, Queue, & Table Storage

        Bl                 Qu                     Ta
        BLOB                 QUEUE                 TABLE



  Blob Storage         Queue Storage        Table Storage
      File-like         Simple queues       Big, cheap tables

Use for anything you   For queuing task   Structured data where
would normally use a      messages            you don’t need
       file for                             relational features
Bl     Co
                        Blob Storage      BLOB   CONTAINER




•   Blob: File-like storage
•   Container: Holds blobs, like folder
•   Name, data, metadata
•   Sequential/streamed access
•   Simple put/get operations
•   Data stored with redundancy
•   Provides persistence for VMs
•   Directly reference blobs as URIs
•   2 kinds of blobs:
    block (sequential), page (random)
Qu       Qm
                 Queue Storage                  QUEUE     QUEUE
                                                         MESSAGE




• Queue: holds messages
• Messages: small string or XML content
• Access semantics may differ from enterprise queue
  technologies you are used to
• Enterprise reasons to use queues also apply in the cloud
• Can use queues to load-balance workers
• Can use queues to coordinate work across roles
• Strict FIFO not guaranteed due to queue semantics
Ta             En
                    Table Storage                 TABLE          ENTITY




•   Big, cheap data tables
•   Simple record-oriented storage
•   Table: hold entities (records)
•   Entity: contains properties (fields)
•   Does not enforce a schema
•   No relational features
•   Partition Key + Row Key = a unique key

    En :       Pk         Rk     Ep         Ep            Ep
     ENTITY   PARTITION   ROW     ENTITY     ENTITY        ENTITY
                 KEY       KEY   PROPERTY   PROPERTY      PROPERTY
Storage Examples
    MEDIA CONTAINER 20 GB

                               CONTACTS TABLE
 1000      40       40
                               COUNTRY (PK)
IMAGES   VIDEO     XML         CUSTOMER ID (RK)
                               LAST NAME
                               FIRST NAME
                               STREET
                               CITY
                               STATE
                               POSTAL
                               PHONE
            ORDER QUEUE        EMAIL




           WEB        PHONE
          ORDERS      ORDERS
Windows Azure Storage



AttendeeBee Conference App
Blob & Table Storage
Relational Data Patterns

Database                Reporting             Data Sync                  Federation
                        Service               Service                    Service

 Db         Db          Rd          Re         Sg         Sh        Fr        Fm
DATABASE   DATABASE    REPORT       REPORT      SYNC      SYNC   FEDERATION FEDERATION
 SERVER               DEFINITION   ENDPOINT    GROUP      HUB       ROOT      MEMBER
Relational Database Services
        Db                          Rs
        DATABASE                     REPORT
         SERVICE                     SERVICE


Sql Azure Database         Sql Azure Reporting
   Database Service            Reporting Service



         Sy                          Fr
           SYNC
                                    FEDERATION
          SERVICE
                                      SERVICE

SQL Azure Data Sync       Sql Azure Federations
Synchronization Service   Database Federation Service
Ds         Db
                                          DATABASE    DATABASE
                                           SERVER



             SQL Azure Database
•   Relational DB as a service
•   One master and two replicants, auto failover
•   Physical management handled for you
•   Has most SQL Server features but not all
•   Size limit of 150GB
•   Database Server: virtual DB server (actually 3)
•   Database: database contained in a DB server
Rd           Re
                                       REPORT       REPORT
                                      DEFINITION   ENDPOINT


            SQL Azure Reporting
•   DB reporting as a service
•   Similar experience to SSRS
•   Source is SQL Azure Database
•   Use BIDS to create reports, RDF format
•   Rd: report definition
•   Re: web-accessible reporting endpoint
Sg           Sh
                                                SYNC GROUP   SYNC HUB




              SQL Azure Data Sync
•   1-way or bi-directional syncing
•   SQL Azure to SQL Azure
•   SQL Azure to SQL Server
•   Hub and spoke model: all syncing is to and/or from the hub
    SQL Azure database
•   Can trigger a sync manually or schedule
•   Sync: Synchronization operation
•   Sync group: Defines group of DBs for syncing
•   Sync hub: the hub of the sync group
Fr          Fm
                                     FEDERATION   FEDERATION
                                        ROOT        MEMBER



        SQL Azure Federations
• Database federation
• Partition or shard to multiple databases, have
  a “federation database” that looks like one DB
• Federation Root: federation root database
• Federation Member: member database
Database Service



T-Shirt World
Orders database
SQL Azure Database
Communication Patterns


Service Bus   Service Bus Queues

Sb              Sq          To      Su           Fi
SERVICE       SERVICE BUS   TOPIC   SUBSCRIP-   FILTER
  BUS           QUEUE                 TION
Sb
                Service Bus                   SERVICE
                                                BUS




• Using the cloud as a
  communication relay
• Navigates NATs, firewalls, proxies well
• Supports client-service, eventing/pub-sub
  messaging patterns
• Volatile (best effort) messaging
Sq
              Service Bus Queues                     SERVICE BUS
                                                       QUEUE




•   Service Bus Queue: Durable messaging              To
•   Topic: publish point for durable messaging         TOPIC



•   Subscription: receiver of durable messaging
•   Filter : criteria on which messages to receive   Su
                                                     SUBSCRIP-
                                                       TION




                                                       Fi
                                                       FILTER
Service Bus - Queues


Sender           Queue          Receiver
Service Bus - Queues

                                Receiver
Sender           Queue



                                Receiver
Service Bus – Topics & Subscriptions

                                  Subscriber
                   Subscription
Sender     Topic
                   Subscription
                                  Subscriber
Service Bus – Filters
                     Subscription
                                    Subscriber
                      Ship = AIR
Sender      Topic
                     Subscription

                    Ship = GROUND   Subscriber
Web Site (Compute, Storage)   Queue (Service Bus)
        1 Submit Order
                                         orders



                              Back End (Compute)
                                  3 Order is Dequeued




       2 Order is Queued



   Database (SQL Azure)

            orders
                              4 Order is Stored in Database
Service Bus



T-Shirt World
Using a Service Bus Queue to
Relay Orders for Processing
Security Patterns


Claims-based Security

  Ip       Rp         Ts        Tk      Cl          Ra
IDENTITY   RELYING   SECURITY   TOKEN   CLAIM     REDIRECTED
PROVIDER    PARTY      TOKEN                    AUTHENTICATION
                      SERVICE
Ip
             Claims-based Security                              IDENTITY
                                                                PROVIDER




• Modern way to do AuthN/AuthZ                                  Rp
• Use with web/social identity, domain identity
• Access Control Service provides federated identity             RELYING
                                                                  PARTY

• Identity Provider: Party providing security token with
  claims
• Relying Party: application that wants to                       Ts
  authenticate/authorize user
• Security Token Service: how application/user                  SECURITY
                                                                  TOKEN
  authenticates (interactively or programmatically)              SERVICE

• Redirected Authentication: user visits app, user
  redirected to STS to sign in, redirected back to app with     Ra
  token
                                                                REDIRECTED
                                                              AUTHENTICATION
Claims-based Security
                Web Identity


                                         Google
Windows Azure




                                   ACS   Yahoo!
                      RP

                    WEB ROLE       2+




                S
                                         Live ID
                               S
Windows Azure




                                             WEB ROLE       2+




Claims-based Security                    S              S


       Domain Identity                         RP




                         Enterprise           ADFS




                                               AD
Access Control Service



Responsive Tours
Identity Federation
Sign-in with Windows Live ID, Yahoo!, or
Google
Networking Patterns


VPN Connection               CDN        Traffic Manager

 Vn        Rg       Mg        Cd         Tm            Rl          Rf          Rd
 VIRTUAL    ROLE   MACHINE   CONTENT     TRAFFIC   LOCALE-BASED   FAILOVER   DISTRIBUTED
NETWORK    GROUP    GROUP    DELIVERY   MANAGER      ROUTING      ROUTING      ROUTING
                             NETWORK
Vn
            VPN Connection                 VIRTUAL
                                          NETWORK




• Windows Azure Connect                     Rg
• Virtual Network: VPN connection between   ROLE
                                           GROUP

  cloud and on-prem machines
• Role Group: indicates which roles are     Mg
  members of a virtual network
                                          MACHINE

• Machine Group: indicates which on-prem   GROUP



  machines are members of a virtual network
Windows Azure Connect Example
ASP.NET web site in the cloud accessing
       on-prem SQL Server DB
                 WEB ROLE          3




             S       S        S




             SQL SERVER DATABASE
Cd
                        CDN                        CONTENT
                                                   DELIVERY
                                                   NETWORK




• Content Delivery Network
• CDN: Utilizes worldwide network of 24+ edge server to
  deliver content efficiently
• Often used for media
• Locale-directed DNS goes to nearest node to serve up
  cached content
• Content sources from blob storage or your hosted
  service
Tm
                   Traffic Manager                               TRAFFIC
                                                                MANAGER




• Windows Azure Traffic Manager                                  Rl
• Traffic Manager: Routes DNS access to your hosted service
  to one of several possible deployments based on rules        LOCALE-BASED
                                                                 ROUTINE
• Locale-based Routing: route to a deployment based on
  locale
• Failover Routing: route to a secondary if primary is not       Rf
  healthy (via a heartbeat)
• Distributed Routing: route based on a desired distribution    FAILOVER
  across data centers                                           ROUTING




                                                                Rd
                                                                DISTRIBUTED
                                                                  ROUTING
Traffic Manager



Responsive Tours
Worldwide Deployment to
3 Continents with
Traffic Management
Part 3:
Cloud Application Patterns
Competing Consumers
• Can “load balance” back end of worker roles
  using queues
                       Queue




                    Worker Role
Web Role


  Use Queues to
Coordinate Roles
• Front end can submit
  tasks for the back end
• Both front end and           Q
  back end can be scaled
   to accommodate load



                           Worker Role
WEB FARM    CQRS-READS       RELATIONAL DATA


  CQRS Pattern
 • Command/Query               PUBLIC CLOUD
                                                    CLUSTERED / PARTITIONED DB
   Responsibility        WEB FARM       CQRS-WRITES    NON-RELATIONAL DATA
   Segregation
 • Best for large
   implementations                                         FILES, QUEUES

 • Separate read & write
• You probably don’t do the same amount of each
• Take advantage of lightweight read mechanisms
• Safer – avoid accidental updates/deletes
Modern Web Solutions
“Connected Devices, Continuous Services”
HOMOGENOUS FRONT END                  DEDICATED BACK END

                       WEB SERVER      DATABASE SERVER


                          Web
                       Application


                                             SQL
  DESKTOP              Web Services
                                            Server
  BROWSER

                           IIS


                        Windows
                         Server
Modern Web Application
HETEROGENEOUS FRONT END                 DECENTRALIZED BACK END


                                             Platform
  DESKTOP                 Application
                                             Services
  BROWSER




                                                          CLOUD
                           Business
                                            Data Stores
                           Services

   TABLET

                           Identity




                                                          IP
                                            Directories
                           Services


   PHONE




                                                          PARTNER
                           Partner
                                            Data Stores
                           Services
Modern Web
         Application


Attendee Bee Conference App
Open, Mobile, Global & Social
General Pu     Pr   Hy   Ia   Pa   Sa   Ps   Su


Compute Ro     In   We   Wo   Vr   Lb   Ep   Ei   Ca


Storage   Bl   Co   Qm   Qu   Ta   En   Pk   Rk   Ep


    DB Ds      Db   Rd   Re   Sg   Sh   Fr   Fm


 Comm Sb       Sq   To   Su   Fi


Network Vn     Rg   Mg   Cd   Tm   Rl   Rf   Rd


Security Ip    Rp   Ts   Tk   Cl   Ra
Thanks!



     Windows Azure
     Design Patterns

David Pallmann
GM Custom App Dev, Neudesic
http://davidpallmann.blogspot.com
@davidpallmann

More Related Content

What's hot

Netflix on Cloud - combined slides for Dev and Ops
Netflix on Cloud - combined slides for Dev and OpsNetflix on Cloud - combined slides for Dev and Ops
Netflix on Cloud - combined slides for Dev and OpsAdrian Cockcroft
 
SV Forum Platform Architecture SIG - Netflix Open Source Platform
SV Forum Platform Architecture SIG - Netflix Open Source PlatformSV Forum Platform Architecture SIG - Netflix Open Source Platform
SV Forum Platform Architecture SIG - Netflix Open Source PlatformAdrian Cockcroft
 
OSCON Data 2011 -- NoSQL @ Netflix, Part 2
OSCON Data 2011 -- NoSQL @ Netflix, Part 2OSCON Data 2011 -- NoSQL @ Netflix, Part 2
OSCON Data 2011 -- NoSQL @ Netflix, Part 2Sid Anand
 
Netflix Velocity Conference 2011
Netflix Velocity Conference 2011Netflix Velocity Conference 2011
Netflix Velocity Conference 2011Adrian Cockcroft
 
Ram chinta hug-20120922-v1
Ram chinta hug-20120922-v1Ram chinta hug-20120922-v1
Ram chinta hug-20120922-v1Ram Chinta
 
Netflix Architecture Tutorial at Gluecon
Netflix Architecture Tutorial at GlueconNetflix Architecture Tutorial at Gluecon
Netflix Architecture Tutorial at GlueconAdrian Cockcroft
 
AWS Update | London - Overview of New Releases
AWS Update | London - Overview of New ReleasesAWS Update | London - Overview of New Releases
AWS Update | London - Overview of New ReleasesAmazon Web Services
 
RunE2E Case Study: SAP BusinessObjects in the AWS Cloud
RunE2E Case Study: SAP BusinessObjects in the AWS CloudRunE2E Case Study: SAP BusinessObjects in the AWS Cloud
RunE2E Case Study: SAP BusinessObjects in the AWS CloudAlex Gramling
 
Netflix Global Cloud Architecture
Netflix Global Cloud ArchitectureNetflix Global Cloud Architecture
Netflix Global Cloud ArchitectureAdrian Cockcroft
 
Scvmm 2012 (maarten wijsman)
Scvmm 2012 (maarten wijsman)Scvmm 2012 (maarten wijsman)
Scvmm 2012 (maarten wijsman)hypervnu
 
AWS RDS Presentation - DOAG Conference
AWS RDS Presentation - DOAG Conference AWS RDS Presentation - DOAG Conference
AWS RDS Presentation - DOAG Conference Amazon Web Services
 
Gluecon 2013 - NetflixOSS Cloud Native Tutorial Introduction
Gluecon 2013 - NetflixOSS Cloud Native Tutorial IntroductionGluecon 2013 - NetflixOSS Cloud Native Tutorial Introduction
Gluecon 2013 - NetflixOSS Cloud Native Tutorial IntroductionAdrian Cockcroft
 
Stairway to heaven webinar
Stairway to heaven webinarStairway to heaven webinar
Stairway to heaven webinarCloudBees
 
Overview of Amazon Web Services
Overview of Amazon Web ServicesOverview of Amazon Web Services
Overview of Amazon Web ServicesHarish Ganesan
 
InterCloud - Cloud based DRP
InterCloud - Cloud based DRPInterCloud - Cloud based DRP
InterCloud - Cloud based DRPPierre Cerou
 
AWS Re:Invent - High Availability Architecture at Netflix
AWS Re:Invent - High Availability Architecture at NetflixAWS Re:Invent - High Availability Architecture at Netflix
AWS Re:Invent - High Availability Architecture at NetflixAdrian Cockcroft
 

What's hot (20)

Netflix on Cloud - combined slides for Dev and Ops
Netflix on Cloud - combined slides for Dev and OpsNetflix on Cloud - combined slides for Dev and Ops
Netflix on Cloud - combined slides for Dev and Ops
 
SV Forum Platform Architecture SIG - Netflix Open Source Platform
SV Forum Platform Architecture SIG - Netflix Open Source PlatformSV Forum Platform Architecture SIG - Netflix Open Source Platform
SV Forum Platform Architecture SIG - Netflix Open Source Platform
 
OSCON Data 2011 -- NoSQL @ Netflix, Part 2
OSCON Data 2011 -- NoSQL @ Netflix, Part 2OSCON Data 2011 -- NoSQL @ Netflix, Part 2
OSCON Data 2011 -- NoSQL @ Netflix, Part 2
 
Netflix Velocity Conference 2011
Netflix Velocity Conference 2011Netflix Velocity Conference 2011
Netflix Velocity Conference 2011
 
Ram chinta hug-20120922-v1
Ram chinta hug-20120922-v1Ram chinta hug-20120922-v1
Ram chinta hug-20120922-v1
 
Netflix Architecture Tutorial at Gluecon
Netflix Architecture Tutorial at GlueconNetflix Architecture Tutorial at Gluecon
Netflix Architecture Tutorial at Gluecon
 
Prodware wa college - marcel meijer
Prodware   wa college - marcel meijerProdware   wa college - marcel meijer
Prodware wa college - marcel meijer
 
AWS Update | London - Overview of New Releases
AWS Update | London - Overview of New ReleasesAWS Update | London - Overview of New Releases
AWS Update | London - Overview of New Releases
 
RunE2E Case Study: SAP BusinessObjects in the AWS Cloud
RunE2E Case Study: SAP BusinessObjects in the AWS CloudRunE2E Case Study: SAP BusinessObjects in the AWS Cloud
RunE2E Case Study: SAP BusinessObjects in the AWS Cloud
 
Netflix Global Cloud Architecture
Netflix Global Cloud ArchitectureNetflix Global Cloud Architecture
Netflix Global Cloud Architecture
 
Scvmm 2012 (maarten wijsman)
Scvmm 2012 (maarten wijsman)Scvmm 2012 (maarten wijsman)
Scvmm 2012 (maarten wijsman)
 
AWS RDS Presentation - DOAG Conference
AWS RDS Presentation - DOAG Conference AWS RDS Presentation - DOAG Conference
AWS RDS Presentation - DOAG Conference
 
Gluecon 2013 - NetflixOSS Cloud Native Tutorial Introduction
Gluecon 2013 - NetflixOSS Cloud Native Tutorial IntroductionGluecon 2013 - NetflixOSS Cloud Native Tutorial Introduction
Gluecon 2013 - NetflixOSS Cloud Native Tutorial Introduction
 
Stairway to heaven webinar
Stairway to heaven webinarStairway to heaven webinar
Stairway to heaven webinar
 
Overview of Amazon Web Services
Overview of Amazon Web ServicesOverview of Amazon Web Services
Overview of Amazon Web Services
 
Introduction to AWS tools
Introduction to AWS toolsIntroduction to AWS tools
Introduction to AWS tools
 
InterCloud - Cloud based DRP
InterCloud - Cloud based DRPInterCloud - Cloud based DRP
InterCloud - Cloud based DRP
 
Roger boesch news xd_xa_nov (1)
Roger boesch news xd_xa_nov (1)Roger boesch news xd_xa_nov (1)
Roger boesch news xd_xa_nov (1)
 
AWS Re:Invent - High Availability Architecture at Netflix
AWS Re:Invent - High Availability Architecture at NetflixAWS Re:Invent - High Availability Architecture at Netflix
AWS Re:Invent - High Availability Architecture at Netflix
 
NetflixOSS Meetup
NetflixOSS MeetupNetflixOSS Meetup
NetflixOSS Meetup
 

Viewers also liked

Cloud Design Patterns - PRESCRIPTIVE ARCHITECTURE GUIDANCE FOR CLOUD APPLICAT...
Cloud Design Patterns - PRESCRIPTIVE ARCHITECTURE GUIDANCE FOR CLOUD APPLICAT...Cloud Design Patterns - PRESCRIPTIVE ARCHITECTURE GUIDANCE FOR CLOUD APPLICAT...
Cloud Design Patterns - PRESCRIPTIVE ARCHITECTURE GUIDANCE FOR CLOUD APPLICAT...David J Rosenthal
 
Chris Anderson and Yochay Kiriaty - Serverless Patterns with Azure Functions
Chris Anderson and Yochay Kiriaty - Serverless Patterns with Azure FunctionsChris Anderson and Yochay Kiriaty - Serverless Patterns with Azure Functions
Chris Anderson and Yochay Kiriaty - Serverless Patterns with Azure FunctionsServerlessConf
 
[Webinar Slides] 7 Key ECM Changes - A Look Ahead to 2017
[Webinar Slides] 7 Key ECM Changes - A Look Ahead to 2017 [Webinar Slides] 7 Key ECM Changes - A Look Ahead to 2017
[Webinar Slides] 7 Key ECM Changes - A Look Ahead to 2017 AIIM International
 

Viewers also liked (6)

Cloud Design Patterns - PRESCRIPTIVE ARCHITECTURE GUIDANCE FOR CLOUD APPLICAT...
Cloud Design Patterns - PRESCRIPTIVE ARCHITECTURE GUIDANCE FOR CLOUD APPLICAT...Cloud Design Patterns - PRESCRIPTIVE ARCHITECTURE GUIDANCE FOR CLOUD APPLICAT...
Cloud Design Patterns - PRESCRIPTIVE ARCHITECTURE GUIDANCE FOR CLOUD APPLICAT...
 
Cloud Design Patterns
Cloud Design PatternsCloud Design Patterns
Cloud Design Patterns
 
MicroServices on Azure
MicroServices on AzureMicroServices on Azure
MicroServices on Azure
 
Azure Reference Architectures
Azure Reference ArchitecturesAzure Reference Architectures
Azure Reference Architectures
 
Chris Anderson and Yochay Kiriaty - Serverless Patterns with Azure Functions
Chris Anderson and Yochay Kiriaty - Serverless Patterns with Azure FunctionsChris Anderson and Yochay Kiriaty - Serverless Patterns with Azure Functions
Chris Anderson and Yochay Kiriaty - Serverless Patterns with Azure Functions
 
[Webinar Slides] 7 Key ECM Changes - A Look Ahead to 2017
[Webinar Slides] 7 Key ECM Changes - A Look Ahead to 2017 [Webinar Slides] 7 Key ECM Changes - A Look Ahead to 2017
[Webinar Slides] 7 Key ECM Changes - A Look Ahead to 2017
 

Similar to CloudFest Denver Windows Azure Design Patterns

Middleware in the cloud platform-v2
Middleware in the cloud   platform-v2Middleware in the cloud   platform-v2
Middleware in the cloud platform-v2Hammad Rajjoub
 
AWS re:Invent 2016: How to Migrate Microsoft Windows Applications to AWS Quic...
AWS re:Invent 2016: How to Migrate Microsoft Windows Applications to AWS Quic...AWS re:Invent 2016: How to Migrate Microsoft Windows Applications to AWS Quic...
AWS re:Invent 2016: How to Migrate Microsoft Windows Applications to AWS Quic...Amazon Web Services
 
Cf intro for spring devs
Cf intro for spring devsCf intro for spring devs
Cf intro for spring devsEric Bottard
 
OpenStack Boston User Group, OpenStack overview
OpenStack Boston User Group, OpenStack overviewOpenStack Boston User Group, OpenStack overview
OpenStack Boston User Group, OpenStack overviewOpen Stack
 
Patterns for Cloud Computing
Patterns for Cloud ComputingPatterns for Cloud Computing
Patterns for Cloud ComputingSimon Guest
 
EMEA OpenStack Day, July 13th 2011 in London - Jim Curry intro
EMEA OpenStack Day, July 13th 2011 in London - Jim Curry introEMEA OpenStack Day, July 13th 2011 in London - Jim Curry intro
EMEA OpenStack Day, July 13th 2011 in London - Jim Curry introOpen Stack
 
Scalable networking in Apache CloudStack
Scalable networking in Apache CloudStackScalable networking in Apache CloudStack
Scalable networking in Apache CloudStackChiradeep Vittal
 
CloudStack-Developer-Day
CloudStack-Developer-DayCloudStack-Developer-Day
CloudStack-Developer-DayKimihiko Kitase
 
CloudStack Best Practice in PPTV
CloudStack Best Practice in PPTVCloudStack Best Practice in PPTV
CloudStack Best Practice in PPTVgavin_lee
 
EMEA OpenStack Day Intro, July 13th 2011 in London
EMEA OpenStack Day Intro, July 13th 2011 in LondonEMEA OpenStack Day Intro, July 13th 2011 in London
EMEA OpenStack Day Intro, July 13th 2011 in LondonMark Collier
 
6 Roadmap Cloudstack Developer Day
6 Roadmap Cloudstack Developer Day6 Roadmap Cloudstack Developer Day
6 Roadmap Cloudstack Developer DayKimihiko Kitase
 
Content Management and Running your Website on AWS
Content Management and Running your Website on AWSContent Management and Running your Website on AWS
Content Management and Running your Website on AWSAmazon Web Services
 
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
 
1 Introduction at CloudStack Developer Day
1 Introduction at CloudStack Developer Day 1 Introduction at CloudStack Developer Day
1 Introduction at CloudStack Developer Day Kimihiko Kitase
 
Web Scale Applications using NeflixOSS Cloud Platform
Web Scale Applications using NeflixOSS Cloud PlatformWeb Scale Applications using NeflixOSS Cloud Platform
Web Scale Applications using NeflixOSS Cloud PlatformSudhir Tonse
 
Hacking apache cloud stack
Hacking apache cloud stackHacking apache cloud stack
Hacking apache cloud stackNitin Mehta
 
Continuous Deployment Practices, with Production, Test and Development Enviro...
Continuous Deployment Practices, with Production, Test and Development Enviro...Continuous Deployment Practices, with Production, Test and Development Enviro...
Continuous Deployment Practices, with Production, Test and Development Enviro...Amazon Web Services
 
HA and DR for Cloud Workloads
HA and DR for Cloud WorkloadsHA and DR for Cloud Workloads
HA and DR for Cloud Workloadsswamybabu
 
The Hybrid Windows Azure Application
The Hybrid Windows Azure ApplicationThe Hybrid Windows Azure Application
The Hybrid Windows Azure ApplicationMichael Collier
 

Similar to CloudFest Denver Windows Azure Design Patterns (20)

Middleware in the cloud platform-v2
Middleware in the cloud   platform-v2Middleware in the cloud   platform-v2
Middleware in the cloud platform-v2
 
AWS re:Invent 2016: How to Migrate Microsoft Windows Applications to AWS Quic...
AWS re:Invent 2016: How to Migrate Microsoft Windows Applications to AWS Quic...AWS re:Invent 2016: How to Migrate Microsoft Windows Applications to AWS Quic...
AWS re:Invent 2016: How to Migrate Microsoft Windows Applications to AWS Quic...
 
Cf intro for spring devs
Cf intro for spring devsCf intro for spring devs
Cf intro for spring devs
 
OpenStack Boston User Group, OpenStack overview
OpenStack Boston User Group, OpenStack overviewOpenStack Boston User Group, OpenStack overview
OpenStack Boston User Group, OpenStack overview
 
Patterns for Cloud Computing
Patterns for Cloud ComputingPatterns for Cloud Computing
Patterns for Cloud Computing
 
EMEA OpenStack Day, July 13th 2011 in London - Jim Curry intro
EMEA OpenStack Day, July 13th 2011 in London - Jim Curry introEMEA OpenStack Day, July 13th 2011 in London - Jim Curry intro
EMEA OpenStack Day, July 13th 2011 in London - Jim Curry intro
 
Scalable networking in Apache CloudStack
Scalable networking in Apache CloudStackScalable networking in Apache CloudStack
Scalable networking in Apache CloudStack
 
CloudStack-Developer-Day
CloudStack-Developer-DayCloudStack-Developer-Day
CloudStack-Developer-Day
 
CloudStack Best Practice in PPTV
CloudStack Best Practice in PPTVCloudStack Best Practice in PPTV
CloudStack Best Practice in PPTV
 
EMEA OpenStack Day Intro, July 13th 2011 in London
EMEA OpenStack Day Intro, July 13th 2011 in LondonEMEA OpenStack Day Intro, July 13th 2011 in London
EMEA OpenStack Day Intro, July 13th 2011 in London
 
Netflix and Open Source
Netflix and Open SourceNetflix and Open Source
Netflix and Open Source
 
6 Roadmap Cloudstack Developer Day
6 Roadmap Cloudstack Developer Day6 Roadmap Cloudstack Developer Day
6 Roadmap Cloudstack Developer Day
 
Content Management and Running your Website on AWS
Content Management and Running your Website on AWSContent Management and Running your Website on AWS
Content Management and Running your Website on AWS
 
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 ...
 
1 Introduction at CloudStack Developer Day
1 Introduction at CloudStack Developer Day 1 Introduction at CloudStack Developer Day
1 Introduction at CloudStack Developer Day
 
Web Scale Applications using NeflixOSS Cloud Platform
Web Scale Applications using NeflixOSS Cloud PlatformWeb Scale Applications using NeflixOSS Cloud Platform
Web Scale Applications using NeflixOSS Cloud Platform
 
Hacking apache cloud stack
Hacking apache cloud stackHacking apache cloud stack
Hacking apache cloud stack
 
Continuous Deployment Practices, with Production, Test and Development Enviro...
Continuous Deployment Practices, with Production, Test and Development Enviro...Continuous Deployment Practices, with Production, Test and Development Enviro...
Continuous Deployment Practices, with Production, Test and Development Enviro...
 
HA and DR for Cloud Workloads
HA and DR for Cloud WorkloadsHA and DR for Cloud Workloads
HA and DR for Cloud Workloads
 
The Hybrid Windows Azure Application
The Hybrid Windows Azure ApplicationThe Hybrid Windows Azure Application
The Hybrid Windows Azure Application
 

More from David Pallmann

Windows 8 and the Cloud
Windows 8 and the CloudWindows 8 and the Cloud
Windows 8 and the CloudDavid Pallmann
 
Don't Be a Lopsided Web Developer
Don't Be a Lopsided Web DeveloperDon't Be a Lopsided Web Developer
Don't Be a Lopsided Web DeveloperDavid Pallmann
 
The Modern Web Part 4: Cloud Computing
The Modern Web Part 4: Cloud ComputingThe Modern Web Part 4: Cloud Computing
The Modern Web Part 4: Cloud ComputingDavid Pallmann
 
The Modern Web Part 3: Social Networking
The Modern Web Part 3: Social NetworkingThe Modern Web Part 3: Social Networking
The Modern Web Part 3: Social NetworkingDavid Pallmann
 
The Modern Web, Part 2: HTML5
The Modern Web, Part 2: HTML5The Modern Web, Part 2: HTML5
The Modern Web, Part 2: HTML5David Pallmann
 
The Modern Web, Part 1: Mobility
The Modern Web, Part 1: MobilityThe Modern Web, Part 1: Mobility
The Modern Web, Part 1: MobilityDavid Pallmann
 
CloudFest Denver When Worlds Collide: HTML5 Meets the Cloud
CloudFest Denver When Worlds Collide: HTML5 Meets the CloudCloudFest Denver When Worlds Collide: HTML5 Meets the Cloud
CloudFest Denver When Worlds Collide: HTML5 Meets the CloudDavid Pallmann
 
When worlds Collide: HTML5 Meets the Cloud
When worlds Collide: HTML5 Meets the CloudWhen worlds Collide: HTML5 Meets the Cloud
When worlds Collide: HTML5 Meets the CloudDavid Pallmann
 

More from David Pallmann (9)

Windows 8 and the Cloud
Windows 8 and the CloudWindows 8 and the Cloud
Windows 8 and the Cloud
 
Don't Be a Lopsided Web Developer
Don't Be a Lopsided Web DeveloperDon't Be a Lopsided Web Developer
Don't Be a Lopsided Web Developer
 
Gamification
GamificationGamification
Gamification
 
The Modern Web Part 4: Cloud Computing
The Modern Web Part 4: Cloud ComputingThe Modern Web Part 4: Cloud Computing
The Modern Web Part 4: Cloud Computing
 
The Modern Web Part 3: Social Networking
The Modern Web Part 3: Social NetworkingThe Modern Web Part 3: Social Networking
The Modern Web Part 3: Social Networking
 
The Modern Web, Part 2: HTML5
The Modern Web, Part 2: HTML5The Modern Web, Part 2: HTML5
The Modern Web, Part 2: HTML5
 
The Modern Web, Part 1: Mobility
The Modern Web, Part 1: MobilityThe Modern Web, Part 1: Mobility
The Modern Web, Part 1: Mobility
 
CloudFest Denver When Worlds Collide: HTML5 Meets the Cloud
CloudFest Denver When Worlds Collide: HTML5 Meets the CloudCloudFest Denver When Worlds Collide: HTML5 Meets the Cloud
CloudFest Denver When Worlds Collide: HTML5 Meets the Cloud
 
When worlds Collide: HTML5 Meets the Cloud
When worlds Collide: HTML5 Meets the CloudWhen worlds Collide: HTML5 Meets the Cloud
When worlds Collide: HTML5 Meets the Cloud
 

Recently uploaded

"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 

Recently uploaded (20)

"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 

CloudFest Denver Windows Azure Design Patterns

  • 1. Windows Azure Design Patterns David Pallmann GM Custom App Dev, Neudesic http://davidpallmann.blogspot.com @davidpallmann
  • 2. AGENDA 1. General Cloud Computing Patterns 2. Patterns in the Windows Azure platform – Compute – Storage – Relational Database – Communication – Security – Network 3. Cloud application patterns 4. Discussion / Q & A
  • 3. General Pu Pr Hy Ia Pa Sa Ps Su Compute Ro In We Wo Vr Lb Ep Ei Ca Storage Bl Co Qm Qu Ta En Pk Rk Ep DB Ds Db Rd Re Sg Sh Fr Fm Comm Sb Sq To Su Fi Network Vn Rg Mg Cd Tm Rl Rf Rd Security Ip Rp Ts Tk Cl Ra “Periodic Table” of Cloud Patterns
  • 4. Part 1: General Cloud Patterns Cloud Types Cloud Levels of Use Platform Pu Pr Hy Ia Pa Sa Ps Su PUBLIC PRIVATE HYBRID INFRASTR. PLATFORM SOFTWARE PLATFORM SUBSCRIP- CLOUD CLOUD CLOUD AS A SVCE AS A SVCE AS A SVCE SERVICE TION
  • 5. Public, Private, Hybrid Cloud Pu Pr Hy Public Cloud Private Cloud Hybrid Cloud
  • 6. Pu Public Cloud PUBLIC CLOUD • Advanced data center, global presence • On-demand, elastic scale, well-managed • Multi-tenant, consumption-based pricing PUBLIC CLOUD INFRASTRUCTURE
  • 7. Pr Private Cloud PRIVATE CLOUD • On-premises virtualization infrastructure • Shares some characteristics of public cloud • Upcoming Windows Server 8 is able to virtually pool and allocate compute, storage, network resources in a multi-tenant fashion YOUR CLOUD INFRASTRUCTURE
  • 8. Hy Hybrid Cloud HYBRID CLOUD • Connect public cloud with • private cloud CLOUD VENDOR INFRASTRUCTURE • Integrate via VPN or other means YOUR CLOUD INFRASTRUCTURE
  • 9. IaaS, PaaS, & SaaS Ia Pa Sa INFRASTR. PLATFORM SOFTWARE AS A SVCE AS A SVCE AS A SVCE IaaS PaaS SaaS Raw Virtual Resources App Services Platform Just Use It “Bring Your Own VM“ “Bring Your Own App” “Bring Your Own User”
  • 10. Ps Platform Service PLATFORM SERVICE • Service provided by the cloud platform • Compute Service – Run your software in the cloud data center – Most intimate level of cloud computing – Other services generally usable in-cloud or on-prem • RESTful Services – Most cloud services use HTTP REST – Storage, Communication, Management, … • Interop Services – Use a specific protocol for interop / compatibility – Example: SQL Azure Database (TDS protocol)
  • 11. Su Subscription SUBSCRIP- TION • Ongoing billing arrangement • Consumption-based • Services used have pricing meters • Types – Month-to-month – Term subscription – Negotiated terms • Month-to-month is easy entry / easy exit without residual obligations • Term or negotiated subscriptions can get you a discount in exchange for a commitment
  • 12. Part 2: Patterns Inherent in the Windows Azure Platform
  • 13. Ps PLATFORM Compute Service SQL Azure Reporting SERVICE S Storage Service Cache Service Blob Storage Service Bus Queue Storage Access Control Service Table Storage Windows Azure Traffic Manager SQL Azure Database SQL Azure Data Sync Service DataMarket SQL Azure Import Export Service CDN Windows Azure Connect
  • 14. Df Du FAULT UPGRADE DOMAIN DOMAIN Fault & Upgrade Domains • Fault domain – Spreads out your redundant servers / storage across the data center so a large failure doesn’t take out all of your resources • Upgrade domain – How patches or application updates are applied – Upgrades parts of your application in sequence (“red black pattern”) to maintain availability
  • 15. Fault Domain 1 Fault Domain 2 Fault Domain 3 Upgrade Domain 1 Fault Role A Instance 1 Role B Instance 2 Role C Instance 3 Domains & Upgrade Upgrade Domain 2 Domains Role B Instance 1 Role C Instance 2 Role A Instance 3 Upgrade Domain 3 Role C Role A Role B Instance 1 Instance 2 Instance 3
  • 16. Compute Patterns Roles Endpoints Cache Ro In We Wo Vr Lb Ep Ei Ca ROLE INSTANCE WEB WORKER VM LOAD INPUT INTERNAL CACHE ROLE ROLE ROLE BALANCER ENDPOINT ENDPONIT SERVICE
  • 17. Hs Hosted Service HOSTED SERVICE • Your app, hosted in Compute service • Consists of one or more tiers (“roles”) Subscription • Production Windows Azure & Staging Hosted Service Project Regional deployment Data Center slots Production Staging Deployment Deployment Slot Slot
  • 18. Ro In Roles & Instances ROLE INSTANCE • Role: a tier of your app (VM farm) • Instance: VM, member of a role (5 sizes) • Role has one or more instances (2+ for SLA) • VM instances are volatile, roles are sturdy VM VM VM VM VM
  • 19. We Wo Vr WEB WORKER VM ROLE ROLE ROLE Web Role Worker Role VM Role Web Container General-purpose Container VM Image Configured with Configured with You prepare a VM Windows Server, IIS & Windows Server a public LB endpoint Upload your app Upload your app Upload a full VM PaaS PaaS IaaS Managed Managed You Manage Auto patched Auto patched No auto-patching
  • 20. Lb Ep Ei LOAD INPUT INTERNAL Endpoints BALANCER ENDPOINT ENDPOINT • Allows access to a role • Load balancer: round-robin • Input (public) endpoint: public, load-balanced • Internal endpoint: only accessible by cloud app VM VM VM VM VM
  • 21. Dp Di Deployment Patterns PAAS DEPLOYMENT IAAS DEPLOYMENT PaaS IaaS Compute Service Compute Service HOSTED HOSTED SERVICE SERVICE APPLICATION SERVICE SERVICE CUSTOM VM RUNTIME METADATA METADATA IMAGE FILES
  • 22. Web Role Compute Tier Worker Role Compute Tier VM VM VM VM Queue VM VM Compute Patterns Example
  • 23. Ca Cache Service CACHE SERVICE • Cache Service • Distributed Memory Cache • Available in different sizes • Same programming model as Windows Server Cache (“Velocity”)
  • 24. Windows Azure Compute Attendee Bee Conference App HTML5/Mobile ASP.NET/MVC web site hosted in a Web Role
  • 25. Storage Patterns Blob Storage Queue Storage Table Storage Bl Co Qm Qu Ta En Pk Rk Ep BLOB CONTAINER QUEUE QUEUE TABLE ENTITY PARTITION ROW ENTITY MESSAGE KEY KEY PROPERTY
  • 26. Primitive Storage vs. Database • Ratio of primitive : relational data is frequently higher in the cloud • Cheap: pennies per gigabyte/mo • Scale: no practical size limit • Simple: less complexity / overhead • Lighter: optimistic concurrency • Trendy: fueled by trends in cloud / mobile arch/ & movements like NoSQL
  • 27. Blob, Queue, & Table Storage Bl Qu Ta BLOB QUEUE TABLE Blob Storage Queue Storage Table Storage File-like Simple queues Big, cheap tables Use for anything you For queuing task Structured data where would normally use a messages you don’t need file for relational features
  • 28. Bl Co Blob Storage BLOB CONTAINER • Blob: File-like storage • Container: Holds blobs, like folder • Name, data, metadata • Sequential/streamed access • Simple put/get operations • Data stored with redundancy • Provides persistence for VMs • Directly reference blobs as URIs • 2 kinds of blobs: block (sequential), page (random)
  • 29. Qu Qm Queue Storage QUEUE QUEUE MESSAGE • Queue: holds messages • Messages: small string or XML content • Access semantics may differ from enterprise queue technologies you are used to • Enterprise reasons to use queues also apply in the cloud • Can use queues to load-balance workers • Can use queues to coordinate work across roles • Strict FIFO not guaranteed due to queue semantics
  • 30. Ta En Table Storage TABLE ENTITY • Big, cheap data tables • Simple record-oriented storage • Table: hold entities (records) • Entity: contains properties (fields) • Does not enforce a schema • No relational features • Partition Key + Row Key = a unique key En : Pk Rk Ep Ep Ep ENTITY PARTITION ROW ENTITY ENTITY ENTITY KEY KEY PROPERTY PROPERTY PROPERTY
  • 31. Storage Examples MEDIA CONTAINER 20 GB CONTACTS TABLE 1000 40 40 COUNTRY (PK) IMAGES VIDEO XML CUSTOMER ID (RK) LAST NAME FIRST NAME STREET CITY STATE POSTAL PHONE ORDER QUEUE EMAIL WEB PHONE ORDERS ORDERS
  • 32. Windows Azure Storage AttendeeBee Conference App Blob & Table Storage
  • 33. Relational Data Patterns Database Reporting Data Sync Federation Service Service Service Db Db Rd Re Sg Sh Fr Fm DATABASE DATABASE REPORT REPORT SYNC SYNC FEDERATION FEDERATION SERVER DEFINITION ENDPOINT GROUP HUB ROOT MEMBER
  • 34. Relational Database Services Db Rs DATABASE REPORT SERVICE SERVICE Sql Azure Database Sql Azure Reporting Database Service Reporting Service Sy Fr SYNC FEDERATION SERVICE SERVICE SQL Azure Data Sync Sql Azure Federations Synchronization Service Database Federation Service
  • 35. Ds Db DATABASE DATABASE SERVER SQL Azure Database • Relational DB as a service • One master and two replicants, auto failover • Physical management handled for you • Has most SQL Server features but not all • Size limit of 150GB • Database Server: virtual DB server (actually 3) • Database: database contained in a DB server
  • 36. Rd Re REPORT REPORT DEFINITION ENDPOINT SQL Azure Reporting • DB reporting as a service • Similar experience to SSRS • Source is SQL Azure Database • Use BIDS to create reports, RDF format • Rd: report definition • Re: web-accessible reporting endpoint
  • 37. Sg Sh SYNC GROUP SYNC HUB SQL Azure Data Sync • 1-way or bi-directional syncing • SQL Azure to SQL Azure • SQL Azure to SQL Server • Hub and spoke model: all syncing is to and/or from the hub SQL Azure database • Can trigger a sync manually or schedule • Sync: Synchronization operation • Sync group: Defines group of DBs for syncing • Sync hub: the hub of the sync group
  • 38. Fr Fm FEDERATION FEDERATION ROOT MEMBER SQL Azure Federations • Database federation • Partition or shard to multiple databases, have a “federation database” that looks like one DB • Federation Root: federation root database • Federation Member: member database
  • 39. Database Service T-Shirt World Orders database SQL Azure Database
  • 40. Communication Patterns Service Bus Service Bus Queues Sb Sq To Su Fi SERVICE SERVICE BUS TOPIC SUBSCRIP- FILTER BUS QUEUE TION
  • 41. Sb Service Bus SERVICE BUS • Using the cloud as a communication relay • Navigates NATs, firewalls, proxies well • Supports client-service, eventing/pub-sub messaging patterns • Volatile (best effort) messaging
  • 42. Sq Service Bus Queues SERVICE BUS QUEUE • Service Bus Queue: Durable messaging To • Topic: publish point for durable messaging TOPIC • Subscription: receiver of durable messaging • Filter : criteria on which messages to receive Su SUBSCRIP- TION Fi FILTER
  • 43. Service Bus - Queues Sender Queue Receiver
  • 44. Service Bus - Queues Receiver Sender Queue Receiver
  • 45. Service Bus – Topics & Subscriptions Subscriber Subscription Sender Topic Subscription Subscriber
  • 46. Service Bus – Filters Subscription Subscriber Ship = AIR Sender Topic Subscription Ship = GROUND Subscriber
  • 47. Web Site (Compute, Storage) Queue (Service Bus) 1 Submit Order orders Back End (Compute) 3 Order is Dequeued 2 Order is Queued Database (SQL Azure) orders 4 Order is Stored in Database
  • 48. Service Bus T-Shirt World Using a Service Bus Queue to Relay Orders for Processing
  • 49. Security Patterns Claims-based Security Ip Rp Ts Tk Cl Ra IDENTITY RELYING SECURITY TOKEN CLAIM REDIRECTED PROVIDER PARTY TOKEN AUTHENTICATION SERVICE
  • 50. Ip Claims-based Security IDENTITY PROVIDER • Modern way to do AuthN/AuthZ Rp • Use with web/social identity, domain identity • Access Control Service provides federated identity RELYING PARTY • Identity Provider: Party providing security token with claims • Relying Party: application that wants to Ts authenticate/authorize user • Security Token Service: how application/user SECURITY TOKEN authenticates (interactively or programmatically) SERVICE • Redirected Authentication: user visits app, user redirected to STS to sign in, redirected back to app with Ra token REDIRECTED AUTHENTICATION
  • 51. Claims-based Security Web Identity Google Windows Azure ACS Yahoo! RP WEB ROLE 2+ S Live ID S
  • 52. Windows Azure WEB ROLE 2+ Claims-based Security S S Domain Identity RP Enterprise ADFS AD
  • 53. Access Control Service Responsive Tours Identity Federation Sign-in with Windows Live ID, Yahoo!, or Google
  • 54. Networking Patterns VPN Connection CDN Traffic Manager Vn Rg Mg Cd Tm Rl Rf Rd VIRTUAL ROLE MACHINE CONTENT TRAFFIC LOCALE-BASED FAILOVER DISTRIBUTED NETWORK GROUP GROUP DELIVERY MANAGER ROUTING ROUTING ROUTING NETWORK
  • 55. Vn VPN Connection VIRTUAL NETWORK • Windows Azure Connect Rg • Virtual Network: VPN connection between ROLE GROUP cloud and on-prem machines • Role Group: indicates which roles are Mg members of a virtual network MACHINE • Machine Group: indicates which on-prem GROUP machines are members of a virtual network
  • 56. Windows Azure Connect Example ASP.NET web site in the cloud accessing on-prem SQL Server DB WEB ROLE 3 S S S SQL SERVER DATABASE
  • 57. Cd CDN CONTENT DELIVERY NETWORK • Content Delivery Network • CDN: Utilizes worldwide network of 24+ edge server to deliver content efficiently • Often used for media • Locale-directed DNS goes to nearest node to serve up cached content • Content sources from blob storage or your hosted service
  • 58. Tm Traffic Manager TRAFFIC MANAGER • Windows Azure Traffic Manager Rl • Traffic Manager: Routes DNS access to your hosted service to one of several possible deployments based on rules LOCALE-BASED ROUTINE • Locale-based Routing: route to a deployment based on locale • Failover Routing: route to a secondary if primary is not Rf healthy (via a heartbeat) • Distributed Routing: route based on a desired distribution FAILOVER across data centers ROUTING Rd DISTRIBUTED ROUTING
  • 59. Traffic Manager Responsive Tours Worldwide Deployment to 3 Continents with Traffic Management
  • 61. Competing Consumers • Can “load balance” back end of worker roles using queues Queue Worker Role
  • 62. Web Role Use Queues to Coordinate Roles • Front end can submit tasks for the back end • Both front end and Q back end can be scaled to accommodate load Worker Role
  • 63. WEB FARM CQRS-READS RELATIONAL DATA CQRS Pattern • Command/Query PUBLIC CLOUD CLUSTERED / PARTITIONED DB Responsibility WEB FARM CQRS-WRITES NON-RELATIONAL DATA Segregation • Best for large implementations FILES, QUEUES • Separate read & write • You probably don’t do the same amount of each • Take advantage of lightweight read mechanisms • Safer – avoid accidental updates/deletes
  • 64. Modern Web Solutions “Connected Devices, Continuous Services”
  • 65. HOMOGENOUS FRONT END DEDICATED BACK END WEB SERVER DATABASE SERVER Web Application SQL DESKTOP Web Services Server BROWSER IIS Windows Server
  • 66. Modern Web Application HETEROGENEOUS FRONT END DECENTRALIZED BACK END Platform DESKTOP Application Services BROWSER CLOUD Business Data Stores Services TABLET Identity IP Directories Services PHONE PARTNER Partner Data Stores Services
  • 67. Modern Web Application Attendee Bee Conference App Open, Mobile, Global & Social
  • 68. General Pu Pr Hy Ia Pa Sa Ps Su Compute Ro In We Wo Vr Lb Ep Ei Ca Storage Bl Co Qm Qu Ta En Pk Rk Ep DB Ds Db Rd Re Sg Sh Fr Fm Comm Sb Sq To Su Fi Network Vn Rg Mg Cd Tm Rl Rf Rd Security Ip Rp Ts Tk Cl Ra
  • 69. Thanks! Windows Azure Design Patterns David Pallmann GM Custom App Dev, Neudesic http://davidpallmann.blogspot.com @davidpallmann