1 / 45

Cloud Native Applications and AppDynamics

Cloud Native Applications and AppDynamics. March 2013 Adrian Cockcroft @ adrianco # netflixcloud @ NetflixOSS http:// www.linkedin.com/in/adriancockcroft. Forklift Old C ode to the Cloud. Faster than datacenter deployments but fragile. Typical Hybrid Cloud Architecture.

zonta
Télécharger la présentation

Cloud Native Applications and AppDynamics

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Cloud Native Applications and AppDynamics March 2013 Adrian Cockcroft @adrianco #netflixcloud @NetflixOSS http://www.linkedin.com/in/adriancockcroft

  2. Forklift Old Code to the Cloud Faster than datacenter deployments but fragile

  3. Typical Hybrid Cloud Architecture

  4. New Anti-Fragile Patterns Micro-services Chaos engines HA systems composed from ephemeral components

  5. Netflix Member Web Site Home PagePersonalization Driven

  6. Web Server Dependencies Flow(Home pagebusiness transaction as seen by AppDynamics) Each icon is three to a few hundred instances across three AWS zones Cassandra memcached Web service Start Here S3 bucket Three Personalization movie group choosers (for US, Canada and Latam)

  7. Netflix Europe

  8. Cloud Native Architecture Zone A Zone B Zone C

  9. Cloud Native Master copies of data are cloud resident Everything is dynamically provisioned All services are ephemeral

  10. Scaling AppDynamics Frog-boiling as a Service

  11. Peak Nodes/Controller Over Time

  12. Controllers and ApplicationsEach AWS region maps to an Application

  13. Cloud Deployment Scalability New Autoscaled AMI – zero to 500 instances from 21:38:52 - 21:46:32, 7m40s Scaled up and down over a few days, total 2176 instance launches, m2.2xlarge (4 core 34GB) Min. 1st Qu. Median Mean 3rd Qu. Max. 41.0 104.2 149.0 171.8 215.8 562.0

  14. Ephemeral Nodes • Largest and most active tiers are autoscaled • Average lifetime of a node is 36 hours • Controller gets storms of new metrics

  15. AppDynamics Configuration

  16. Stateless Micro-Service Architecture

  17. Agent ConfigurationDynamic configuration script based on environment • Set controller, set node name to tier-instance • Set tier name to Netflix service or cluster • helloworld or helloworld-live, helloworld-canary…

  18. Memcached Backend Setup

  19. Memcached Custom Exit Point

  20. AppDynamics REST API

  21. Configuration Management Datacenter CMDB’s woeful Cloud is a model driven architecture Dependably complete

  22. Edda – Configuration Historyhttp://techblog.netflix.com/2012/11/edda-learn-stories-of-your-cloud.html Monkeys

  23. Edda Query Examples Find any instances that have ever had a specific public IP address $ curl "http://edda/api/v2/view/instances;publicIpAddress=1.2.3.4;_since=0" ["i-0123456789","i-012345678a","i-012345678b”] Show the most recent change to a security group $ curl "http://edda/api/v2/aws/securityGroups/sg-0123456789;_diff;_all;_limit=2" --- /api/v2/aws.securityGroups/sg-0123456789;_pp;_at=1351040779810 +++ /api/v2/aws.securityGroups/sg-0123456789;_pp;_at=1351044093504 @@ -1,33 +1,33 @@ { … "ipRanges" : [ "10.10.1.1/32", "10.10.1.2/32", + "10.10.1.3/32", - "10.10.1.4/32" … }

  24. Core Alerting GatewayREST API to get Policy ViolationsRate limit, quench, merge with other alertstreamsSend to pagerduty or email

  25. Maintenance Use Case • Backend Resolver Script • Cleans up dangling HTML references • Non HTML memcached and cassandrabackends • Code Structure • Get from AppDynamics • Get from Edda • Resolve • Put to AppDynamics

  26. Error Trending Tool • Once a week • Get top N errors • Look for trends • Complain to responsible teams • On Demand User Interface • List top errors • Pick a tier • Drill into error snapshots for more details

  27. Dependent Service Time Plot

  28. Critical Systems Inspector • Correlates metrics across the system • Cross Tier Dependency Flow via Edda • Data via Netflix internal metric collector Atlas

  29. A Cloud Native Open Source Platform

  30. Inspiration

  31. Three Questions Why is Netflix doing this? How does it all fit together? What is coming next?

  32. Platform Evolution 2009-2010 2011-2012 2013-2014 Netflix ended up several years ahead of the industry, but it’s not a sustainable position

  33. Making it easy to follow Exploring the wild west each time vs. laying down a shared route

  34. How does it all fit together?

  35. NetflixOSS Continuous Build and Deployment Github NetflixOSS Source Maven Central AWS Base AMI Jenkins Aminator Bakery Dynaslave AWS Build Slaves AWS Baked AMIs Odin Orchestration API Asgard (+ Frigga) Console AWS Account

  36. NetflixOSS Services Scope

  37. NetflixOSS Instance Libraries

  38. NetflixOSS Testing and Automation

  39. Example Application – RSS Reader

  40. What’s Coming Next? More Features Better portability Higher availability Easier to deploy Contributions from end users Contributions from vendors More Use Cases

  41. Functionalityand scale now, portability coming Moving from parts to a platform in 2013 Netflix is fostering an ecosystem Rapid Evolution - Low MTBIAMSH (Mean Time Between Idea And Making Stuff Happen)

  42. Takeaway Netflix is making it easy for everyone to adopt Cloud Native patterns. AppDynamics provides visibility into Cloud Native applications at scale. http://netflix.github.com http://techblog.netflix.com http://slideshare.net/Netflix http://www.linkedin.com/in/adriancockcroft @adrianco #netflixcloud @NetflixOSS

More Related