SlideShare ist ein Scribd-Unternehmen logo
1 von 28
SQLCAT - Shared technical
learnings
Agenda
•   Fit for Purpose – what makes a good cloud app?
•   Shifting Perspective – Designing for Cloud
•   Lessons Learned
•   Summary / Q&A
Setting the Stage
• Customer Advisory Team (CAT) works on big mean projects.
 • Including a lot of big mean Azure projects
• Collating guidance and learnings from the last year of
  engagement
• This discussion is a peek at some of what we’ve learned about
  Azure applications at serious scale
 • Take a deep breath.. Not all Azure applications are this involved 
Fit for Purpose – What makes a good cloud app?
Fit for Purpose – What makes a good cloud app?



 DISPERSED
USERS & DATA    ELASTIC DEMAND      SCALE OUT
Shifting Perspective – Designing for Cloud
•   Scale-out not scale-up
•   Everything has a limit – compose for scale
•   Design for failure
•   Design for continuity
•   Optimize for density
Scale-out not scale-up
• Traditional 3-tier application
• Make ”everything stateless”




                                   Load Balancer
• Where is the state?



                                                    Web       App
                                                   Servers   Servers
Scale-out not scale-up
•   Traditional 3-tier application
•   Make ”everything stateless”




                                     Load Balancer
                                                                         Database
•   Where is the state?
•   Oh, right.. in the scale-up
    database
                                                      Web       App
                                                     Servers   Servers
Azure Load Balancer

Scale-out not scale-up
• Challenge: architect
 applications to use partitioned
 data store
 •   Connection management
 •   Data partitioning & affinity
 •   Scatter / gather queries
 •   Resource management            DB1          DB2            DB3
Everything has a limit – compose for scale
• Ship as much as you want
• Provided it will fit into the
  standard “scale units”
• Want to ship more – use more
  containers.
Design for failure
• Traditional approach: harden
  the database
• Cloud approach: expect
  failures, design for them, work
  around them
Optimize for Density
• Density is cost of goods
• Chunky not chatty
• Framework and library
 efficiency
Handling Transient and Enduring Failures
• Given enough scale, time and pressure all components or
  services will fail
  • Your application will experience 1..N failures
• Transient failures; temporary service interruptions
 • Dropped connections, failed queries
• Enduring failures; require intervention
 • Incorrect configuration, long-running service unavailability
Handling Transient and Enduring Failures
• Use fault-handling
  frameworks that recognize
  transient errors
• Appropriate retry and
  backoff policies
Handling Transient and Enduring Failures
                           Web Request Response Latency
          450
Seconds




          400
          350
          300
          250
          200
          150
          100
           50
            0
                1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29

                                   Avg Latency       Response latency
Scale it out, stitch it together
• Partitioning strategies:
  • Horizontal
  • Vertical
  • Hybrid
• CSV vs. Global data model
Telemetry is Life
• You don’t know what you didn’t capture
• Split the streams: high-volume (low-
  fidelity) and high-value
• Know you’re ”down” before your users
  are!
  • Be able to figure out why afterwards
Handling
transient
 failures
      Logging transient
          failures

            Logging all external
            API calls with timing

 Logging full exception
    (not .ToString())
Telemetry is Life
       Per-Application           High value data    High value data consumer
                                 - Filter           - Generate alerts
       Server                    - Aggregate        - Display dashboard
                                 - Publish          - Operational intelligence
        Data Sources
        - IIS logs
        - Application logs
        - Performance counters
                                 High volume data   High volume data consumer
                                 - Batch            - Data mining / analysis
                                 - Partition        - Historical trends
                                 - Archive          - Root Cause Analysis
Azure Load Balancer

Managing Connections
•   Instances * DB’s * Pool Size
•   Each hosted service has 1 IP
•   Each DB cluster has 1 IP
•   How big is a routing table
    entry for IPv4?
                                      DB1          DB2            DB3

                          Hint: 64k
Optimize work: batch & align
• Challenge:
 • Optimize insert of activity and user data into a scale-out data tier (400+
   databases)
 • Transient failure – retries
 • Enduring failure – failover to alternate store
 • Optimize for partition alignment
Impact of Interface
• Be careful about paying for features you don’t use
• Look at optimized frameworks / libraries for key aspects
 • Balance features vs. Performance – CoGS can add up quickly
Mark Simms
Summary / Q&A                                masimms@microsoft.c
                                             om
•   Architecture is key                      Twitter: @mabsimms
•   Failure is the norm; expect it, design for it
•   Scale through partitioning and composition
•   Scale exposes the seams of your implementation
•   CAT preparing to publish hands-on guidance with reusable
    patterns

Weitere ähnliche Inhalte

Was ist angesagt?

Cloud Design Pattern part2
Cloud Design Pattern part2Cloud Design Pattern part2
Cloud Design Pattern part2Masashi Narumoto
 
Presentation on Large Scale Data Management
Presentation on Large Scale Data ManagementPresentation on Large Scale Data Management
Presentation on Large Scale Data ManagementChris Bunch
 
Deliver Best-in-Class HPC Cloud Solutions Without Losing Your Mind
Deliver Best-in-Class HPC Cloud Solutions Without Losing Your MindDeliver Best-in-Class HPC Cloud Solutions Without Losing Your Mind
Deliver Best-in-Class HPC Cloud Solutions Without Losing Your MindAvere Systems
 
Building a Just-in-Time Application Stack for Analysts
Building a Just-in-Time Application Stack for AnalystsBuilding a Just-in-Time Application Stack for Analysts
Building a Just-in-Time Application Stack for AnalystsAvere Systems
 
Software Architecture for Cloud Infrastructure
Software Architecture for Cloud InfrastructureSoftware Architecture for Cloud Infrastructure
Software Architecture for Cloud InfrastructureTapio Rautonen
 
Jelastic (PaaS + IaaS) Virtual Cluster on Google Cloud Engine
Jelastic (PaaS + IaaS) Virtual Cluster on Google Cloud EngineJelastic (PaaS + IaaS) Virtual Cluster on Google Cloud Engine
Jelastic (PaaS + IaaS) Virtual Cluster on Google Cloud EngineRuslan Synytsky
 
High Availability and Disaster Recovery
High Availability and Disaster RecoveryHigh Availability and Disaster Recovery
High Availability and Disaster RecoveryAkelios
 
(BIZ305) Case Study: Migrating Oracle E-Business Suite to AWS | AWS re:Invent...
(BIZ305) Case Study: Migrating Oracle E-Business Suite to AWS | AWS re:Invent...(BIZ305) Case Study: Migrating Oracle E-Business Suite to AWS | AWS re:Invent...
(BIZ305) Case Study: Migrating Oracle E-Business Suite to AWS | AWS re:Invent...Amazon Web Services
 
#Re-Imagine Autoscaling Stream Consumers in Cloud Environments (Sunil Kaitha,...
#Re-Imagine Autoscaling Stream Consumers in Cloud Environments (Sunil Kaitha,...#Re-Imagine Autoscaling Stream Consumers in Cloud Environments (Sunil Kaitha,...
#Re-Imagine Autoscaling Stream Consumers in Cloud Environments (Sunil Kaitha,...confluent
 
How Applications Manager helps with application performance monitoring
How Applications Manager helps with application performance monitoringHow Applications Manager helps with application performance monitoring
How Applications Manager helps with application performance monitoringManageEngine, Zoho Corporation
 
Make a Move to AWS Now
Make a Move to AWS Now Make a Move to AWS Now
Make a Move to AWS Now Buurst
 
AWS re:Invent 2016: High Performance Computing on AWS (CMP207)
AWS re:Invent 2016: High Performance Computing on AWS (CMP207)AWS re:Invent 2016: High Performance Computing on AWS (CMP207)
AWS re:Invent 2016: High Performance Computing on AWS (CMP207)Amazon Web Services
 
Best Practices for Data Center Migration Planning - August 2016 Monthly Webin...
Best Practices for Data Center Migration Planning - August 2016 Monthly Webin...Best Practices for Data Center Migration Planning - August 2016 Monthly Webin...
Best Practices for Data Center Migration Planning - August 2016 Monthly Webin...Amazon Web Services
 
Cloud Design Pattern part1
Cloud Design Pattern part1Cloud Design Pattern part1
Cloud Design Pattern part1Masashi Narumoto
 
Cmg06 utilization is useless
Cmg06 utilization is uselessCmg06 utilization is useless
Cmg06 utilization is uselessAdrian Cockcroft
 
Cloud Migration: Tales from the Trenches
Cloud Migration: Tales from the TrenchesCloud Migration: Tales from the Trenches
Cloud Migration: Tales from the TrenchesHostway|HOSTING
 
AWS Summit Stockholm 2014 – B2 – Migrating enterprise applications to AWS
AWS Summit Stockholm 2014 – B2 – Migrating enterprise applications to AWSAWS Summit Stockholm 2014 – B2 – Migrating enterprise applications to AWS
AWS Summit Stockholm 2014 – B2 – Migrating enterprise applications to AWSAmazon Web Services
 
AWS re:Invent 2016: Optimizing workloads in SAP HANA with Amazon EC2 X1 Insta...
AWS re:Invent 2016: Optimizing workloads in SAP HANA with Amazon EC2 X1 Insta...AWS re:Invent 2016: Optimizing workloads in SAP HANA with Amazon EC2 X1 Insta...
AWS re:Invent 2016: Optimizing workloads in SAP HANA with Amazon EC2 X1 Insta...Amazon Web Services
 
Modernize databases in a day discover workshop
Modernize databases in a day   discover workshopModernize databases in a day   discover workshop
Modernize databases in a day discover workshopJohan Biere
 
Data at Scale - Michael Peacock, Cloud Connect 2012
Data at Scale - Michael Peacock, Cloud Connect 2012Data at Scale - Michael Peacock, Cloud Connect 2012
Data at Scale - Michael Peacock, Cloud Connect 2012Michael Peacock
 

Was ist angesagt? (20)

Cloud Design Pattern part2
Cloud Design Pattern part2Cloud Design Pattern part2
Cloud Design Pattern part2
 
Presentation on Large Scale Data Management
Presentation on Large Scale Data ManagementPresentation on Large Scale Data Management
Presentation on Large Scale Data Management
 
Deliver Best-in-Class HPC Cloud Solutions Without Losing Your Mind
Deliver Best-in-Class HPC Cloud Solutions Without Losing Your MindDeliver Best-in-Class HPC Cloud Solutions Without Losing Your Mind
Deliver Best-in-Class HPC Cloud Solutions Without Losing Your Mind
 
Building a Just-in-Time Application Stack for Analysts
Building a Just-in-Time Application Stack for AnalystsBuilding a Just-in-Time Application Stack for Analysts
Building a Just-in-Time Application Stack for Analysts
 
Software Architecture for Cloud Infrastructure
Software Architecture for Cloud InfrastructureSoftware Architecture for Cloud Infrastructure
Software Architecture for Cloud Infrastructure
 
Jelastic (PaaS + IaaS) Virtual Cluster on Google Cloud Engine
Jelastic (PaaS + IaaS) Virtual Cluster on Google Cloud EngineJelastic (PaaS + IaaS) Virtual Cluster on Google Cloud Engine
Jelastic (PaaS + IaaS) Virtual Cluster on Google Cloud Engine
 
High Availability and Disaster Recovery
High Availability and Disaster RecoveryHigh Availability and Disaster Recovery
High Availability and Disaster Recovery
 
(BIZ305) Case Study: Migrating Oracle E-Business Suite to AWS | AWS re:Invent...
(BIZ305) Case Study: Migrating Oracle E-Business Suite to AWS | AWS re:Invent...(BIZ305) Case Study: Migrating Oracle E-Business Suite to AWS | AWS re:Invent...
(BIZ305) Case Study: Migrating Oracle E-Business Suite to AWS | AWS re:Invent...
 
#Re-Imagine Autoscaling Stream Consumers in Cloud Environments (Sunil Kaitha,...
#Re-Imagine Autoscaling Stream Consumers in Cloud Environments (Sunil Kaitha,...#Re-Imagine Autoscaling Stream Consumers in Cloud Environments (Sunil Kaitha,...
#Re-Imagine Autoscaling Stream Consumers in Cloud Environments (Sunil Kaitha,...
 
How Applications Manager helps with application performance monitoring
How Applications Manager helps with application performance monitoringHow Applications Manager helps with application performance monitoring
How Applications Manager helps with application performance monitoring
 
Make a Move to AWS Now
Make a Move to AWS Now Make a Move to AWS Now
Make a Move to AWS Now
 
AWS re:Invent 2016: High Performance Computing on AWS (CMP207)
AWS re:Invent 2016: High Performance Computing on AWS (CMP207)AWS re:Invent 2016: High Performance Computing on AWS (CMP207)
AWS re:Invent 2016: High Performance Computing on AWS (CMP207)
 
Best Practices for Data Center Migration Planning - August 2016 Monthly Webin...
Best Practices for Data Center Migration Planning - August 2016 Monthly Webin...Best Practices for Data Center Migration Planning - August 2016 Monthly Webin...
Best Practices for Data Center Migration Planning - August 2016 Monthly Webin...
 
Cloud Design Pattern part1
Cloud Design Pattern part1Cloud Design Pattern part1
Cloud Design Pattern part1
 
Cmg06 utilization is useless
Cmg06 utilization is uselessCmg06 utilization is useless
Cmg06 utilization is useless
 
Cloud Migration: Tales from the Trenches
Cloud Migration: Tales from the TrenchesCloud Migration: Tales from the Trenches
Cloud Migration: Tales from the Trenches
 
AWS Summit Stockholm 2014 – B2 – Migrating enterprise applications to AWS
AWS Summit Stockholm 2014 – B2 – Migrating enterprise applications to AWSAWS Summit Stockholm 2014 – B2 – Migrating enterprise applications to AWS
AWS Summit Stockholm 2014 – B2 – Migrating enterprise applications to AWS
 
AWS re:Invent 2016: Optimizing workloads in SAP HANA with Amazon EC2 X1 Insta...
AWS re:Invent 2016: Optimizing workloads in SAP HANA with Amazon EC2 X1 Insta...AWS re:Invent 2016: Optimizing workloads in SAP HANA with Amazon EC2 X1 Insta...
AWS re:Invent 2016: Optimizing workloads in SAP HANA with Amazon EC2 X1 Insta...
 
Modernize databases in a day discover workshop
Modernize databases in a day   discover workshopModernize databases in a day   discover workshop
Modernize databases in a day discover workshop
 
Data at Scale - Michael Peacock, Cloud Connect 2012
Data at Scale - Michael Peacock, Cloud Connect 2012Data at Scale - Michael Peacock, Cloud Connect 2012
Data at Scale - Michael Peacock, Cloud Connect 2012
 

Andere mochten auch

Andere mochten auch (20)

Somos estrangeiros
Somos estrangeirosSomos estrangeiros
Somos estrangeiros
 
Bolo de laranja
Bolo de laranjaBolo de laranja
Bolo de laranja
 
Proyecto tecnologico
Proyecto tecnologicoProyecto tecnologico
Proyecto tecnologico
 
Gestão do ambiente e dos resíduos - Ana Filipa, Ramona, Inês e Matilde
Gestão do ambiente e dos resíduos -  Ana Filipa, Ramona, Inês e MatildeGestão do ambiente e dos resíduos -  Ana Filipa, Ramona, Inês e Matilde
Gestão do ambiente e dos resíduos - Ana Filipa, Ramona, Inês e Matilde
 
Registro digital de experiência
Registro digital de experiênciaRegistro digital de experiência
Registro digital de experiência
 
Paternidade
PaternidadePaternidade
Paternidade
 
Foto.pdf
Foto.pdfFoto.pdf
Foto.pdf
 
3.º bol. novos recursos bibl.
3.º bol. novos recursos bibl.3.º bol. novos recursos bibl.
3.º bol. novos recursos bibl.
 
Jlug Introduction
Jlug IntroductionJlug Introduction
Jlug Introduction
 
Stereo love
Stereo loveStereo love
Stereo love
 
P13 006
P13 006P13 006
P13 006
 
Ajedrez Servicios Publicos
Ajedrez Servicios PublicosAjedrez Servicios Publicos
Ajedrez Servicios Publicos
 
Ppoint
PpointPpoint
Ppoint
 
Cuento
CuentoCuento
Cuento
 
Dwandala-Howard
Dwandala-HowardDwandala-Howard
Dwandala-Howard
 
Приближенные значения чисел. Округление чисел
Приближенные значения чисел. Округление чиселПриближенные значения чисел. Округление чисел
Приближенные значения чисел. Округление чисел
 
D. Inês de Castro e D. Pedro
D. Inês de Castro e D. PedroD. Inês de Castro e D. Pedro
D. Inês de Castro e D. Pedro
 
Design guide for textile ducting
Design guide for textile ductingDesign guide for textile ducting
Design guide for textile ducting
 
Base nacional comum curricular cepeja cópia
Base nacional  comum curricular cepeja   cópiaBase nacional  comum curricular cepeja   cópia
Base nacional comum curricular cepeja cópia
 
Sales & Marketing - The Difference
Sales & Marketing - The DifferenceSales & Marketing - The Difference
Sales & Marketing - The Difference
 

Ähnlich wie Building a highly scalable and available cloud application

Cloud Computing - Geektalk
Cloud Computing - GeektalkCloud Computing - Geektalk
Cloud Computing - GeektalkMalisa Ncube
 
Building FoundationDB
Building FoundationDBBuilding FoundationDB
Building FoundationDBFoundationDB
 
Top 6 Reasons to Use a Distributed Data Grid
Top 6 Reasons to Use a Distributed Data GridTop 6 Reasons to Use a Distributed Data Grid
Top 6 Reasons to Use a Distributed Data GridScaleOut Software
 
Cloud-native Data: Every Microservice Needs a Cache
Cloud-native Data: Every Microservice Needs a CacheCloud-native Data: Every Microservice Needs a Cache
Cloud-native Data: Every Microservice Needs a Cachecornelia davis
 
Cloud Ready Apps
Cloud Ready AppsCloud Ready Apps
Cloud Ready AppsDotitude
 
iMobileMagic Teck Talk Scale Up
iMobileMagic Teck Talk Scale UpiMobileMagic Teck Talk Scale Up
iMobileMagic Teck Talk Scale UpPedro Machado
 
Database Virtualization: The Next Wave of Big Data
Database Virtualization: The Next Wave of Big DataDatabase Virtualization: The Next Wave of Big Data
Database Virtualization: The Next Wave of Big Dataexponential-inc
 
Running your database in the cloud presentation
Running your database in the cloud presentationRunning your database in the cloud presentation
Running your database in the cloud presentationAravindharamanan S
 
Varrow Q4 Lunch & Learn Presentation - Virtualizing Business Critical Applica...
Varrow Q4 Lunch & Learn Presentation - Virtualizing Business Critical Applica...Varrow Q4 Lunch & Learn Presentation - Virtualizing Business Critical Applica...
Varrow Q4 Lunch & Learn Presentation - Virtualizing Business Critical Applica...Andrew Miller
 
AWS Summit 2013 | Auckland - Building Web Scale Applications with AWS
AWS Summit 2013 | Auckland - Building Web Scale Applications with AWSAWS Summit 2013 | Auckland - Building Web Scale Applications with AWS
AWS Summit 2013 | Auckland - Building Web Scale Applications with AWSAmazon Web Services
 
Pros & Cons of Microservices Architecture
Pros & Cons of Microservices ArchitecturePros & Cons of Microservices Architecture
Pros & Cons of Microservices ArchitectureAshwini Kuntamukkala
 
SpringPeople - Introduction to Cloud Computing
SpringPeople - Introduction to Cloud ComputingSpringPeople - Introduction to Cloud Computing
SpringPeople - Introduction to Cloud ComputingSpringPeople
 
DevDay: Corda Enterprise: Journey to 1000 TPS per node, Rick Parker
DevDay: Corda Enterprise: Journey to 1000 TPS per node, Rick ParkerDevDay: Corda Enterprise: Journey to 1000 TPS per node, Rick Parker
DevDay: Corda Enterprise: Journey to 1000 TPS per node, Rick ParkerR3
 
Maplelabs scalable-field-device-cloud-native
Maplelabs scalable-field-device-cloud-nativeMaplelabs scalable-field-device-cloud-native
Maplelabs scalable-field-device-cloud-nativeGaneshkumar Sundararajan
 
Virtualizing Tier One Applications - Varrow
Virtualizing Tier One Applications - VarrowVirtualizing Tier One Applications - Varrow
Virtualizing Tier One Applications - VarrowAndrew Miller
 
Ask The Architect: RightScale & AWS Dive Deep into Hybrid IT
Ask The Architect: RightScale & AWS Dive Deep into Hybrid ITAsk The Architect: RightScale & AWS Dive Deep into Hybrid IT
Ask The Architect: RightScale & AWS Dive Deep into Hybrid ITRightScale
 
Development of concurrent services using In-Memory Data Grids
Development of concurrent services using In-Memory Data GridsDevelopment of concurrent services using In-Memory Data Grids
Development of concurrent services using In-Memory Data Gridsjlorenzocima
 
Pascal benois performance_troubleshooting-spsbe18
Pascal benois performance_troubleshooting-spsbe18Pascal benois performance_troubleshooting-spsbe18
Pascal benois performance_troubleshooting-spsbe18BIWUG
 

Ähnlich wie Building a highly scalable and available cloud application (20)

Cloud computing
Cloud computingCloud computing
Cloud computing
 
Cloud Computing - Geektalk
Cloud Computing - GeektalkCloud Computing - Geektalk
Cloud Computing - Geektalk
 
Building FoundationDB
Building FoundationDBBuilding FoundationDB
Building FoundationDB
 
Top 6 Reasons to Use a Distributed Data Grid
Top 6 Reasons to Use a Distributed Data GridTop 6 Reasons to Use a Distributed Data Grid
Top 6 Reasons to Use a Distributed Data Grid
 
Cloud-native Data: Every Microservice Needs a Cache
Cloud-native Data: Every Microservice Needs a CacheCloud-native Data: Every Microservice Needs a Cache
Cloud-native Data: Every Microservice Needs a Cache
 
Cloud Ready Apps
Cloud Ready AppsCloud Ready Apps
Cloud Ready Apps
 
iMobileMagic Teck Talk Scale Up
iMobileMagic Teck Talk Scale UpiMobileMagic Teck Talk Scale Up
iMobileMagic Teck Talk Scale Up
 
Database Virtualization: The Next Wave of Big Data
Database Virtualization: The Next Wave of Big DataDatabase Virtualization: The Next Wave of Big Data
Database Virtualization: The Next Wave of Big Data
 
Running your database in the cloud presentation
Running your database in the cloud presentationRunning your database in the cloud presentation
Running your database in the cloud presentation
 
Varrow Q4 Lunch & Learn Presentation - Virtualizing Business Critical Applica...
Varrow Q4 Lunch & Learn Presentation - Virtualizing Business Critical Applica...Varrow Q4 Lunch & Learn Presentation - Virtualizing Business Critical Applica...
Varrow Q4 Lunch & Learn Presentation - Virtualizing Business Critical Applica...
 
AWS Summit 2013 | Auckland - Building Web Scale Applications with AWS
AWS Summit 2013 | Auckland - Building Web Scale Applications with AWSAWS Summit 2013 | Auckland - Building Web Scale Applications with AWS
AWS Summit 2013 | Auckland - Building Web Scale Applications with AWS
 
Pros & Cons of Microservices Architecture
Pros & Cons of Microservices ArchitecturePros & Cons of Microservices Architecture
Pros & Cons of Microservices Architecture
 
SpringPeople - Introduction to Cloud Computing
SpringPeople - Introduction to Cloud ComputingSpringPeople - Introduction to Cloud Computing
SpringPeople - Introduction to Cloud Computing
 
DevDay: Corda Enterprise: Journey to 1000 TPS per node, Rick Parker
DevDay: Corda Enterprise: Journey to 1000 TPS per node, Rick ParkerDevDay: Corda Enterprise: Journey to 1000 TPS per node, Rick Parker
DevDay: Corda Enterprise: Journey to 1000 TPS per node, Rick Parker
 
Maplelabs scalable-field-device-cloud-native
Maplelabs scalable-field-device-cloud-nativeMaplelabs scalable-field-device-cloud-native
Maplelabs scalable-field-device-cloud-native
 
Db trends final
Db trends   finalDb trends   final
Db trends final
 
Virtualizing Tier One Applications - Varrow
Virtualizing Tier One Applications - VarrowVirtualizing Tier One Applications - Varrow
Virtualizing Tier One Applications - Varrow
 
Ask The Architect: RightScale & AWS Dive Deep into Hybrid IT
Ask The Architect: RightScale & AWS Dive Deep into Hybrid ITAsk The Architect: RightScale & AWS Dive Deep into Hybrid IT
Ask The Architect: RightScale & AWS Dive Deep into Hybrid IT
 
Development of concurrent services using In-Memory Data Grids
Development of concurrent services using In-Memory Data GridsDevelopment of concurrent services using In-Memory Data Grids
Development of concurrent services using In-Memory Data Grids
 
Pascal benois performance_troubleshooting-spsbe18
Pascal benois performance_troubleshooting-spsbe18Pascal benois performance_troubleshooting-spsbe18
Pascal benois performance_troubleshooting-spsbe18
 

Kürzlich hochgeladen

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
 
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
 
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
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
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
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 

Kürzlich hochgeladen (20)

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
 
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
 
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
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
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...
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 

Building a highly scalable and available cloud application

  • 1. SQLCAT - Shared technical learnings
  • 2. Agenda • Fit for Purpose – what makes a good cloud app? • Shifting Perspective – Designing for Cloud • Lessons Learned • Summary / Q&A
  • 3. Setting the Stage • Customer Advisory Team (CAT) works on big mean projects. • Including a lot of big mean Azure projects • Collating guidance and learnings from the last year of engagement • This discussion is a peek at some of what we’ve learned about Azure applications at serious scale • Take a deep breath.. Not all Azure applications are this involved 
  • 4.
  • 5. Fit for Purpose – What makes a good cloud app?
  • 6. Fit for Purpose – What makes a good cloud app? DISPERSED USERS & DATA ELASTIC DEMAND SCALE OUT
  • 7. Shifting Perspective – Designing for Cloud • Scale-out not scale-up • Everything has a limit – compose for scale • Design for failure • Design for continuity • Optimize for density
  • 8. Scale-out not scale-up • Traditional 3-tier application • Make ”everything stateless” Load Balancer • Where is the state? Web App Servers Servers
  • 9. Scale-out not scale-up • Traditional 3-tier application • Make ”everything stateless” Load Balancer Database • Where is the state? • Oh, right.. in the scale-up database Web App Servers Servers
  • 10. Azure Load Balancer Scale-out not scale-up • Challenge: architect applications to use partitioned data store • Connection management • Data partitioning & affinity • Scatter / gather queries • Resource management DB1 DB2 DB3
  • 11. Everything has a limit – compose for scale • Ship as much as you want • Provided it will fit into the standard “scale units” • Want to ship more – use more containers.
  • 12. Design for failure • Traditional approach: harden the database • Cloud approach: expect failures, design for them, work around them
  • 13. Optimize for Density • Density is cost of goods • Chunky not chatty • Framework and library efficiency
  • 14. Handling Transient and Enduring Failures • Given enough scale, time and pressure all components or services will fail • Your application will experience 1..N failures • Transient failures; temporary service interruptions • Dropped connections, failed queries • Enduring failures; require intervention • Incorrect configuration, long-running service unavailability
  • 15. Handling Transient and Enduring Failures • Use fault-handling frameworks that recognize transient errors • Appropriate retry and backoff policies
  • 16.
  • 17. Handling Transient and Enduring Failures Web Request Response Latency 450 Seconds 400 350 300 250 200 150 100 50 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 Avg Latency Response latency
  • 18.
  • 19. Scale it out, stitch it together • Partitioning strategies: • Horizontal • Vertical • Hybrid • CSV vs. Global data model
  • 20. Telemetry is Life • You don’t know what you didn’t capture • Split the streams: high-volume (low- fidelity) and high-value • Know you’re ”down” before your users are! • Be able to figure out why afterwards
  • 21. Handling transient failures Logging transient failures Logging all external API calls with timing Logging full exception (not .ToString())
  • 22. Telemetry is Life Per-Application High value data High value data consumer - Filter - Generate alerts Server - Aggregate - Display dashboard - Publish - Operational intelligence Data Sources - IIS logs - Application logs - Performance counters High volume data High volume data consumer - Batch - Data mining / analysis - Partition - Historical trends - Archive - Root Cause Analysis
  • 23. Azure Load Balancer Managing Connections • Instances * DB’s * Pool Size • Each hosted service has 1 IP • Each DB cluster has 1 IP • How big is a routing table entry for IPv4? DB1 DB2 DB3 Hint: 64k
  • 24. Optimize work: batch & align • Challenge: • Optimize insert of activity and user data into a scale-out data tier (400+ databases) • Transient failure – retries • Enduring failure – failover to alternate store • Optimize for partition alignment
  • 25.
  • 26. Impact of Interface • Be careful about paying for features you don’t use • Look at optimized frameworks / libraries for key aspects • Balance features vs. Performance – CoGS can add up quickly
  • 27.
  • 28. Mark Simms Summary / Q&A masimms@microsoft.c om • Architecture is key Twitter: @mabsimms • Failure is the norm; expect it, design for it • Scale through partitioning and composition • Scale exposes the seams of your implementation • CAT preparing to publish hands-on guidance with reusable patterns