SlideShare une entreprise Scribd logo
1  sur  23
Télécharger pour lire hors ligne
PERFORMANCE ON
   AMAZON AWS
BHASKAR SUNKARA AND PETER ABRAMS
INTRODUCTION

•  Founded in April 2008 in San Francisco – Venture Funded
•  Founding Principles
  •  The Move to the cloud presents a new set of challenges
  •  New world - Constant Change (infrastructure, architecture,
     code)
  •  Existing management solutions not designed for constant
     change
  •  AppDynamics Value - Enable teams to operate business critical
     applications in clouds and guarantee service performance
•  Working with Netflix since October 2009
  •  Oct. 2009 – 150 servers in private data center
  •  May 2012 – 50 servers in data center, 8,000 servers in EC2
  •  AppDynamics is Netflix primary SLA management tool
AGENDA

Differences between Cloud and Physical
Datacenter

Performance on AWS


Case Study on AWS


AppDynamics
CLOUD /PHYSICAL
  DATACENTER
  T H I N G S H AV E C H A N G E D
EVERYTHING IS SHARED
                                                 •    S3
•  Shared/Virtualized Infrastructure             •    SQS
•  Shared services                               •    SDB
                                                 •    EBS
                                                 •    EMR
                                                 •    …


                                           Shared
                                           Services




             The biggest public cloud !!
INFRASTRUCTURE

•  Machines come and go
•  High rate of change
•  Capacity is much cheaper
•  Capacity can be both increased and decreased
 •  In minutes
•  Cannot use physical dependencies anymore
 •  E.g. static IP mapping between services
PERFORMANCE MONITORING

•  Traditional monitoring : Measure
  •    CPU and other hardware metrics
  •    Code metrics – individual methods etc.
  •    Scrape logs for errors etc.
  •    Configured by hand
•  Cloud Monitoring - Datacenter tools are a big pain !
  •    You were measuring CPU metrics for a bunch of machines
  •    Now those are gone, and the new ones are up
  •    Who is going to refresh your dashboards?
  •    Who is going to clean up the dead instance data?
GOOD PERFORMANCE ON AWS?


(Re)architect your app to
• Work on Amazon !
• Take advantage of all that it provides
• Careful with shared services !

Pick the right performance monitoring tools !

Lets not forget managing capacity/cost !!
APPLICATION
ARCHITECTURE
APPLICATION ARCHITECTURE




 •  Distributed
 •  Service Oriented
 •  Horizontally Scalable
AWS PERFORMANCE FACTSHEET –
FROM A HEAVY DUTY USER - NETFLIX
IF YOU ARE USING SHARED SERVICES

•  Measure service performance in isolation
 •  Stress test the hell out of shared service calls
 •  At minimum double of your peak load !
•  Look for common patterns out there
 •  e.g. Simple DB needs a cache frontend
•  Avoid badly performing shared services
 •  EBS?
PERFORMANCE
                 MONITORING
E S TA B L I S H A C R I T E R I A T O P I C K T H E R I G H T T O O L S
1.HAS TO BE SERVICE ORIENTED

•  Primarily monitor Services not Infrastructure !
•  Focus on the application SLAs
•  Focus on the end user experience




                                 §    Response times
         Process Service Order   §    Load
                                 §    Error rates
                                 §    Trends
2. HAS TO BE DISTRIBUTED

•  Tools need to measure health of tiers
•  Measuring individual servers does not make sense
•  Services are horizontally scalable
                                                    ec2-2
                                          ec2-1
                ec2-2                                       ec2-4
                                                  ec2-3
      ec2-1
              ec2-3                               ec2-5



       You need to know how the cluster/tier performs
       in terms of average utilization
3. HAS TO KEEP UP WITH RATE OF
               CHANGE
•  Keep up with machines going up/down
  •  Node are transient
•  Provide a clean view of the current state
  •  Clean up dead instances/services
•  Maintain a baseline of how the overall tier does




                                                   ec2-23
              ec2-2                     ec2-22
    ec2-1
                                                 ec2-24
            ec2-3
4.CROSS SERVICE TRACING

•  Becomes absolutely necessary for truly distributed
   apps
•  Should be able to drill down across services within
   the context of a single user request
•  Should be able to analyze code in every service
•  Should be able to point out impact of using shared
   services
CROSS SERVICE TRACING
IMPACT OF SHARED SERVICES
5.AUTODISCOVERY/LOW
   CONFIGURATION MAINTENANCE
•  Cannot have configuration based discovery of new
   instances/services
 •  Baking into AMIs etc.
 •  Should auto-discover new tiers/services
•  Cannot have code level configuration
 •  Difficult to maintain with agile development
MANAGING COST – CASE
      STUDY
MANAGING COST - EISMANN

•  Managing Capacity == Cost
•  The cloud isn’t free !
•  Eismann
 •    Frozen food delivery vendor in Germany
 •    In-production on AWS
 •    Has variable-capacity based on usage hours
 •    Use application level SLAs to determine capacity
      •  E.g. Process Order Volume == capacity of services on AWS
WHAT IS APPDYNAMICS?

•  Fundamentally built for the Cloud
•  Handles constant change of infrastructure
•  Service oriented SLA management
•  Detailed – actionable information on service
   performance for engineers, architects and
   operations
•  Zero to low configuration
  •  No code configuration needed for visibility


  Did I mention Eismann is fully deployed on AppDynamics and
  uses us for automatically managing capacity and SLAs !!

Contenu connexe

Plus de Publicis Sapient Engineering

XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?
XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?
XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?Publicis Sapient Engineering
 
XebiCon'18 - Boostez vos modèles avec du Deep Learning distribué
XebiCon'18 - Boostez vos modèles avec du Deep Learning distribuéXebiCon'18 - Boostez vos modèles avec du Deep Learning distribué
XebiCon'18 - Boostez vos modèles avec du Deep Learning distribuéPublicis Sapient Engineering
 
XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...
XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...
XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...Publicis Sapient Engineering
 
XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !
XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !
XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !Publicis Sapient Engineering
 
XebiCon'18 - Comment fausser l'interprétation de vos résultats avec des dataviz
XebiCon'18 - Comment fausser l'interprétation de vos résultats avec des datavizXebiCon'18 - Comment fausser l'interprétation de vos résultats avec des dataviz
XebiCon'18 - Comment fausser l'interprétation de vos résultats avec des datavizPublicis Sapient Engineering
 
XebiCon'18 - Architecturer son application mobile pour la durabilité
XebiCon'18 - Architecturer son application mobile pour la durabilitéXebiCon'18 - Architecturer son application mobile pour la durabilité
XebiCon'18 - Architecturer son application mobile pour la durabilitéPublicis Sapient Engineering
 
XebiCon'18 - Sécuriser son API avec OpenID Connect
XebiCon'18 - Sécuriser son API avec OpenID ConnectXebiCon'18 - Sécuriser son API avec OpenID Connect
XebiCon'18 - Sécuriser son API avec OpenID ConnectPublicis Sapient Engineering
 
XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...
XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...
XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...Publicis Sapient Engineering
 
XebiCon'18 - La sécurité, douce illusion même en 2018
XebiCon'18 - La sécurité, douce illusion même en 2018XebiCon'18 - La sécurité, douce illusion même en 2018
XebiCon'18 - La sécurité, douce illusion même en 2018Publicis Sapient Engineering
 
XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...
XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...
XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...Publicis Sapient Engineering
 
XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...
XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...
XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...Publicis Sapient Engineering
 
XebiCon'18 - La guerre des Frameworks n'aura pas lieu
XebiCon'18 - La guerre des Frameworks n'aura pas lieuXebiCon'18 - La guerre des Frameworks n'aura pas lieu
XebiCon'18 - La guerre des Frameworks n'aura pas lieuPublicis Sapient Engineering
 
XebiCon'18 - Orchestration : Conteneurs vs Musique
XebiCon'18 - Orchestration : Conteneurs vs MusiqueXebiCon'18 - Orchestration : Conteneurs vs Musique
XebiCon'18 - Orchestration : Conteneurs vs MusiquePublicis Sapient Engineering
 
XebiCon'18 - Passage à l'échelle de mes applications Kafka-Streams
XebiCon'18 - Passage à l'échelle de mes applications Kafka-StreamsXebiCon'18 - Passage à l'échelle de mes applications Kafka-Streams
XebiCon'18 - Passage à l'échelle de mes applications Kafka-StreamsPublicis Sapient Engineering
 
TEch4Exec - OUI.sncf propose des voyages moins chers grâce au Big Data et au ...
TEch4Exec - OUI.sncf propose des voyages moins chers grâce au Big Data et au ...TEch4Exec - OUI.sncf propose des voyages moins chers grâce au Big Data et au ...
TEch4Exec - OUI.sncf propose des voyages moins chers grâce au Big Data et au ...Publicis Sapient Engineering
 
Tech4Exec - Pourquoi faut-il gérer votre projet (Big) data comme une start-up...
Tech4Exec - Pourquoi faut-il gérer votre projet (Big) data comme une start-up...Tech4Exec - Pourquoi faut-il gérer votre projet (Big) data comme une start-up...
Tech4Exec - Pourquoi faut-il gérer votre projet (Big) data comme une start-up...Publicis Sapient Engineering
 
Tech4Exec - Etat de l’art et vulgarisation du Machine Learning
Tech4Exec - Etat de l’art et vulgarisation du Machine LearningTech4Exec - Etat de l’art et vulgarisation du Machine Learning
Tech4Exec - Etat de l’art et vulgarisation du Machine LearningPublicis Sapient Engineering
 

Plus de Publicis Sapient Engineering (20)

XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?
XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?
XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?
 
XebiCon'18 - Boostez vos modèles avec du Deep Learning distribué
XebiCon'18 - Boostez vos modèles avec du Deep Learning distribuéXebiCon'18 - Boostez vos modèles avec du Deep Learning distribué
XebiCon'18 - Boostez vos modèles avec du Deep Learning distribué
 
XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...
XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...
XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...
 
XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !
XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !
XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !
 
XebiCon'18 - Comment fausser l'interprétation de vos résultats avec des dataviz
XebiCon'18 - Comment fausser l'interprétation de vos résultats avec des datavizXebiCon'18 - Comment fausser l'interprétation de vos résultats avec des dataviz
XebiCon'18 - Comment fausser l'interprétation de vos résultats avec des dataviz
 
XebiCon'18 - Le développeur dans la Pop Culture
XebiCon'18 - Le développeur dans la Pop Culture XebiCon'18 - Le développeur dans la Pop Culture
XebiCon'18 - Le développeur dans la Pop Culture
 
XebiCon'18 - Architecturer son application mobile pour la durabilité
XebiCon'18 - Architecturer son application mobile pour la durabilitéXebiCon'18 - Architecturer son application mobile pour la durabilité
XebiCon'18 - Architecturer son application mobile pour la durabilité
 
XebiCon'18 - Sécuriser son API avec OpenID Connect
XebiCon'18 - Sécuriser son API avec OpenID ConnectXebiCon'18 - Sécuriser son API avec OpenID Connect
XebiCon'18 - Sécuriser son API avec OpenID Connect
 
XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...
XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...
XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...
 
XebiCon'18 - Spark NLP, un an après
XebiCon'18 - Spark NLP, un an aprèsXebiCon'18 - Spark NLP, un an après
XebiCon'18 - Spark NLP, un an après
 
XebiCon'18 - La sécurité, douce illusion même en 2018
XebiCon'18 - La sécurité, douce illusion même en 2018XebiCon'18 - La sécurité, douce illusion même en 2018
XebiCon'18 - La sécurité, douce illusion même en 2018
 
XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...
XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...
XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...
 
XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...
XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...
XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...
 
XebiCon'18 - La guerre des Frameworks n'aura pas lieu
XebiCon'18 - La guerre des Frameworks n'aura pas lieuXebiCon'18 - La guerre des Frameworks n'aura pas lieu
XebiCon'18 - La guerre des Frameworks n'aura pas lieu
 
XebiCon'18 - Orchestration : Conteneurs vs Musique
XebiCon'18 - Orchestration : Conteneurs vs MusiqueXebiCon'18 - Orchestration : Conteneurs vs Musique
XebiCon'18 - Orchestration : Conteneurs vs Musique
 
XebiCon'18 - Passage à l'échelle de mes applications Kafka-Streams
XebiCon'18 - Passage à l'échelle de mes applications Kafka-StreamsXebiCon'18 - Passage à l'échelle de mes applications Kafka-Streams
XebiCon'18 - Passage à l'échelle de mes applications Kafka-Streams
 
XebiCon'18 - Data Science Done Wrong
XebiCon'18 - Data Science Done WrongXebiCon'18 - Data Science Done Wrong
XebiCon'18 - Data Science Done Wrong
 
TEch4Exec - OUI.sncf propose des voyages moins chers grâce au Big Data et au ...
TEch4Exec - OUI.sncf propose des voyages moins chers grâce au Big Data et au ...TEch4Exec - OUI.sncf propose des voyages moins chers grâce au Big Data et au ...
TEch4Exec - OUI.sncf propose des voyages moins chers grâce au Big Data et au ...
 
Tech4Exec - Pourquoi faut-il gérer votre projet (Big) data comme une start-up...
Tech4Exec - Pourquoi faut-il gérer votre projet (Big) data comme une start-up...Tech4Exec - Pourquoi faut-il gérer votre projet (Big) data comme une start-up...
Tech4Exec - Pourquoi faut-il gérer votre projet (Big) data comme une start-up...
 
Tech4Exec - Etat de l’art et vulgarisation du Machine Learning
Tech4Exec - Etat de l’art et vulgarisation du Machine LearningTech4Exec - Etat de l’art et vulgarisation du Machine Learning
Tech4Exec - Etat de l’art et vulgarisation du Machine Learning
 

Dernier

Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
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
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
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
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 

Dernier (20)

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
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
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
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
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?
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 

Performances on Amazon AWS - Cloud Day 2012 Xebia

  • 1. PERFORMANCE ON AMAZON AWS BHASKAR SUNKARA AND PETER ABRAMS
  • 2. INTRODUCTION •  Founded in April 2008 in San Francisco – Venture Funded •  Founding Principles •  The Move to the cloud presents a new set of challenges •  New world - Constant Change (infrastructure, architecture, code) •  Existing management solutions not designed for constant change •  AppDynamics Value - Enable teams to operate business critical applications in clouds and guarantee service performance •  Working with Netflix since October 2009 •  Oct. 2009 – 150 servers in private data center •  May 2012 – 50 servers in data center, 8,000 servers in EC2 •  AppDynamics is Netflix primary SLA management tool
  • 3. AGENDA Differences between Cloud and Physical Datacenter Performance on AWS Case Study on AWS AppDynamics
  • 4. CLOUD /PHYSICAL DATACENTER T H I N G S H AV E C H A N G E D
  • 5. EVERYTHING IS SHARED •  S3 •  Shared/Virtualized Infrastructure •  SQS •  Shared services •  SDB •  EBS •  EMR •  … Shared Services The biggest public cloud !!
  • 6. INFRASTRUCTURE •  Machines come and go •  High rate of change •  Capacity is much cheaper •  Capacity can be both increased and decreased •  In minutes •  Cannot use physical dependencies anymore •  E.g. static IP mapping between services
  • 7. PERFORMANCE MONITORING •  Traditional monitoring : Measure •  CPU and other hardware metrics •  Code metrics – individual methods etc. •  Scrape logs for errors etc. •  Configured by hand •  Cloud Monitoring - Datacenter tools are a big pain ! •  You were measuring CPU metrics for a bunch of machines •  Now those are gone, and the new ones are up •  Who is going to refresh your dashboards? •  Who is going to clean up the dead instance data?
  • 8. GOOD PERFORMANCE ON AWS? (Re)architect your app to • Work on Amazon ! • Take advantage of all that it provides • Careful with shared services ! Pick the right performance monitoring tools ! Lets not forget managing capacity/cost !!
  • 10. APPLICATION ARCHITECTURE •  Distributed •  Service Oriented •  Horizontally Scalable
  • 11. AWS PERFORMANCE FACTSHEET – FROM A HEAVY DUTY USER - NETFLIX
  • 12. IF YOU ARE USING SHARED SERVICES •  Measure service performance in isolation •  Stress test the hell out of shared service calls •  At minimum double of your peak load ! •  Look for common patterns out there •  e.g. Simple DB needs a cache frontend •  Avoid badly performing shared services •  EBS?
  • 13. PERFORMANCE MONITORING E S TA B L I S H A C R I T E R I A T O P I C K T H E R I G H T T O O L S
  • 14. 1.HAS TO BE SERVICE ORIENTED •  Primarily monitor Services not Infrastructure ! •  Focus on the application SLAs •  Focus on the end user experience §  Response times Process Service Order §  Load §  Error rates §  Trends
  • 15. 2. HAS TO BE DISTRIBUTED •  Tools need to measure health of tiers •  Measuring individual servers does not make sense •  Services are horizontally scalable ec2-2 ec2-1 ec2-2 ec2-4 ec2-3 ec2-1 ec2-3 ec2-5 You need to know how the cluster/tier performs in terms of average utilization
  • 16. 3. HAS TO KEEP UP WITH RATE OF CHANGE •  Keep up with machines going up/down •  Node are transient •  Provide a clean view of the current state •  Clean up dead instances/services •  Maintain a baseline of how the overall tier does ec2-23 ec2-2 ec2-22 ec2-1 ec2-24 ec2-3
  • 17. 4.CROSS SERVICE TRACING •  Becomes absolutely necessary for truly distributed apps •  Should be able to drill down across services within the context of a single user request •  Should be able to analyze code in every service •  Should be able to point out impact of using shared services
  • 19. IMPACT OF SHARED SERVICES
  • 20. 5.AUTODISCOVERY/LOW CONFIGURATION MAINTENANCE •  Cannot have configuration based discovery of new instances/services •  Baking into AMIs etc. •  Should auto-discover new tiers/services •  Cannot have code level configuration •  Difficult to maintain with agile development
  • 21. MANAGING COST – CASE STUDY
  • 22. MANAGING COST - EISMANN •  Managing Capacity == Cost •  The cloud isn’t free ! •  Eismann •  Frozen food delivery vendor in Germany •  In-production on AWS •  Has variable-capacity based on usage hours •  Use application level SLAs to determine capacity •  E.g. Process Order Volume == capacity of services on AWS
  • 23. WHAT IS APPDYNAMICS? •  Fundamentally built for the Cloud •  Handles constant change of infrastructure •  Service oriented SLA management •  Detailed – actionable information on service performance for engineers, architects and operations •  Zero to low configuration •  No code configuration needed for visibility Did I mention Eismann is fully deployed on AppDynamics and uses us for automatically managing capacity and SLAs !!