SlideShare una empresa de Scribd logo
1 de 130
Descargar para leer sin conexión
Architecting for high
availability
Ianni Vamvadelis, Solution Architect
What is High Availability (HA)?

• Percentage of time an application operates
• Loss of availability is known as an outage or downtime
   – Planned and unplanned
   – App is offline, unreachable, or partially available
   – App is unresponsive




                             2
HA is related to …
• Scalability
   – Often slow is indistinguishable from unavailable.
• Fault Tolerance
   – Apps continue functioning when components fail
• Disaster Recovery
   – Restoring service after a catastrophic event



                            3
HA and DR                  High Availability          Disaster Recovery

• A continuum
• business continuity plan
• Not all or nothing proposition

In the face of internal or external events, how do you…
     – Keep your applications running 24x7
     – Make sure you data is safe
     – Get an application recovered after a major disaster


                                   4
How does AWS Help
 High Availability?
US-WEST (Oregon)
                                                                EU-WEST (Ireland)

                          AWS GovCloud (US)
                                                                                                  ASIA PAC (Tokyo)




                                  US-EAST (Virginia)


                                                                                                                     ASIA PAC (Sydney)
US-WEST (N. California)




                                                                                    ASIA PAC
                                                                                    (Singapore)


                                              SOUTH AMERICA (Sao Paulo)
US-WEST (Oregon))
                                                                EU-WEST (Ireland)

                          AWS GovCloud (US)
                                                                                                  ASIA PAC (Tokyo)




                                  US-EAST (Virginia)


                                                                                                                     ASIA PAC (Sydney)
US-WEST (N. California)




                                                                                    ASIA PAC
                                                                                    (Singapore)


                                              SOUTH AMERICA (Sao Paulo)
Automation




             8
AWS SERVICES
Inherently Highly Available and           Highly Available with
Fault Tolerant Services                   the right architecture

 Amazon S3                 Amazon SQS      Amazon EC2
 Amazon DynamoDB           Amazon SNS      Amazon EBS
 Amazon CloudFront         Amazon SES      Amazon RDS
 Amazon Route53            Amazon SWF
                                             Amazon VPC
 Elastic Load Balancing    …
AWS
Principles for HA
1.   DESIGN FOR FAILURE
2.   MULTIPLE AVAILABILITY ZONES
3.   SCALING
4.   SELF-HEALING
5.   LOOSE COUPLING
LET’S BUILD A
HIGHLY AVAILABLE
     SYSTEM
#1
DESIGN FOR FAILURE
       ●○○○○
« Everything fails
  all the time »
                  Werner Vogels
                 CTO of Amazon
AVOID SINGLE POINTS OF FAILURE
AVOID SINGLE POINTS OF FAILURE




ASSUME EVERYTHING FAILS,
AND WORK BACKWARDS
YOUR GOAL
Applications should continue to function
AMAZON EBS
 ELASTIC BLOCK STORE
AMAZON ELB
ELASTIC LOAD BALANCING
HEALTH CHECKS
#   2
     MULTIPLE
AVAILABILITY ZONES
       ●●○○○
AMAZON RDS
MULTI-AZ
AMAZON ELB AND
MULTIPLE AZs
#3
SCALING
  ●●●○○
AUTO SCALING
SCALE UP/DOWN EC2 CAPACITY
#4
SELF-HEALING
    ●●●●○
HEALTH CHECKS
     +
AUTO SCALING
HEALTH CHECKS
      +
 AUTO SCALING
       =
SELF-HEALING
DEGRADED MODE
AMAZON S3
   STATIC WEBSITE
         +
  AMAZON ROUTE 53
WEIGHTED RESOLUTION
#5
 LOOSE
COUPLING
  ●●●●●
BUILD LOOSELY
COUPLED SYSTEMS
   The looser they are coupled,
      the bigger they scale,
 the more fault tolerant they get…
AMAZON SQS
 SIMPLE QUEUE SERVICE
PUBLISH&
RECEIVE   TRANSCODE
                       NOTIFY
PUBLISH&
RECEIVE   TRANSCODE
                       NOTIFY
VISIBILITY TIMEOUT
BUFFERING
CLOUDWATCH METRICS
  FOR AMAZON SQS
        +
   AUTO SCALING
1.   DESIGN FOR FAILURE
2.   MULTIPLE AVAILABILITY ZONES
3.   SCALING
4.   SELF-HEALING
5.   LOOSE COUPLING
1.   DESIGN FOR FAILURE
2.   MULTIPLE AVAILABILITY ZONES
3.   SCALING
4.   SELF-HEALING
5.   LOOSE COUPLING
1.   DESIGN FOR FAILURE
2.   MULTIPLE AVAILABILITY ZONES
3.   SCALING
4.   SELF-HEALING
5.   LOOSE COUPLING
1.   DESIGN FOR FAILURE
2.   MULTIPLE AVAILABILITY ZONES
3.   SCALING
4.   SELF-HEALING
5.   LOOSE COUPLING
1.   DESIGN FOR FAILURE
2.   MULTIPLE AVAILABILITY ZONES
3.   SCALING
4.   SELF-HEALING
5.   LOOSE COUPLING
1.   DESIGN FOR FAILURE
2.   MULTIPLE AVAILABILITY ZONES
3.   SCALING
4.   SELF-HEALING
5.   LOOSE COUPLING
YOUR GOAL
Applications should continue to function
IT’S ALL ABOUT

   CHOICE
BALANCE COST & HIGH AVAILABILITY
Summary
Leverage AWS Services

Apply 5 principles for HA

Automate

Test your HA implementation


                            117
aws.amazon.com/architecture



            118
JUST EAT WITH AWS
HIGH AVAILABILITY
JUST EAT
   13 countries
   34,000+ restaurants
   8m+ members
   Over 50m orders
 16,000+ restaurants in UK, 8m visits a month




                                                 120
PLATFORM
                                                                                          Devices in restaurants




     Apps and
     External
     Services
                    Consumer                   Public API       Customer     Restaurant
                     Website                                    Care Tools    Services


       APIs

                     Order API   Ratings API       Search API        …             …



      Common
   Infrastructure
                    SQL Server   Networking        Monitoring     Emails




                                                                                                          121
DESIGN FOR FAILURE
                                                           Devices in restaurants




               Web                          Device
              Service                       Service
                             Orders
           eu-west-1a        queue       eu-west-1a



               Web                            JCT
                                            Device
              Service                       Service
                                            Service


            eu-west-1b
                             Orders       eu-west-1b
                              data


               Web
              Service


            eu-west-1c                    eu-west-1c
        Auto scaling Group            Auto scaling Group




                                                                           122
SCALING - PROACTIVE




                      123
SCALING - PROACTIVE

                      Web servers in data center




                                         124
SCALING – PROACTIVE

                      Web servers in data center




                             Web EC2 instances




                                         125
SCALING – REACTIVE

                     Web servers in data center




                            Web EC2 instances




                                        126
EVERYTHING MULTI AZ – CONSUMER WEBSITE




                 99%
                 66%                   99%
                                       66%                66%




                                                                Monitor to keep resource usage at
    eu-west-1a            eu-west-1b         eu-west-1c
                                                                max of 66% of capacity in each AZ
                                                                  when everything’s available.
                       Auto scaling Group




                                                                                         127
EVERYTHING MULTI AZ – INTERNAL APIS
                                            Applications assume that internal APIs will fail
                                           or run slowly. So can cope with the loss of an AZ
                                              or instances – will just degrade gracefully.




                  100%
                   80%                    80%
                                         100%                                80%




                                                                                               Alarms tell us that performance has
     eu-west-1a             eu-west-1b                         eu-west-1c
                                                                                                been degraded – but platform will
                                                                                                  self heal as new instances are
                                                                                                             launched.
                         Auto scaling Group




                                                                                                                        128
EVERYTHING MULTI AZ – SQL SERVER 2012
                                 Connection strings simply contain
                               both primary and secondary servers –
                                    no code changes required.




      Primary      Witness                                             Alarms tell us that failover has
                                                 Secondary
     eu-west-1a   eu-west-1b                     eu-west-1c
                                                                      occurred, but it happens without
                                                                            manual intervention.




                                                                                              129
www.just-eat.com/jobs

DANIEL RICHARDSON                   twitter.com/JustEatUK
DIRECTOR OF ENGINEERING, JUST EAT

daniel.richardson@just-eat.com
                                    www.facebook.com/justeat

Más contenido relacionado

Destacado

AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
AWS Summit Tel Aviv - Startup Track - Architecting for High AvailabilityAWS Summit Tel Aviv - Startup Track - Architecting for High Availability
AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
Amazon Web Services
 
AWS Enterprise Summit London 2013 - Stuart Lynn - Sage
AWS Enterprise Summit London 2013 - Stuart Lynn - SageAWS Enterprise Summit London 2013 - Stuart Lynn - Sage
AWS Enterprise Summit London 2013 - Stuart Lynn - Sage
Amazon Web Services
 
AWS Summit 2013 | Singapore - Public Sector Keynote, Teresa Carlson
AWS Summit 2013 | Singapore - Public Sector Keynote, Teresa CarlsonAWS Summit 2013 | Singapore - Public Sector Keynote, Teresa Carlson
AWS Summit 2013 | Singapore - Public Sector Keynote, Teresa Carlson
Amazon Web Services
 

Destacado (20)

AWS Webcast - Business Continuity in the AWS Cloud
AWS Webcast - Business Continuity in the AWS CloudAWS Webcast - Business Continuity in the AWS Cloud
AWS Webcast - Business Continuity in the AWS Cloud
 
AWS re:Invent 2016: Disaster Recovery and Business Continuity for Systemicall...
AWS re:Invent 2016: Disaster Recovery and Business Continuity for Systemicall...AWS re:Invent 2016: Disaster Recovery and Business Continuity for Systemicall...
AWS re:Invent 2016: Disaster Recovery and Business Continuity for Systemicall...
 
AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
AWS Summit Tel Aviv - Startup Track - Architecting for High AvailabilityAWS Summit Tel Aviv - Startup Track - Architecting for High Availability
AWS Summit Tel Aviv - Startup Track - Architecting for High Availability
 
AWS Enterprise Summit London 2013 - Stuart Lynn - Sage
AWS Enterprise Summit London 2013 - Stuart Lynn - SageAWS Enterprise Summit London 2013 - Stuart Lynn - Sage
AWS Enterprise Summit London 2013 - Stuart Lynn - Sage
 
Empowering Publishers Event - Intro - May-15-2013
Empowering Publishers Event - Intro - May-15-2013Empowering Publishers Event - Intro - May-15-2013
Empowering Publishers Event - Intro - May-15-2013
 
AWS Canberra WWPS Summit 2013 - Extending your Datacentre with Amazon VPC
AWS Canberra WWPS Summit 2013 - Extending your Datacentre with Amazon VPCAWS Canberra WWPS Summit 2013 - Extending your Datacentre with Amazon VPC
AWS Canberra WWPS Summit 2013 - Extending your Datacentre with Amazon VPC
 
Advanced Topics - Session 2 - Introducing AWS OpsWorks
Advanced Topics - Session 2 - Introducing AWS OpsWorksAdvanced Topics - Session 2 - Introducing AWS OpsWorks
Advanced Topics - Session 2 - Introducing AWS OpsWorks
 
AWS Sydney Summit 2013 - Continuous Deployment Practices, with Production, Te...
AWS Sydney Summit 2013 - Continuous Deployment Practices, with Production, Te...AWS Sydney Summit 2013 - Continuous Deployment Practices, with Production, Te...
AWS Sydney Summit 2013 - Continuous Deployment Practices, with Production, Te...
 
AWS Summit 2013 | Auckland - Extending your Datacentre with Amazon VPC
AWS Summit 2013 | Auckland - Extending your Datacentre with Amazon VPCAWS Summit 2013 | Auckland - Extending your Datacentre with Amazon VPC
AWS Summit 2013 | Auckland - Extending your Datacentre with Amazon VPC
 
AWS Summit 2013 | Singapore - Understanding AWS Storage Options
AWS Summit 2013 | Singapore - Understanding AWS Storage OptionsAWS Summit 2013 | Singapore - Understanding AWS Storage Options
AWS Summit 2013 | Singapore - Understanding AWS Storage Options
 
AWS Summit 2013 | Singapore - Public Sector Keynote, Teresa Carlson
AWS Summit 2013 | Singapore - Public Sector Keynote, Teresa CarlsonAWS Summit 2013 | Singapore - Public Sector Keynote, Teresa Carlson
AWS Summit 2013 | Singapore - Public Sector Keynote, Teresa Carlson
 
Monetise your content with Amazon CloudFront
Monetise your content with Amazon CloudFrontMonetise your content with Amazon CloudFront
Monetise your content with Amazon CloudFront
 
End Note - AWS India Summit 2012
End Note - AWS India Summit 2012End Note - AWS India Summit 2012
End Note - AWS India Summit 2012
 
AWS Summit 2013 | Singapore - Extending your Datacenter with Amazon VPC
AWS Summit 2013 | Singapore - Extending your Datacenter with Amazon VPCAWS Summit 2013 | Singapore - Extending your Datacenter with Amazon VPC
AWS Summit 2013 | Singapore - Extending your Datacenter with Amazon VPC
 
AWS 101 Lunch & Learn March 2013
AWS 101 Lunch & Learn March 2013AWS 101 Lunch & Learn March 2013
AWS 101 Lunch & Learn March 2013
 
Viaggio attraverso il cloud come costruire architetture web scalabili e rob...
Viaggio attraverso il cloud   come costruire architetture web scalabili e rob...Viaggio attraverso il cloud   come costruire architetture web scalabili e rob...
Viaggio attraverso il cloud come costruire architetture web scalabili e rob...
 
MED303 Addressing Security in Media Workflows - AWS re: Invent 2012
MED303 Addressing Security in Media Workflows - AWS re: Invent 2012MED303 Addressing Security in Media Workflows - AWS re: Invent 2012
MED303 Addressing Security in Media Workflows - AWS re: Invent 2012
 
Focus on your app with Amazon RDS
Focus on your app with Amazon RDSFocus on your app with Amazon RDS
Focus on your app with Amazon RDS
 
Your First Week with Amazon EC2
Your First Week with Amazon EC2Your First Week with Amazon EC2
Your First Week with Amazon EC2
 
Best Practices for Getting Started with AWS
Best Practices for Getting Started with AWSBest Practices for Getting Started with AWS
Best Practices for Getting Started with AWS
 

Similar a Advanced Topics - Session 4 - Architecting for High Availability

Programming - Amazon Web Services
Programming - Amazon Web ServicesProgramming - Amazon Web Services
Programming - Amazon Web Services
Amazon Web Services
 
Etendez votre datacenter avec aws v4
Etendez votre datacenter avec aws v4Etendez votre datacenter avec aws v4
Etendez votre datacenter avec aws v4
Amazon Web Services
 
Data center 2.0: No more data centers by Mr. Simone Brunozzi of Amazon web se...
Data center 2.0: No more data centers by Mr. Simone Brunozzi of Amazon web se...Data center 2.0: No more data centers by Mr. Simone Brunozzi of Amazon web se...
Data center 2.0: No more data centers by Mr. Simone Brunozzi of Amazon web se...
HKISPA
 

Similar a Advanced Topics - Session 4 - Architecting for High Availability (20)

Architecting for High Availability
Architecting for High AvailabilityArchitecting for High Availability
Architecting for High Availability
 
ARC202 Architecting for High Availability - AWS re: Invent 2012
ARC202 Architecting for High Availability - AWS re: Invent 2012ARC202 Architecting for High Availability - AWS re: Invent 2012
ARC202 Architecting for High Availability - AWS re: Invent 2012
 
Building Web Scale Applications with AWS
Building Web Scale Applications with AWSBuilding Web Scale Applications with AWS
Building Web Scale Applications with AWS
 
Programming - Amazon Web Services
Programming - Amazon Web ServicesProgramming - Amazon Web Services
Programming - Amazon Web Services
 
Keynote from Werner Vogels
Keynote from Werner VogelsKeynote from Werner Vogels
Keynote from Werner Vogels
 
마이크로 서비스를 위한 AWS Cloud Map & App Mesh - Saeho Kim (AWS Solutions Architect)
마이크로 서비스를 위한 AWS Cloud Map & App Mesh - Saeho Kim (AWS Solutions Architect)마이크로 서비스를 위한 AWS Cloud Map & App Mesh - Saeho Kim (AWS Solutions Architect)
마이크로 서비스를 위한 AWS Cloud Map & App Mesh - Saeho Kim (AWS Solutions Architect)
 
마이크로서비스를 위한 App Mesh & Cloud Map - 김세호 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019
마이크로서비스를 위한 App Mesh & Cloud Map - 김세호 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019마이크로서비스를 위한 App Mesh & Cloud Map - 김세호 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019
마이크로서비스를 위한 App Mesh & Cloud Map - 김세호 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019
 
Etendez votre datacenter avec aws v4
Etendez votre datacenter avec aws v4Etendez votre datacenter avec aws v4
Etendez votre datacenter avec aws v4
 
Data center 2.0: No more data centers by Mr. Simone Brunozzi of Amazon web se...
Data center 2.0: No more data centers by Mr. Simone Brunozzi of Amazon web se...Data center 2.0: No more data centers by Mr. Simone Brunozzi of Amazon web se...
Data center 2.0: No more data centers by Mr. Simone Brunozzi of Amazon web se...
 
Nonfunctional Testing: Examine the Other Side of the Coin
Nonfunctional Testing: Examine the Other Side of the CoinNonfunctional Testing: Examine the Other Side of the Coin
Nonfunctional Testing: Examine the Other Side of the Coin
 
AWSome Day, Milan | 5 Marzo 2015 - Contenuto Tecnico (Danilo Poccia - AWS Sol...
AWSome Day, Milan | 5 Marzo 2015 - Contenuto Tecnico (Danilo Poccia - AWS Sol...AWSome Day, Milan | 5 Marzo 2015 - Contenuto Tecnico (Danilo Poccia - AWS Sol...
AWSome Day, Milan | 5 Marzo 2015 - Contenuto Tecnico (Danilo Poccia - AWS Sol...
 
Premiers pas et bonnes pratiques sur Amazon AWS - Carlos Condé
Premiers pas et bonnes pratiques sur Amazon AWS - Carlos CondéPremiers pas et bonnes pratiques sur Amazon AWS - Carlos Condé
Premiers pas et bonnes pratiques sur Amazon AWS - Carlos Condé
 
Carlos Condè - Amazon Web Services
Carlos Condè - Amazon Web ServicesCarlos Condè - Amazon Web Services
Carlos Condè - Amazon Web Services
 
AWS Sydney Summit 2013 - Architecting for High Availability
AWS Sydney Summit 2013 - Architecting for High AvailabilityAWS Sydney Summit 2013 - Architecting for High Availability
AWS Sydney Summit 2013 - Architecting for High Availability
 
Partner Solutions: Veritas Technologies - Unique Ways Veritas can Supercharge...
Partner Solutions: Veritas Technologies - Unique Ways Veritas can Supercharge...Partner Solutions: Veritas Technologies - Unique Ways Veritas can Supercharge...
Partner Solutions: Veritas Technologies - Unique Ways Veritas can Supercharge...
 
Amazon Web Services for Disaster Recovery, Attila Narin, AWS
Amazon Web Services for Disaster Recovery, Attila Narin, AWS Amazon Web Services for Disaster Recovery, Attila Narin, AWS
Amazon Web Services for Disaster Recovery, Attila Narin, AWS
 
AWS 101 Lunch and Learn | London
AWS 101 Lunch and Learn | LondonAWS 101 Lunch and Learn | London
AWS 101 Lunch and Learn | London
 
AWS Customers Saving Lives with Mobile Technology | AWS Public Sector Summit ...
AWS Customers Saving Lives with Mobile Technology | AWS Public Sector Summit ...AWS Customers Saving Lives with Mobile Technology | AWS Public Sector Summit ...
AWS Customers Saving Lives with Mobile Technology | AWS Public Sector Summit ...
 
WF and WCF with AppFabric – Application Infrastructure for OnPremise Services
WF and WCF with AppFabric – Application Infrastructure for OnPremise ServicesWF and WCF with AppFabric – Application Infrastructure for OnPremise Services
WF and WCF with AppFabric – Application Infrastructure for OnPremise Services
 
Improving Availability & Lowering Costs with Auto Scaling & Amazon EC2 (CPN20...
Improving Availability & Lowering Costs with Auto Scaling & Amazon EC2 (CPN20...Improving Availability & Lowering Costs with Auto Scaling & Amazon EC2 (CPN20...
Improving Availability & Lowering Costs with Auto Scaling & Amazon EC2 (CPN20...
 

Más de Amazon Web Services

Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
Amazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
Amazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
Amazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
Amazon Web Services
 

Más de Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Último

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Último (20)

Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 

Advanced Topics - Session 4 - Architecting for High Availability

  • 1. Architecting for high availability Ianni Vamvadelis, Solution Architect
  • 2. What is High Availability (HA)? • Percentage of time an application operates • Loss of availability is known as an outage or downtime – Planned and unplanned – App is offline, unreachable, or partially available – App is unresponsive 2
  • 3. HA is related to … • Scalability – Often slow is indistinguishable from unavailable. • Fault Tolerance – Apps continue functioning when components fail • Disaster Recovery – Restoring service after a catastrophic event 3
  • 4. HA and DR High Availability Disaster Recovery • A continuum • business continuity plan • Not all or nothing proposition In the face of internal or external events, how do you… – Keep your applications running 24x7 – Make sure you data is safe – Get an application recovered after a major disaster 4
  • 5. How does AWS Help High Availability?
  • 6. US-WEST (Oregon) EU-WEST (Ireland) AWS GovCloud (US) ASIA PAC (Tokyo) US-EAST (Virginia) ASIA PAC (Sydney) US-WEST (N. California) ASIA PAC (Singapore) SOUTH AMERICA (Sao Paulo)
  • 7. US-WEST (Oregon)) EU-WEST (Ireland) AWS GovCloud (US) ASIA PAC (Tokyo) US-EAST (Virginia) ASIA PAC (Sydney) US-WEST (N. California) ASIA PAC (Singapore) SOUTH AMERICA (Sao Paulo)
  • 9. AWS SERVICES Inherently Highly Available and Highly Available with Fault Tolerant Services the right architecture  Amazon S3  Amazon SQS  Amazon EC2  Amazon DynamoDB  Amazon SNS  Amazon EBS  Amazon CloudFront  Amazon SES  Amazon RDS  Amazon Route53  Amazon SWF  Amazon VPC  Elastic Load Balancing  …
  • 11. 1. DESIGN FOR FAILURE 2. MULTIPLE AVAILABILITY ZONES 3. SCALING 4. SELF-HEALING 5. LOOSE COUPLING
  • 12. LET’S BUILD A HIGHLY AVAILABLE SYSTEM
  • 13.
  • 14.
  • 15.
  • 16.
  • 17. #1 DESIGN FOR FAILURE ●○○○○
  • 18. « Everything fails all the time » Werner Vogels CTO of Amazon
  • 19. AVOID SINGLE POINTS OF FAILURE
  • 20. AVOID SINGLE POINTS OF FAILURE ASSUME EVERYTHING FAILS, AND WORK BACKWARDS
  • 21. YOUR GOAL Applications should continue to function
  • 22.
  • 23.
  • 24.
  • 25. AMAZON EBS ELASTIC BLOCK STORE
  • 26.
  • 27.
  • 28.
  • 29.
  • 31.
  • 32.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39. # 2 MULTIPLE AVAILABILITY ZONES ●●○○○
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 47.
  • 48.
  • 50.
  • 51.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63. #4 SELF-HEALING ●●●●○
  • 64. HEALTH CHECKS + AUTO SCALING
  • 65.
  • 66.
  • 67.
  • 68.
  • 69. HEALTH CHECKS + AUTO SCALING = SELF-HEALING
  • 71. AMAZON S3 STATIC WEBSITE + AMAZON ROUTE 53 WEIGHTED RESOLUTION
  • 72.
  • 73.
  • 74.
  • 75. #5 LOOSE COUPLING ●●●●●
  • 76. BUILD LOOSELY COUPLED SYSTEMS The looser they are coupled, the bigger they scale, the more fault tolerant they get…
  • 77. AMAZON SQS SIMPLE QUEUE SERVICE
  • 78. PUBLISH& RECEIVE TRANSCODE NOTIFY
  • 79. PUBLISH& RECEIVE TRANSCODE NOTIFY
  • 80.
  • 81.
  • 82.
  • 83.
  • 84.
  • 85.
  • 87.
  • 88.
  • 89.
  • 90.
  • 91.
  • 92.
  • 93.
  • 95.
  • 96.
  • 97.
  • 98.
  • 99.
  • 100.
  • 101. CLOUDWATCH METRICS FOR AMAZON SQS + AUTO SCALING
  • 102.
  • 103.
  • 104.
  • 105.
  • 106.
  • 107.
  • 108.
  • 109. 1. DESIGN FOR FAILURE 2. MULTIPLE AVAILABILITY ZONES 3. SCALING 4. SELF-HEALING 5. LOOSE COUPLING
  • 110. 1. DESIGN FOR FAILURE 2. MULTIPLE AVAILABILITY ZONES 3. SCALING 4. SELF-HEALING 5. LOOSE COUPLING
  • 111. 1. DESIGN FOR FAILURE 2. MULTIPLE AVAILABILITY ZONES 3. SCALING 4. SELF-HEALING 5. LOOSE COUPLING
  • 112. 1. DESIGN FOR FAILURE 2. MULTIPLE AVAILABILITY ZONES 3. SCALING 4. SELF-HEALING 5. LOOSE COUPLING
  • 113. 1. DESIGN FOR FAILURE 2. MULTIPLE AVAILABILITY ZONES 3. SCALING 4. SELF-HEALING 5. LOOSE COUPLING
  • 114. 1. DESIGN FOR FAILURE 2. MULTIPLE AVAILABILITY ZONES 3. SCALING 4. SELF-HEALING 5. LOOSE COUPLING
  • 115. YOUR GOAL Applications should continue to function
  • 116. IT’S ALL ABOUT CHOICE BALANCE COST & HIGH AVAILABILITY
  • 117. Summary Leverage AWS Services Apply 5 principles for HA Automate Test your HA implementation 117
  • 119. JUST EAT WITH AWS HIGH AVAILABILITY
  • 120. JUST EAT  13 countries  34,000+ restaurants  8m+ members  Over 50m orders  16,000+ restaurants in UK, 8m visits a month 120
  • 121. PLATFORM Devices in restaurants Apps and External Services Consumer Public API Customer Restaurant Website Care Tools Services APIs Order API Ratings API Search API … … Common Infrastructure SQL Server Networking Monitoring Emails 121
  • 122. DESIGN FOR FAILURE Devices in restaurants Web Device Service Service Orders eu-west-1a queue eu-west-1a Web JCT Device Service Service Service eu-west-1b Orders eu-west-1b data Web Service eu-west-1c eu-west-1c Auto scaling Group Auto scaling Group 122
  • 124. SCALING - PROACTIVE Web servers in data center 124
  • 125. SCALING – PROACTIVE Web servers in data center Web EC2 instances 125
  • 126. SCALING – REACTIVE Web servers in data center Web EC2 instances 126
  • 127. EVERYTHING MULTI AZ – CONSUMER WEBSITE 99% 66% 99% 66% 66% Monitor to keep resource usage at eu-west-1a eu-west-1b eu-west-1c max of 66% of capacity in each AZ when everything’s available. Auto scaling Group 127
  • 128. EVERYTHING MULTI AZ – INTERNAL APIS Applications assume that internal APIs will fail or run slowly. So can cope with the loss of an AZ or instances – will just degrade gracefully. 100% 80% 80% 100% 80% Alarms tell us that performance has eu-west-1a eu-west-1b eu-west-1c been degraded – but platform will self heal as new instances are launched. Auto scaling Group 128
  • 129. EVERYTHING MULTI AZ – SQL SERVER 2012 Connection strings simply contain both primary and secondary servers – no code changes required. Primary Witness Alarms tell us that failover has Secondary eu-west-1a eu-west-1b eu-west-1c occurred, but it happens without manual intervention. 129
  • 130. www.just-eat.com/jobs DANIEL RICHARDSON twitter.com/JustEatUK DIRECTOR OF ENGINEERING, JUST EAT daniel.richardson@just-eat.com www.facebook.com/justeat