SlideShare a Scribd company logo
1 of 23
Leverage Azure and SQL Azure to
     build SaaS applications
         (Lander Case).
                            Juan De Abreu
                           jdeabreu@getcs.com


© Copyright 2011 Common Sense2011 Common Sense LLC
                   © Copyright LLC www.GetCS.com     #CSWebinar   www.GetCS.com
Twitter




                      # csWebinar



          © Copyright 2011 Common Sense LLC   www.GetCS.com   #CSWebinar
Agenda


•   Considerations
•   Azure Overview
•   Aspects we need to be prepared for
•   Lander Application
•   Summary and Q&A




           © Copyright 2011 Common Sense LLC   www.GetCS.com   #CSWebinar
Considerations


•   Get out of the infrastructure business
•   Subscription Payment Model: Pay as you go
•   Obtain elastic IT Capacity: Pay as you grow / peak
•   High Availability, (SLA).
•   Reduce Upfront Cost, Storage Cost.
•   Improve time to market.
•   Rapid Innovation. Quick Update Cycles.




           © Copyright 2011 Common Sense LLC   www.GetCS.com   #CSWebinar
Azure Overview




       © Copyright 2011 Common Sense LLC   www.GetCS.com   #CSWebinar
Azure Solution Architecture




                            Network Load Balancer
                                                                                   SQL
                                                    Web              Worker
                                                    Role             Role


                                                           Your Services           SQL
 Internet

                                                                Queues
                                                                 Blobs             SQL
                                                                Tables


                                                              Your Storage
                                                                                 SQL Azure
                      Windows Azure Services                                      Services


            © Copyright 2011 Common Sense LLC       www.GetCS.com   #CSWebinar
Aspects we need to be prepared for


• Partition the Application
• Queues
• Units of Scale
• Load Balancer (Prepare for Failure)
   • No server Affinity
   • No sticky session
   • Stateless
   • Resources are Shared
• Scaling
   • Compute
   • Storage


         © Copyright 2011 Common Sense LLC   www.GetCS.com   #CSWebinar
Partition of the application

   Prepare to Scale Out




                                                               Async, loosely
                                                               coupled services
       Monolithic                              Sales
                                                                                  Inventory
       Application                             Orders




    Begin Transaction                      Soft Reservation Msg Sync
     Check Inventory                       If Succeed
     Create Order                             Begin Transaction
     Reserve Inventory                         Create Order
    Commit Transaction                         Create Message
                                              Commit Transaction     Begin Transaction
                                           End If                      DeQueue Msg
                                                                       Firm Soft Reserve
                                                                     Commit Transaction
           © Copyright 2011 Common Sense LLC   www.GetCS.com      #CSWebinar
Queue Management


    Web Role                                                   Worker Role


    Instance 1                                                   Instance 1   Busy




    Instance 1                                                   Instance 1   Free




    Instance 1                                                   Instance 1   Busy




                 Put Message



         © Copyright 2011 Common Sense LLC   www.GetCS.com   #CSWebinar
Queue Management


    Web Role                                                   Worker Role


    Instance 1                                                   Instance 1   Busy




                                             Get Message
    Instance 1                                                   Instance 1   Free




    Instance 1                                                   Instance 1   Busy




         © Copyright 2011 Common Sense LLC   www.GetCS.com   #CSWebinar
Working with queues

• Methods
  • GetMessage = 1 REST call one message read
  • GetMessages(32) = 1 REST call up to 32 messages
    read.

• Dynamic Delay based on Traffic

• Operational Cost

   1 year, 24h/day, 10 GetMessage call per second
   = $315,36

   1 year, 24h/day, 1 GetMessage call per minute
   = $0,52
         © Copyright 2011 Common Sense LLC   www.GetCS.com   #CSWebinar
Units of Scale Pattern

• Scaling Should Be done in units
• A unit-of-Scale is a combination of components in
  multiple layers
• Application Instances and a database should be
  considered as a unit-of-scale

• If you add more compute instances you should add
  database/storage
• Not necessary 1 to 1, but you should know how many
  instances a database can handle and add if needed.

• Consider all mechanisms that have different scaling
  behavior, Queues, storage, blob drive IO,
  bandwidth…etc.
         © Copyright 2011 Common Sense LLC   www.GetCS.com   #CSWebinar
Load Balancer


         Network Load Balancer
                                                     Web
                                                     Role 1

                                 Round
                                 Robin

                                                     Web
                                                     Role 2




                                                     Web
                                                     Role 3


                                                 Your Services




        © Copyright 2011 Common Sense LLC   www.GetCS.com     #CSWebinar
Prepare for failure

• Stateless
• No server Affinity
   • Do not write data to the local filesystem
   • Write Data to Azure Storage
• No sticky session
   • Avoid use session variables
   • Store State in SQL Azure
   • Redirect session state to AppFabric Caching
• Resources are Shared




         © Copyright 2011 Common Sense LLC   www.GetCS.com   #CSWebinar
Scaling Compute

                                             321654
                                             6
                                             1.00987
                                             98756
                                             3
   App                                       1.5567546                          DB
                                             7
                                             0.68976
                                             0




     Add or                Define Metrics and polling intervals
     Reduces
     the                             Scaling Engine
     instances
     count                                               Changes de configuration

                                       Configuration


         © Copyright 2011 Common Sense LLC   www.GetCS.com   #CSWebinar
Scaling Storage

• Azure Storage supports huge volume tables
• Table schema is part of your application
• Huge Capacity
   • 100TB of storage per storage account
   • 5 storage accounts per subscription
• Need of partitioning your tables to have a good
  response time
• Azure will move Hot Partitions to separate nodes
  to Achieve SLA’s




         © Copyright 2011 Common Sense LLC   www.GetCS.com   #CSWebinar
Azure tables


  Tables are partitioned to
  support load balancing
  across storage nodes
                                                             partition key
                                                                             Unique
                                                               row key
                                                             timestamp
                               table
                                                                 field1
                                                                 field2
                                                                 field3


         © Copyright 2011 Common Sense LLC   www.GetCS.com    #CSWebinar
Table Partitioning


       A                  1              foo               bar                      etc
       A                  2              foo               bar                      etc
       B                  1              foo               bar                      etc

                 Partition A                                               Partition B

   A       1        foo       bar       etc                B       1         foo      bar   etc

   A       2        foo       bar       etc



           Storage node 1                                          Storage node 2


               © Copyright 2011 Common Sense LLC   www.GetCS.com       #CSWebinar
SQL Azure Throttling /retry logic

• Sharing a SQL Server node means Throttling to
  protect the other customers.
• A connection to a SQL Azure Could be dropped
  unexpectedly.

• Before issuing a command against a connection
  check if is still open, reopen it if close.




         © Copyright 2011 Common Sense LLC   www.GetCS.com   #CSWebinar
Lander


               Publish                                                    View
            Landing Page                                               Landing Page
                                          Presentation
                 Commands                                                Queries
WRITE




                                                                                              READ
                                                 Events
        Domain Model                                                           Query Model
                                          Landing Page
                                            Published


         Relational DB                                                          Query Store




             © Copyright 2011 Common Sense LLC    www.GetCS.com   #CSWebinar
Lander and Windows Azure


        Admin Presentation                          State              Consumer Presentation


          Azure Web Role                                         Azure Web Role       Query Model

Commands                                       App Fabric
Azure Queue                                   Cache Service

                                                                     Azure Worker Role
        Command Handlers

          Domain Model                                                 Event Handlers

        Azure Worker Role                     Events
                                              Azure Queue



              Relational DB                                                        Query Store
               Azure SQL                                                           Azure Blob

                © Copyright 2011 Common Sense LLC    www.GetCS.com    #CSWebinar
Summary

• Multiple benefits by going to the cloud
      High Availability, Elasticity, Low Cost
      Scalability and Performance
      Upgradability

• Multiple design patters considerations to reach de
  benefits
      Application partitioning
      A sync architecture using queues
      Units of scale
      Stateless applications, cache management
      Data partitioning
      Retry logic on SQL Azure.

          © Copyright 2011 Common Sense LLC   www.GetCS.com   #CSWebinar
Thanks




                     Juan De Abreu

                     jdeabreu@getcs.com
                     Twitter: juandeabreu
                     Ph: 210 8073552 x 1702
                     Cell: 210 3862492

         © Copyright 2011 Common Sense LLC   www.GetCS.com   #CSWebinar

More Related Content

What's hot

AWS Customer Presentation – What's Up Interactive – AWS Cloud Storage for the...
AWS Customer Presentation – What's Up Interactive – AWS Cloud Storage for the...AWS Customer Presentation – What's Up Interactive – AWS Cloud Storage for the...
AWS Customer Presentation – What's Up Interactive – AWS Cloud Storage for the...Amazon Web Services
 
JavaOne 2012 - BOF7955 ­ Avoiding Java EE Application Design Traps to Achieve...
JavaOne 2012 - BOF7955 ­ Avoiding Java EE Application Design Traps to Achieve...JavaOne 2012 - BOF7955 ­ Avoiding Java EE Application Design Traps to Achieve...
JavaOne 2012 - BOF7955 ­ Avoiding Java EE Application Design Traps to Achieve...Danival Calegari
 
Acquia Managed Cloud: Highly Available Architecture for Highly Unpredictable ...
Acquia Managed Cloud: Highly Available Architecture for Highly Unpredictable ...Acquia Managed Cloud: Highly Available Architecture for Highly Unpredictable ...
Acquia Managed Cloud: Highly Available Architecture for Highly Unpredictable ...Acquia
 
C fowler intro-azure
C fowler intro-azureC fowler intro-azure
C fowler intro-azuresdeconf
 
Avoiding Java EE Application Design Traps to Achieve Effective Use of Cloud C...
Avoiding Java EE Application Design Traps to Achieve Effective Use of Cloud C...Avoiding Java EE Application Design Traps to Achieve Effective Use of Cloud C...
Avoiding Java EE Application Design Traps to Achieve Effective Use of Cloud C...Dr. Spock
 
Take the spaghetti out of windows azure – an insight for it pro techies part 1
Take the spaghetti out of windows azure – an insight for it pro techies part 1Take the spaghetti out of windows azure – an insight for it pro techies part 1
Take the spaghetti out of windows azure – an insight for it pro techies part 1Microsoft TechNet - Belgium and Luxembourg
 
Weblogic Server
Weblogic ServerWeblogic Server
Weblogic Serveracsvianabr
 
Tricks And Tradeoffs Of Deploying My Sql Clusters In The Cloud
Tricks And Tradeoffs Of Deploying My Sql Clusters In The CloudTricks And Tradeoffs Of Deploying My Sql Clusters In The Cloud
Tricks And Tradeoffs Of Deploying My Sql Clusters In The CloudMySQLConference
 
Rails and iOS with RestKit
Rails and iOS with RestKitRails and iOS with RestKit
Rails and iOS with RestKitAndrew Culver
 
MBL303 Scalable Mobile and Web Apps - AWS re: Invent 2012
MBL303 Scalable Mobile and Web Apps - AWS re: Invent 2012MBL303 Scalable Mobile and Web Apps - AWS re: Invent 2012
MBL303 Scalable Mobile and Web Apps - AWS re: Invent 2012Amazon Web Services
 
Build the foundation for Private Cloud
Build the foundation for Private CloudBuild the foundation for Private Cloud
Build the foundation for Private CloudAppZero
 
JavaOne 2011: Migrating Spring Applications to Java EE 6
JavaOne 2011: Migrating Spring Applications to Java EE 6JavaOne 2011: Migrating Spring Applications to Java EE 6
JavaOne 2011: Migrating Spring Applications to Java EE 6Bert Ertman
 
13h00 p duff-building-applications-with-aws-final
13h00   p duff-building-applications-with-aws-final13h00   p duff-building-applications-with-aws-final
13h00 p duff-building-applications-with-aws-finalLuiz Gustavo Santos
 
Games + Amazon = Love - Presentation quo vadis 2011
Games + Amazon = Love - Presentation quo vadis 2011Games + Amazon = Love - Presentation quo vadis 2011
Games + Amazon = Love - Presentation quo vadis 2011Thomas Lobinger
 
Forbidden fruits of Active Directory – Cloning, snapshotting, virtualization
Forbidden fruits of Active Directory  –  Cloning, snapshotting, virtualization Forbidden fruits of Active Directory  –  Cloning, snapshotting, virtualization
Forbidden fruits of Active Directory – Cloning, snapshotting, virtualization Microsoft TechNet - Belgium and Luxembourg
 

What's hot (20)

AWS Customer Presentation – What's Up Interactive – AWS Cloud Storage for the...
AWS Customer Presentation – What's Up Interactive – AWS Cloud Storage for the...AWS Customer Presentation – What's Up Interactive – AWS Cloud Storage for the...
AWS Customer Presentation – What's Up Interactive – AWS Cloud Storage for the...
 
JavaOne 2012 - BOF7955 ­ Avoiding Java EE Application Design Traps to Achieve...
JavaOne 2012 - BOF7955 ­ Avoiding Java EE Application Design Traps to Achieve...JavaOne 2012 - BOF7955 ­ Avoiding Java EE Application Design Traps to Achieve...
JavaOne 2012 - BOF7955 ­ Avoiding Java EE Application Design Traps to Achieve...
 
Acquia Managed Cloud: Highly Available Architecture for Highly Unpredictable ...
Acquia Managed Cloud: Highly Available Architecture for Highly Unpredictable ...Acquia Managed Cloud: Highly Available Architecture for Highly Unpredictable ...
Acquia Managed Cloud: Highly Available Architecture for Highly Unpredictable ...
 
C fowler intro-azure
C fowler intro-azureC fowler intro-azure
C fowler intro-azure
 
Avoiding Java EE Application Design Traps to Achieve Effective Use of Cloud C...
Avoiding Java EE Application Design Traps to Achieve Effective Use of Cloud C...Avoiding Java EE Application Design Traps to Achieve Effective Use of Cloud C...
Avoiding Java EE Application Design Traps to Achieve Effective Use of Cloud C...
 
Take the spaghetti out of windows azure – an insight for it pro techies part 1
Take the spaghetti out of windows azure – an insight for it pro techies part 1Take the spaghetti out of windows azure – an insight for it pro techies part 1
Take the spaghetti out of windows azure – an insight for it pro techies part 1
 
Weblogic Server
Weblogic ServerWeblogic Server
Weblogic Server
 
Tricks And Tradeoffs Of Deploying My Sql Clusters In The Cloud
Tricks And Tradeoffs Of Deploying My Sql Clusters In The CloudTricks And Tradeoffs Of Deploying My Sql Clusters In The Cloud
Tricks And Tradeoffs Of Deploying My Sql Clusters In The Cloud
 
Rails and iOS with RestKit
Rails and iOS with RestKitRails and iOS with RestKit
Rails and iOS with RestKit
 
MBL303 Scalable Mobile and Web Apps - AWS re: Invent 2012
MBL303 Scalable Mobile and Web Apps - AWS re: Invent 2012MBL303 Scalable Mobile and Web Apps - AWS re: Invent 2012
MBL303 Scalable Mobile and Web Apps - AWS re: Invent 2012
 
Build the foundation for Private Cloud
Build the foundation for Private CloudBuild the foundation for Private Cloud
Build the foundation for Private Cloud
 
JavaOne 2011: Migrating Spring Applications to Java EE 6
JavaOne 2011: Migrating Spring Applications to Java EE 6JavaOne 2011: Migrating Spring Applications to Java EE 6
JavaOne 2011: Migrating Spring Applications to Java EE 6
 
Hyper-V Dynamic Memory in Depth
Hyper-V Dynamic Memory in Depth Hyper-V Dynamic Memory in Depth
Hyper-V Dynamic Memory in Depth
 
Prodware wa college - marcel meijer
Prodware   wa college - marcel meijerProdware   wa college - marcel meijer
Prodware wa college - marcel meijer
 
AWS Case Study
AWS Case StudyAWS Case Study
AWS Case Study
 
Microsoft TechDays 2013 - IT Pro Keynote
Microsoft TechDays 2013 - IT Pro KeynoteMicrosoft TechDays 2013 - IT Pro Keynote
Microsoft TechDays 2013 - IT Pro Keynote
 
13h00 p duff-building-applications-with-aws-final
13h00   p duff-building-applications-with-aws-final13h00   p duff-building-applications-with-aws-final
13h00 p duff-building-applications-with-aws-final
 
Building Applications with AWS
Building Applications with AWSBuilding Applications with AWS
Building Applications with AWS
 
Games + Amazon = Love - Presentation quo vadis 2011
Games + Amazon = Love - Presentation quo vadis 2011Games + Amazon = Love - Presentation quo vadis 2011
Games + Amazon = Love - Presentation quo vadis 2011
 
Forbidden fruits of Active Directory – Cloning, snapshotting, virtualization
Forbidden fruits of Active Directory  –  Cloning, snapshotting, virtualization Forbidden fruits of Active Directory  –  Cloning, snapshotting, virtualization
Forbidden fruits of Active Directory – Cloning, snapshotting, virtualization
 

Viewers also liked

Cloud application architecture with sql azure and windows azure
Cloud application architecture with sql azure and windows azureCloud application architecture with sql azure and windows azure
Cloud application architecture with sql azure and windows azureEduardo Castro
 
Internet of Things - Enablement by Techcello
Internet of Things - Enablement by TechcelloInternet of Things - Enablement by Techcello
Internet of Things - Enablement by TechcelloIlyas F ☁☁☁
 
Getting started with microsoft azure in 30 mins
Getting started with microsoft azure in 30 minsGetting started with microsoft azure in 30 mins
Getting started with microsoft azure in 30 minsIlyas F ☁☁☁
 
Inevitability of Multi-Tenancy & SAAS in Product Engineering
Inevitability of Multi-Tenancy & SAAS in Product EngineeringInevitability of Multi-Tenancy & SAAS in Product Engineering
Inevitability of Multi-Tenancy & SAAS in Product EngineeringPrashanth Panduranga
 
Open stack design 2012 applications targeting openstack-final
Open stack design 2012   applications targeting openstack-finalOpen stack design 2012   applications targeting openstack-final
Open stack design 2012 applications targeting openstack-finalrhirschfeld
 
OpenServerSummit: Operating Hybrid Infrastructure
OpenServerSummit:  Operating Hybrid InfrastructureOpenServerSummit:  Operating Hybrid Infrastructure
OpenServerSummit: Operating Hybrid Infrastructurerhirschfeld
 
Achieving Multi-tenanted Business Processes in SaaS Applications
Achieving Multi-tenanted Business Processes in SaaS Applications  Achieving Multi-tenanted Business Processes in SaaS Applications
Achieving Multi-tenanted Business Processes in SaaS Applications Malinda Kapuruge
 
Data Migration and Data-Tier Applications with SQL Azure
Data Migration and Data-Tier Applications with SQL AzureData Migration and Data-Tier Applications with SQL Azure
Data Migration and Data-Tier Applications with SQL AzureMark Kromer
 
OpenStack Preso: DevOps on Hybrid Infrastructure
OpenStack Preso: DevOps on Hybrid InfrastructureOpenStack Preso: DevOps on Hybrid Infrastructure
OpenStack Preso: DevOps on Hybrid Infrastructurerhirschfeld
 
Office Track: SharePoint Online Migration - Asses, Prepare, Migrate & Support...
Office Track: SharePoint Online Migration - Asses, Prepare, Migrate & Support...Office Track: SharePoint Online Migration - Asses, Prepare, Migrate & Support...
Office Track: SharePoint Online Migration - Asses, Prepare, Migrate & Support...ITProceed
 
SaaS and Multi-Tenancy – Foundational Concepts
SaaS and Multi-Tenancy – Foundational ConceptsSaaS and Multi-Tenancy – Foundational Concepts
SaaS and Multi-Tenancy – Foundational ConceptsJeelani Shaik
 
Diese wichtigen britischen straßenschilder sollten sie kennen
Diese wichtigen britischen straßenschilder sollten sie kennenDiese wichtigen britischen straßenschilder sollten sie kennen
Diese wichtigen britischen straßenschilder sollten sie kennenJean-Yves Scauri
 
Put Your Existing Application On Windows Azure
Put Your Existing Application On Windows AzurePut Your Existing Application On Windows Azure
Put Your Existing Application On Windows AzureMaarten Balliauw
 
EEDC 2010. Scaling SaaS Applications
EEDC 2010. Scaling SaaS ApplicationsEEDC 2010. Scaling SaaS Applications
EEDC 2010. Scaling SaaS ApplicationsExpertos en TI
 
Windows Azure Platform + PHP - Jonathan Wong
Windows Azure Platform + PHP - Jonathan WongWindows Azure Platform + PHP - Jonathan Wong
Windows Azure Platform + PHP - Jonathan WongSpiffy
 
IoT & Azure (EventHub)
IoT & Azure (EventHub)IoT & Azure (EventHub)
IoT & Azure (EventHub)Mirco Vanini
 
Top 30 Must Read Blogs about Content Marketing
Top 30 Must Read Blogs about Content MarketingTop 30 Must Read Blogs about Content Marketing
Top 30 Must Read Blogs about Content MarketingCatherine Pham
 
Plan, prepare & overall process of upgrade and migrate to SharePoint 2013
Plan, prepare & overall process of upgrade and migrate to SharePoint 2013Plan, prepare & overall process of upgrade and migrate to SharePoint 2013
Plan, prepare & overall process of upgrade and migrate to SharePoint 2013Kashish Sukhija
 

Viewers also liked (20)

Cloud application architecture with sql azure and windows azure
Cloud application architecture with sql azure and windows azureCloud application architecture with sql azure and windows azure
Cloud application architecture with sql azure and windows azure
 
Internet of Things - Enablement by Techcello
Internet of Things - Enablement by TechcelloInternet of Things - Enablement by Techcello
Internet of Things - Enablement by Techcello
 
Getting started with microsoft azure in 30 mins
Getting started with microsoft azure in 30 minsGetting started with microsoft azure in 30 mins
Getting started with microsoft azure in 30 mins
 
Inevitability of Multi-Tenancy & SAAS in Product Engineering
Inevitability of Multi-Tenancy & SAAS in Product EngineeringInevitability of Multi-Tenancy & SAAS in Product Engineering
Inevitability of Multi-Tenancy & SAAS in Product Engineering
 
Open stack design 2012 applications targeting openstack-final
Open stack design 2012   applications targeting openstack-finalOpen stack design 2012   applications targeting openstack-final
Open stack design 2012 applications targeting openstack-final
 
OpenServerSummit: Operating Hybrid Infrastructure
OpenServerSummit:  Operating Hybrid InfrastructureOpenServerSummit:  Operating Hybrid Infrastructure
OpenServerSummit: Operating Hybrid Infrastructure
 
Achieving Multi-tenanted Business Processes in SaaS Applications
Achieving Multi-tenanted Business Processes in SaaS Applications  Achieving Multi-tenanted Business Processes in SaaS Applications
Achieving Multi-tenanted Business Processes in SaaS Applications
 
Data Migration and Data-Tier Applications with SQL Azure
Data Migration and Data-Tier Applications with SQL AzureData Migration and Data-Tier Applications with SQL Azure
Data Migration and Data-Tier Applications with SQL Azure
 
OpenStack Preso: DevOps on Hybrid Infrastructure
OpenStack Preso: DevOps on Hybrid InfrastructureOpenStack Preso: DevOps on Hybrid Infrastructure
OpenStack Preso: DevOps on Hybrid Infrastructure
 
Office Track: SharePoint Online Migration - Asses, Prepare, Migrate & Support...
Office Track: SharePoint Online Migration - Asses, Prepare, Migrate & Support...Office Track: SharePoint Online Migration - Asses, Prepare, Migrate & Support...
Office Track: SharePoint Online Migration - Asses, Prepare, Migrate & Support...
 
Azure search
Azure searchAzure search
Azure search
 
SaaS and Multi-Tenancy – Foundational Concepts
SaaS and Multi-Tenancy – Foundational ConceptsSaaS and Multi-Tenancy – Foundational Concepts
SaaS and Multi-Tenancy – Foundational Concepts
 
Diese wichtigen britischen straßenschilder sollten sie kennen
Diese wichtigen britischen straßenschilder sollten sie kennenDiese wichtigen britischen straßenschilder sollten sie kennen
Diese wichtigen britischen straßenschilder sollten sie kennen
 
BP Project History
BP Project HistoryBP Project History
BP Project History
 
Put Your Existing Application On Windows Azure
Put Your Existing Application On Windows AzurePut Your Existing Application On Windows Azure
Put Your Existing Application On Windows Azure
 
EEDC 2010. Scaling SaaS Applications
EEDC 2010. Scaling SaaS ApplicationsEEDC 2010. Scaling SaaS Applications
EEDC 2010. Scaling SaaS Applications
 
Windows Azure Platform + PHP - Jonathan Wong
Windows Azure Platform + PHP - Jonathan WongWindows Azure Platform + PHP - Jonathan Wong
Windows Azure Platform + PHP - Jonathan Wong
 
IoT & Azure (EventHub)
IoT & Azure (EventHub)IoT & Azure (EventHub)
IoT & Azure (EventHub)
 
Top 30 Must Read Blogs about Content Marketing
Top 30 Must Read Blogs about Content MarketingTop 30 Must Read Blogs about Content Marketing
Top 30 Must Read Blogs about Content Marketing
 
Plan, prepare & overall process of upgrade and migrate to SharePoint 2013
Plan, prepare & overall process of upgrade and migrate to SharePoint 2013Plan, prepare & overall process of upgrade and migrate to SharePoint 2013
Plan, prepare & overall process of upgrade and migrate to SharePoint 2013
 

Similar to Leverage Azure and SQL Azure to build SaaS applications

Cloud Computing - Making IT Simple
 Cloud Computing - Making IT Simple Cloud Computing - Making IT Simple
Cloud Computing - Making IT SimpleBob Rhubart
 
Cloud Computing: Making IT Simple
Cloud Computing: Making IT SimpleCloud Computing: Making IT Simple
Cloud Computing: Making IT SimpleBob Rhubart
 
Xebia Knowledge Exchange (jan 2011) - Trends in Enterprise Applications Archi...
Xebia Knowledge Exchange (jan 2011) - Trends in Enterprise Applications Archi...Xebia Knowledge Exchange (jan 2011) - Trends in Enterprise Applications Archi...
Xebia Knowledge Exchange (jan 2011) - Trends in Enterprise Applications Archi...Michaël Figuière
 
ARC205 Building Web-scale Applications Architectures with AWS - AWS re: Inven...
ARC205 Building Web-scale Applications Architectures with AWS - AWS re: Inven...ARC205 Building Web-scale Applications Architectures with AWS - AWS re: Inven...
ARC205 Building Web-scale Applications Architectures with AWS - AWS re: Inven...Amazon Web Services
 
Composite Applications with SOA, BPEL and Java EE
Composite  Applications with SOA, BPEL and Java EEComposite  Applications with SOA, BPEL and Java EE
Composite Applications with SOA, BPEL and Java EEDmitri Shiryaev
 
Web frameworks don't matter
Web frameworks don't matterWeb frameworks don't matter
Web frameworks don't matterTomas Doran
 
Opscode-Eucalyptus Webinar 20110721
 Opscode-Eucalyptus Webinar 20110721 Opscode-Eucalyptus Webinar 20110721
Opscode-Eucalyptus Webinar 20110721Chef Software, Inc.
 
Server Day 2009: Oracle/Bea Fusion Middleware by Paolo Ramasso
Server Day 2009: Oracle/Bea Fusion Middleware by Paolo RamassoServer Day 2009: Oracle/Bea Fusion Middleware by Paolo Ramasso
Server Day 2009: Oracle/Bea Fusion Middleware by Paolo RamassoJUG Genova
 
Oracle Fusion Middleware - pragmatic approach to build up your applications -...
Oracle Fusion Middleware - pragmatic approach to build up your applications -...Oracle Fusion Middleware - pragmatic approach to build up your applications -...
Oracle Fusion Middleware - pragmatic approach to build up your applications -...ORACLE USER GROUP ESTONIA
 
Amazon shafaq v6-10-12-11
Amazon shafaq v6-10-12-11Amazon shafaq v6-10-12-11
Amazon shafaq v6-10-12-11Shafaq Abdullah
 
VMware - Snapshot sessions - Deploy and manage tomorrow's applications today
VMware - Snapshot sessions  - Deploy and manage tomorrow's applications todayVMware - Snapshot sessions  - Deploy and manage tomorrow's applications today
VMware - Snapshot sessions - Deploy and manage tomorrow's applications todayAnnSteyaert_vmware
 
Scaling Systems: Architectures that Grow
Scaling Systems: Architectures that GrowScaling Systems: Architectures that Grow
Scaling Systems: Architectures that GrowGibraltar Software
 
ENT309 Scaling Up to Your First 10 Million Users
ENT309 Scaling Up to Your First 10 Million UsersENT309 Scaling Up to Your First 10 Million Users
ENT309 Scaling Up to Your First 10 Million UsersAmazon Web Services
 
ENT309 Scaling Up to Your First 10 Million Users
ENT309 Scaling Up to Your First 10 Million UsersENT309 Scaling Up to Your First 10 Million Users
ENT309 Scaling Up to Your First 10 Million UsersAmazon Web Services
 
Patterns for building resilient and scalable microservices platform on AWS
Patterns for building resilient and scalable microservices platform on AWSPatterns for building resilient and scalable microservices platform on AWS
Patterns for building resilient and scalable microservices platform on AWSBoyan Dimitrov
 
Best Practices for Hosting Web Applications on AWS
Best Practices for Hosting Web Applications on AWSBest Practices for Hosting Web Applications on AWS
Best Practices for Hosting Web Applications on AWSAmazon Web Services
 
Erlang as a cloud citizen, a fractal approach to throughput
Erlang as a cloud citizen, a fractal approach to throughputErlang as a cloud citizen, a fractal approach to throughput
Erlang as a cloud citizen, a fractal approach to throughputPaolo Negri
 
Erlang and the Cloud: A Fractal Approach to Throughput
Erlang and the Cloud: A Fractal Approach to ThroughputErlang and the Cloud: A Fractal Approach to Throughput
Erlang and the Cloud: A Fractal Approach to ThroughputWooga
 
Erlang as a Cloud Citizen
Erlang as a Cloud CitizenErlang as a Cloud Citizen
Erlang as a Cloud CitizenWooga
 

Similar to Leverage Azure and SQL Azure to build SaaS applications (20)

Cloud Computing - Making IT Simple
 Cloud Computing - Making IT Simple Cloud Computing - Making IT Simple
Cloud Computing - Making IT Simple
 
Cloud Computing: Making IT Simple
Cloud Computing: Making IT SimpleCloud Computing: Making IT Simple
Cloud Computing: Making IT Simple
 
Xebia Knowledge Exchange (jan 2011) - Trends in Enterprise Applications Archi...
Xebia Knowledge Exchange (jan 2011) - Trends in Enterprise Applications Archi...Xebia Knowledge Exchange (jan 2011) - Trends in Enterprise Applications Archi...
Xebia Knowledge Exchange (jan 2011) - Trends in Enterprise Applications Archi...
 
ARC205 Building Web-scale Applications Architectures with AWS - AWS re: Inven...
ARC205 Building Web-scale Applications Architectures with AWS - AWS re: Inven...ARC205 Building Web-scale Applications Architectures with AWS - AWS re: Inven...
ARC205 Building Web-scale Applications Architectures with AWS - AWS re: Inven...
 
Composite Applications with SOA, BPEL and Java EE
Composite  Applications with SOA, BPEL and Java EEComposite  Applications with SOA, BPEL and Java EE
Composite Applications with SOA, BPEL and Java EE
 
Web frameworks don't matter
Web frameworks don't matterWeb frameworks don't matter
Web frameworks don't matter
 
Opscode-Eucalyptus Webinar 20110721
 Opscode-Eucalyptus Webinar 20110721 Opscode-Eucalyptus Webinar 20110721
Opscode-Eucalyptus Webinar 20110721
 
Server Day 2009: Oracle/Bea Fusion Middleware by Paolo Ramasso
Server Day 2009: Oracle/Bea Fusion Middleware by Paolo RamassoServer Day 2009: Oracle/Bea Fusion Middleware by Paolo Ramasso
Server Day 2009: Oracle/Bea Fusion Middleware by Paolo Ramasso
 
Oracle Fusion Middleware - pragmatic approach to build up your applications -...
Oracle Fusion Middleware - pragmatic approach to build up your applications -...Oracle Fusion Middleware - pragmatic approach to build up your applications -...
Oracle Fusion Middleware - pragmatic approach to build up your applications -...
 
Amazon shafaq v6-10-12-11
Amazon shafaq v6-10-12-11Amazon shafaq v6-10-12-11
Amazon shafaq v6-10-12-11
 
VMware - Snapshot sessions - Deploy and manage tomorrow's applications today
VMware - Snapshot sessions  - Deploy and manage tomorrow's applications todayVMware - Snapshot sessions  - Deploy and manage tomorrow's applications today
VMware - Snapshot sessions - Deploy and manage tomorrow's applications today
 
Scaling Systems: Architectures that Grow
Scaling Systems: Architectures that GrowScaling Systems: Architectures that Grow
Scaling Systems: Architectures that Grow
 
ENT309 Scaling Up to Your First 10 Million Users
ENT309 Scaling Up to Your First 10 Million UsersENT309 Scaling Up to Your First 10 Million Users
ENT309 Scaling Up to Your First 10 Million Users
 
ENT309 Scaling Up to Your First 10 Million Users
ENT309 Scaling Up to Your First 10 Million UsersENT309 Scaling Up to Your First 10 Million Users
ENT309 Scaling Up to Your First 10 Million Users
 
Patterns for building resilient and scalable microservices platform on AWS
Patterns for building resilient and scalable microservices platform on AWSPatterns for building resilient and scalable microservices platform on AWS
Patterns for building resilient and scalable microservices platform on AWS
 
Best Practices for Hosting Web Applications on AWS
Best Practices for Hosting Web Applications on AWSBest Practices for Hosting Web Applications on AWS
Best Practices for Hosting Web Applications on AWS
 
Erlang as a cloud citizen, a fractal approach to throughput
Erlang as a cloud citizen, a fractal approach to throughputErlang as a cloud citizen, a fractal approach to throughput
Erlang as a cloud citizen, a fractal approach to throughput
 
Erlang and the Cloud: A Fractal Approach to Throughput
Erlang and the Cloud: A Fractal Approach to ThroughputErlang and the Cloud: A Fractal Approach to Throughput
Erlang and the Cloud: A Fractal Approach to Throughput
 
Erlang as a Cloud Citizen
Erlang as a Cloud CitizenErlang as a Cloud Citizen
Erlang as a Cloud Citizen
 
What's new in Exchange 2013?
What's new in Exchange 2013?What's new in Exchange 2013?
What's new in Exchange 2013?
 

More from Common Sense

How to scale up, out or down in Windows Azure
How to scale up, out or down in Windows AzureHow to scale up, out or down in Windows Azure
How to scale up, out or down in Windows AzureCommon Sense
 
Innovation in Outsourcing & Reserach
Innovation in Outsourcing & ReserachInnovation in Outsourcing & Reserach
Innovation in Outsourcing & ReserachCommon Sense
 
Webinar: How Microsoft is changing the game with Windows Azure
Webinar: How Microsoft is changing the game with Windows AzureWebinar: How Microsoft is changing the game with Windows Azure
Webinar: How Microsoft is changing the game with Windows AzureCommon Sense
 
How to develop a WP7 app?
How to develop a WP7 app?How to develop a WP7 app?
How to develop a WP7 app?Common Sense
 
How to scale up, out or down in Windows Azure - Webinar
How to scale up, out or down in Windows Azure - WebinarHow to scale up, out or down in Windows Azure - Webinar
How to scale up, out or down in Windows Azure - WebinarCommon Sense
 
The Azure Platform. Common Sense Webinar
The Azure Platform. Common Sense WebinarThe Azure Platform. Common Sense Webinar
The Azure Platform. Common Sense WebinarCommon Sense
 
Windows Azure PaaS - Webinar Common Sense
Windows Azure PaaS - Webinar Common SenseWindows Azure PaaS - Webinar Common Sense
Windows Azure PaaS - Webinar Common SenseCommon Sense
 
Mobile Marketing Tips
Mobile Marketing TipsMobile Marketing Tips
Mobile Marketing TipsCommon Sense
 

More from Common Sense (8)

How to scale up, out or down in Windows Azure
How to scale up, out or down in Windows AzureHow to scale up, out or down in Windows Azure
How to scale up, out or down in Windows Azure
 
Innovation in Outsourcing & Reserach
Innovation in Outsourcing & ReserachInnovation in Outsourcing & Reserach
Innovation in Outsourcing & Reserach
 
Webinar: How Microsoft is changing the game with Windows Azure
Webinar: How Microsoft is changing the game with Windows AzureWebinar: How Microsoft is changing the game with Windows Azure
Webinar: How Microsoft is changing the game with Windows Azure
 
How to develop a WP7 app?
How to develop a WP7 app?How to develop a WP7 app?
How to develop a WP7 app?
 
How to scale up, out or down in Windows Azure - Webinar
How to scale up, out or down in Windows Azure - WebinarHow to scale up, out or down in Windows Azure - Webinar
How to scale up, out or down in Windows Azure - Webinar
 
The Azure Platform. Common Sense Webinar
The Azure Platform. Common Sense WebinarThe Azure Platform. Common Sense Webinar
The Azure Platform. Common Sense Webinar
 
Windows Azure PaaS - Webinar Common Sense
Windows Azure PaaS - Webinar Common SenseWindows Azure PaaS - Webinar Common Sense
Windows Azure PaaS - Webinar Common Sense
 
Mobile Marketing Tips
Mobile Marketing TipsMobile Marketing Tips
Mobile Marketing Tips
 

Recently uploaded

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 

Recently uploaded (20)

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 

Leverage Azure and SQL Azure to build SaaS applications

  • 1. Leverage Azure and SQL Azure to build SaaS applications (Lander Case). Juan De Abreu jdeabreu@getcs.com © Copyright 2011 Common Sense2011 Common Sense LLC © Copyright LLC www.GetCS.com #CSWebinar www.GetCS.com
  • 2. Twitter # csWebinar © Copyright 2011 Common Sense LLC www.GetCS.com #CSWebinar
  • 3. Agenda • Considerations • Azure Overview • Aspects we need to be prepared for • Lander Application • Summary and Q&A © Copyright 2011 Common Sense LLC www.GetCS.com #CSWebinar
  • 4. Considerations • Get out of the infrastructure business • Subscription Payment Model: Pay as you go • Obtain elastic IT Capacity: Pay as you grow / peak • High Availability, (SLA). • Reduce Upfront Cost, Storage Cost. • Improve time to market. • Rapid Innovation. Quick Update Cycles. © Copyright 2011 Common Sense LLC www.GetCS.com #CSWebinar
  • 5. Azure Overview © Copyright 2011 Common Sense LLC www.GetCS.com #CSWebinar
  • 6. Azure Solution Architecture Network Load Balancer SQL Web Worker Role Role Your Services SQL Internet Queues Blobs SQL Tables Your Storage SQL Azure Windows Azure Services Services © Copyright 2011 Common Sense LLC www.GetCS.com #CSWebinar
  • 7. Aspects we need to be prepared for • Partition the Application • Queues • Units of Scale • Load Balancer (Prepare for Failure) • No server Affinity • No sticky session • Stateless • Resources are Shared • Scaling • Compute • Storage © Copyright 2011 Common Sense LLC www.GetCS.com #CSWebinar
  • 8. Partition of the application Prepare to Scale Out Async, loosely coupled services Monolithic Sales Inventory Application Orders Begin Transaction Soft Reservation Msg Sync Check Inventory If Succeed Create Order Begin Transaction Reserve Inventory Create Order Commit Transaction Create Message Commit Transaction Begin Transaction End If DeQueue Msg Firm Soft Reserve Commit Transaction © Copyright 2011 Common Sense LLC www.GetCS.com #CSWebinar
  • 9. Queue Management Web Role Worker Role Instance 1 Instance 1 Busy Instance 1 Instance 1 Free Instance 1 Instance 1 Busy Put Message © Copyright 2011 Common Sense LLC www.GetCS.com #CSWebinar
  • 10. Queue Management Web Role Worker Role Instance 1 Instance 1 Busy Get Message Instance 1 Instance 1 Free Instance 1 Instance 1 Busy © Copyright 2011 Common Sense LLC www.GetCS.com #CSWebinar
  • 11. Working with queues • Methods • GetMessage = 1 REST call one message read • GetMessages(32) = 1 REST call up to 32 messages read. • Dynamic Delay based on Traffic • Operational Cost 1 year, 24h/day, 10 GetMessage call per second = $315,36 1 year, 24h/day, 1 GetMessage call per minute = $0,52 © Copyright 2011 Common Sense LLC www.GetCS.com #CSWebinar
  • 12. Units of Scale Pattern • Scaling Should Be done in units • A unit-of-Scale is a combination of components in multiple layers • Application Instances and a database should be considered as a unit-of-scale • If you add more compute instances you should add database/storage • Not necessary 1 to 1, but you should know how many instances a database can handle and add if needed. • Consider all mechanisms that have different scaling behavior, Queues, storage, blob drive IO, bandwidth…etc. © Copyright 2011 Common Sense LLC www.GetCS.com #CSWebinar
  • 13. Load Balancer Network Load Balancer Web Role 1 Round Robin Web Role 2 Web Role 3 Your Services © Copyright 2011 Common Sense LLC www.GetCS.com #CSWebinar
  • 14. Prepare for failure • Stateless • No server Affinity • Do not write data to the local filesystem • Write Data to Azure Storage • No sticky session • Avoid use session variables • Store State in SQL Azure • Redirect session state to AppFabric Caching • Resources are Shared © Copyright 2011 Common Sense LLC www.GetCS.com #CSWebinar
  • 15. Scaling Compute 321654 6 1.00987 98756 3 App 1.5567546 DB 7 0.68976 0 Add or Define Metrics and polling intervals Reduces the Scaling Engine instances count Changes de configuration Configuration © Copyright 2011 Common Sense LLC www.GetCS.com #CSWebinar
  • 16. Scaling Storage • Azure Storage supports huge volume tables • Table schema is part of your application • Huge Capacity • 100TB of storage per storage account • 5 storage accounts per subscription • Need of partitioning your tables to have a good response time • Azure will move Hot Partitions to separate nodes to Achieve SLA’s © Copyright 2011 Common Sense LLC www.GetCS.com #CSWebinar
  • 17. Azure tables Tables are partitioned to support load balancing across storage nodes partition key Unique row key timestamp table field1 field2 field3 © Copyright 2011 Common Sense LLC www.GetCS.com #CSWebinar
  • 18. Table Partitioning A 1 foo bar etc A 2 foo bar etc B 1 foo bar etc Partition A Partition B A 1 foo bar etc B 1 foo bar etc A 2 foo bar etc Storage node 1 Storage node 2 © Copyright 2011 Common Sense LLC www.GetCS.com #CSWebinar
  • 19. SQL Azure Throttling /retry logic • Sharing a SQL Server node means Throttling to protect the other customers. • A connection to a SQL Azure Could be dropped unexpectedly. • Before issuing a command against a connection check if is still open, reopen it if close. © Copyright 2011 Common Sense LLC www.GetCS.com #CSWebinar
  • 20. Lander Publish View Landing Page Landing Page Presentation Commands Queries WRITE READ Events Domain Model Query Model Landing Page Published Relational DB Query Store © Copyright 2011 Common Sense LLC www.GetCS.com #CSWebinar
  • 21. Lander and Windows Azure Admin Presentation State Consumer Presentation Azure Web Role Azure Web Role Query Model Commands App Fabric Azure Queue Cache Service Azure Worker Role Command Handlers Domain Model Event Handlers Azure Worker Role Events Azure Queue Relational DB Query Store Azure SQL Azure Blob © Copyright 2011 Common Sense LLC www.GetCS.com #CSWebinar
  • 22. Summary • Multiple benefits by going to the cloud High Availability, Elasticity, Low Cost Scalability and Performance Upgradability • Multiple design patters considerations to reach de benefits Application partitioning A sync architecture using queues Units of scale Stateless applications, cache management Data partitioning Retry logic on SQL Azure. © Copyright 2011 Common Sense LLC www.GetCS.com #CSWebinar
  • 23. Thanks Juan De Abreu jdeabreu@getcs.com Twitter: juandeabreu Ph: 210 8073552 x 1702 Cell: 210 3862492 © Copyright 2011 Common Sense LLC www.GetCS.com #CSWebinar