AWS re:Invent 2016: Cloud Monitoring - Understanding, Preparing, and Troubleshooting Dynamic Apps on AWS (ARC303)

510 views

Published on

Applications running in a typical data center are static entities. Dynamic scaling and resource allocation are the norm in AWS. Technologies such as Amazon EC2, Docker, AWS Lambda, and Auto Scaling make tracking resources and resource utilization a challenge. The days of static server monitoring are over.

In this session, we examine trends we’ve observed across thousands of customers using dynamic resource allocation and discuss why dynamic infrastructure fundamentally changes your monitoring strategy. We discuss some of the best practices we’ve learned by working with New Relic customers to build, manage, and troubleshoot applications and dynamic cloud services. Session sponsored by New Relic.

AWS Competency Partner

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
510
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
74
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

AWS re:Invent 2016: Cloud Monitoring - Understanding, Preparing, and Troubleshooting Dynamic Apps on AWS (ARC303)

  1. 1. © 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Lee Atchison, Principal Cloud Architect, New Relic November 2016 Cloud Monitoring Understanding, Preparing, and Troubleshooting Dynamic Apps in AWS ARC303
  2. 2. Safe Harbor This document and the information herein (including any information that may be incorporated by reference) is provided for informational purposes only and should not be construed as an offer, commitment, promise or obligation on behalf of New Relic, Inc. (“New Relic”) to sell securities or deliver any product, material, code, functionality, or other feature. Any information provided hereby is proprietary to New Relic and may not be replicated or disclosed without New Relic’s express written permission. Such information may contain forward-looking statements within the meaning of federal securities laws. Any statement that is not a historical fact or refers to expectations, projections, future plans, objectives, estimates, goals, or other characterizations of future events is a forward-looking statement. These forward-looking statements can often be identified as such because the context of the statement will include words such as “believes,” “anticipates,”, “expects” or words of similar import. Actual results may differ materially from those expressed in these forward-looking statements, which speak only as of the date hereof, and are subject to change at any time without notice. Existing and prospective investors, customers and other third parties transacting business with New Relic are cautioned not to place undue reliance on this forward-looking information. The achievement or success of the matters covered by such forward-looking statements are based on New Relic’s current assumptions, expectations, and beliefs and are subject to substantial risks, uncertainties, assumptions, and changes in circumstances that may cause the actual results, performance, or achievements to differ materially from those expressed or implied in any forward-looking statement. Further information on factors that could affect such forward-looking statements is included in the filings we make with the SEC from time to time. Copies of these documents may be obtained by visiting New Relic’s Investor Relations website at http://ir.newrelic.com or the SEC’s website at www.sec.gov. New Relic assumes no obligation and does not Intend to update these forward-looking statements, except as required by law. New Relic makes no warranties, expressed or implied, in this document or otherwise, with respect to the information provided.
  3. 3. Who am I? 29 years in industry 4+ in New Relic (Architecture Lead, Cloud, Service Migration) 7 in Amazon Retail & AWS (Built SW/VG AppStore, AWS Elastic Beanstalk) Specializes in: Cloud computing Services & Microservices Scalability, Availability @leeatchison leeatchison Principal Cloud Architect
  4. 4. We want better apps faster Better data center Dynamic environment How do we use the cloud to accomplish this?
  5. 5. Better Data Center Better data center Dynamic environment
  6. 6. Cloud as a “Better Data Center” Resources are allocated to uses, just like in a data center Provisioning process is faster Lifetime of components is relatively long Capacity planning is still important and still applies
  7. 7. Why use a “Better Data Center”? Add new capacity (faster) Improve application availability (redundancy) Compliance
  8. 8. Who is impacted? Operations Better data center Development Can I scale my server fleet? Can apps run anywhere? How do they perform in the cloud? A data center is a data center…
  9. 9. Who is impacted? Operations Better data center Development Better data center Faster application launch / deploy=
  10. 10. How do I monitor it? Similar to monitoring any other data center…
  11. 11. Monitoring an application • Application & Application Microservices • Server OS • Hardware (virtual) Typical Server / Amazon EC2 Instance Amazon EC2 Instance Server OS Server (Virtual) Hardware Application & Application Microservices BrowserMobile
  12. 12. Amazon EC2 Instance Server OS Server (Virtual) Hardware Application & Application Microservices BrowserMobile AWS Monitoring • Server OS • Memory / Filesystem • Processes • Configuration • Application - Latency - Error rates • EC2 instance • Virtualization • Hardware • [CPU / Disk / Networking] Amazon CloudWatch Monitors Doesn’t know about: Amazon CloudWatch AWS CONSOLE
  13. 13. Amazon EC2 Instance Server OS Server (Virtual) Hardware Application & Application Microservices BrowserMobile Amazon CloudWatch AWS CONSOLE DASHBOARDS New Relic Monitoring • Virtualization • How O.S. is performing • Configuration • Processes • Hardware • App health • App performance • Microservices New Relic Monitors (Server): Monitors (Application): Doesn’t know New Relic Application Monitoring New Relic Infrastructure Monitoring
  14. 14. Amazon EC2 Instance Server OS Server (Virtual) Hardware Application & Application Microservices BrowserMobile Amazon CloudWatch AWS CONSOLE DASHBOARDS New Relic Application Monitoring New Relic Infrastructure Monitoring AWSNew Relic Monitoring • Visibility into virtualization • CPU / Disk / Networking • CPU / Disk / Networking • Memory / Filesystem • Processes - Infrastructure components • Application / Microservices: - Latency - Error rates - App insights AWS / CloudWatch New Relic New Relic Monitors CloudWatch monitors
  15. 15. Dynamic Cloud Dynamic environment Better data center
  16. 16. Cloud as a “Dynamic Tool for Dynamic Apps” Use only the resources you need
  17. 17. Cloud as a “Dynamic Tool for Dynamic Apps” Allocate / de-allocate resources on the fly Use only the resources you need
  18. 18. Cloud as a “Dynamic Tool for Dynamic Apps” Resource allocation is an integral part of your application architecture Allocate / de-allocate resources on the fly Use only the resources you need
  19. 19. Allocated Application is aware of and is controlling traditional OPs resources Consumed De-allocated Application in charge:Resources are: Dynamic Cloud
  20. 20. Dynamic Usage Example… Docker Container Age (Count vs. Hours) 1 Hour 200 days 833 days
  21. 21. Dynamic Usage Example… Docker Container Age (by Minute and Hour) 1,200,000 11% under one minute Container age (minutes)
  22. 22. Dynamic Cloud Technologies Dynamic Cloud is about scaling Auto Scaling Mobile / IoT Dynamic routing Load balancing Queues and notifications Docker
  23. 23. How do I monitor the Dynamic Cloud? Dynamic Cloud has unique monitoring requirements…
  24. 24. What is a Dynamic Cloud Application? • Application & Application Microservices Responsible for the parts you care about • Infrastructure • Allocation/Provisioning • Scaling Let cloud manage rest Server OS Server (Virtual) Hardware Application & Application Microservices Provisioning Application & Application Microservices Application & Application Microservices BrowserMobile
  25. 25. Server OS Server (Virtual) Hardware Application & Application Microservices Provisioning Application & Application Microservices Application & Application Microservices BrowserMobile Monitoring Dynamic Cloud Applications DASHBOARDS AWS CONSOLE CloudWatch
  26. 26. Server OS Server (Virtual) Hardware Application & Application Microservices Provisioning Application & Application Microservices Application & Application Microservices BrowserMobile AWS InfrastructureNew Relic work together CloudWatch AWS CONSOLE New Relic Application Monitoring New Relic Infrastructure Monitoring DASHBOARDS
  27. 27. Server OS Server (Virtual) Hardware Application & Application Microservices Provisioning Application & Application Microservices Application & Application Microservices BrowserMobile CloudWatch AWS CONSOLE New Relic Application Monitoring New Relic Infrastructure Monitoring DASHBOARDS AWS InfrastructureNew Relic work together New Relic Monitors CloudWatch & AWS monitors
  28. 28. Server OS Server (Virtual) Hardware Application & Application Microservices Provisioning Application & Application Microservices Application & Application Microservices BrowserMobile How do you monitor this? ?How do you monitor this?
  29. 29. Where did it go? It was just here!! The thing you monitored 10 minutes ago… ...doesn’t exist anymore!?
  30. 30. Remember This? Docker Container Age (by Minute and Hour) 1,200,000 11% under one minute Container age (minutes)
  31. 31. Monitoring the Dynamic Cloud Monitor the lifecycle of the cloud components Monitor the cloud components themselves Very different than monitoring traditional data center components
  32. 32. Who is impacted? Operations Better data center Development Can I scale my server fleet? Can apps run anywhere? How do they perform in the cloud? A data center is a data center…
  33. 33. Who is impacted? Operations Dynamic Cloud Development What is a container? Why do I care?? It was just here, where did it go?? Cloud architecture is integral to the application architecture * Developers deeply involved in cloud activities
  34. 34. Changing World Previous - STATIC World Ops
  35. 35. Changing World Previous - STATIC World Ops Dev Now - DYNAMIC World Ops
  36. 36. Change is speeding up Traditional data center Cloud data center Dynamic Cloud Dynamic Cloud enables better applications faster. Good Better Best The way you’ve done things in the past won’t work in the future.
  37. 37. Dynamic Cloud Process running a command Things happen faster because of… This is HARD Amazon EC2 Docker container Server running application/ processes
  38. 38. Dynamic Cloud Server running application/ processes Things happen faster because of… Amazon EC2 Docker container Function performing a task or operation AWS Lambda Process running a command
  39. 39. The Future with Lambda
  40. 40. Microcomputing & AWS Lambda • Newest entrance to the “dynamic cloud” • Provides event driven compute capabilities • No infrastructure to provision • Massively shared infrastructure
  41. 41. Why use Lambda? Run in response to a state change or action in the cloud Stateless, “filters” Perform quick actions Virtually no startup/shutdown cost Lambda scripts
  42. 42. AWS Lambda • Takes an event from an AWS resource (a trigger) S3 Bucket API Gateway SQS RESOURCESSOME DynamoDB
  43. 43. AWS Lambda Lambda Script • Takes an event from an AWS resource (a trigger) • Creates an instance to execute Lambda Instance S3 Bucket API Gateway SQS RESOURCESSOME DynamoDB
  44. 44. AWS Lambda Lambda Script • Takes an event from an AWS resource (a trigger) • Creates an instance to execute • Can impact original or different AWS resource Lambda Instance S3 Bucket DynamoDB API Gateway SQS RESOURCESSOME S3 Bucket API Gateway SQS RESOURCESSOME
  45. 45. AWS Lambda Lambda Script Lambda instances • Takes an event from an AWS resource (a trigger) • Creates an instance to execute • Can impact original or different AWS resource • Any number of instances can run at a time S3 Bucket API Gateway SQS RESOURCESSOME S3 Bucket API Gateway SQS RESOURCESSOME DynamoDB
  46. 46. Lambda example #1 Photo Management App
  47. 47. Photo management application Upload File• Photos uploaded to S3 S3 Bucket Image Import User
  48. 48. Photo management application Upload File S3 Bucket Image Thumbnails View Thumbnail • Photos uploaded to S3 • Lambda script creates thumbnails S3 Bucket Image Import Lambda Script User
  49. 49. Photo management application Image Database Upload File S3 Bucket Image Thumbnails Lambda Script View Thumbnail Lambda Script • Photos uploaded to S3 • Lambda script creates thumbnails • Lambda script updates metadata in database S3 Bucket Image Import User
  50. 50. Photo management application Application Upload File S3 Bucket Image Thumbnails App Interactions View Thumbnail Lambda Script • Photos uploaded to S3 • Lambda script creates thumbnails • Lambda script updates metadata in database • Application only has to deal with metadata editing, not photo / file management User Image Database S3 Bucket Image Import Lambda Script
  51. 51. Lambda example #2 Mobile Game App
  52. 52. Mobile game platform • Cloud platform hosts an API for mobile app - API Gateway • Lambda scripts implement the API • Lambda scripts manipulate database • Extremely high scale possible - No infrastructure API Gateway Lambda Script Lambda Script Lambda Script Mobile Phone Application Users DatabaseDatabase
  53. 53. Monitoring Lambda Scripts Less like infrastructure monitoring / More like web application monitoring We Care About We Don’t Care About • Run time (average, extremes – TP90/TP99) • Statistical metrics • Error rates and other deviations from norm • “Drill down” into individual “runs” • Details about all ”runs” • Server / infrastructure metrics
  54. 54. Monitoring Lambda More like application performance monitoring than infrastructure monitoring
  55. 55. Monitoring Lambda More like application performance monitoring than infrastructure monitoring
  56. 56. Change is speeding up Dynamic Cloud enables better applications faster. Good Better Best The way you’ve done things in the past won’t work in the future. Traditional data center Cloud data center Dynamic Cloud
  57. 57. EC2 Instance Server OS Server (Virtual) Hardware Application & Application Microservices Monitoring just the server Worked when the rate of change was low… CloudWatch AWS CONSOLE
  58. 58. Monitoring just the server • Rate of change is faster • Problems come up quicker • “Server” isn’t a server anymore • “Provisioning” isn’t provisioning anymore Insufficient in the cloud: • Top to bottom monitoring… • Full stack accountability... • Dynamic infrastructure control... You need: Server OS Server (Virtual) Hardware Application & Application Microservices Provisioning Application & Application Microservices Application & Application Microservices BrowserMobile
  59. 59. New Relic enables accountability between your code & AWS Customers On-Premises On Premises Relational Data RDS Synthetic Customers S3 Service API EC2 NoSQL Browser / Mobile / Apps Data Driven Digital Business Customer Experience Mgmt Application Performance Mgmt Dynamic Infrastructure Mgmt
  60. 60. Thank you!
  61. 61. Architecting for Scale By: Lee Atchison Published by: O’Reilly Media www.ArchitectingForScale.com leeatchison@leeatchison Stop by the New Relic Booth! Booth #610 Thursday – 11:20am • Book signing • Free copies of the book

×