Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Monitoring the Dynamic Nature of the Cloud

Monitoring the Dynamic Nature of the Cloud

How Docker and the Cloud Bring Your Application to Life.

Lee Atchison

August 09, 2016
Tweet

More Decks by Lee Atchison

Other Decks in Technology

Transcript

  1. Monitoring the Dynamic Nature of the Cloud How Docker and

    the Cloud bring your application to life Lee Atchison, Principal Cloud Architect at New Relic, Inc. @leeatchison leeatchison
  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. Who am I? Specialize in: Cloud computing Services & Microservices

    Scalability, Availability 29 years in industry 7 in Amazon Retail & AWS (Built SW/VG AppStore, AWS Elastic Beanstalk) 4 in New Relic (Architecture Lead, Cloud, Service Migration) @leeatchison leeatchison
  4. Dynamic Environment Better Data Center We want better apps faster

    How do we use the cloud to accomplish this?
  5. Cloud as a “Better Data Center” Resources are allocated to

    uses, just like in a data center Provisioning process is faster
  6. Cloud as a “Better Data Center” Resources are allocated to

    uses, just like in a data center Lifetime of components is relatively long Provisioning process is faster
  7. Cloud as a “Better Data Center” Resources are allocated to

    uses, just like in a data center Lifetime of components is relatively long Provisioning process is faster Capacity planning is still important and still applies
  8. Who is impacted? Can I scale my server fleet? Can

    apps run anywhere? How do they perform in the cloud? Better Data Center Operations Development
  9. Who is impacted? Data center is a data center… Can

    I scale my server fleet? Can apps run anywhere? How do they perform in the cloud? Better Data Center Operations Development
  10. Who is impacted? Better Data Center Faster Application Launch /

    Deploy = Better Data Center Operations Development
  11. Monitoring an application Typical Server / EC2 Instance • Application

    & Application Microservices • Server OS • Hardware (virtual) EC2 Instance Application & Application Microservices Server OS Server (Virtual) Hardware
  12. AWS Monitoring CloudWatch Monitors: • EC2 instance • Virtualization •

    Hardware • [CPU / Disk / Networking] Doesn’t know about: • Server OS • Memory / Filesystem • Processes • Application • Latency • Error rates • Internal insights EC2 Instance Application & Application Microservices Server OS Server (Virtual) Hardware AWS CONSOLE CloudWatch
  13. New Relic Monitoring New Relic Monitors (Server): • How O.S.

    is performing • Processes • Hardware Monitors (Application): • App health • App performance • Microservices Doesn’t know • Virtualization EC2 Instance Application & Application Microservices Server OS Server (Virtual) Hardware AWS CONSOLE New Relic Application Monitoring New Relic Server Monitoring DASHBOARDS CloudWatch
  14. EC2 Instance Application & Application Microservices Server OS Server (Virtual)

    Hardware AWS CONSOLE New Relic Application Monitoring New Relic Server Monitoring DASHBOARDS AWS çè New Relic work together AWS / CloudWatch • Visibility into virtualization • CPU / Disk / Networking New Relic • CPU / Disk / Networking • Memory / Filesystem • Processes • Infrastructure components • Application / Microservices: – Latency – Error rates – App insights CloudWatch New Relic monitors CloudWatch monitors
  15. Cloud as a “Dynamic Tool for Dynamic Apps” Use only

    the resources you need Allocate / de-allocate resources on the fly
  16. Cloud as a “Dynamic Tool for Dynamic Apps” Use only

    the resources you need Resource allocation is an integral part of your application architecture Allocate / de-allocate resources on the fly
  17. Dynamic Cloud Resources are: Application is aware of and is

    controlling traditional OPs resources De-allocated Consumed Allocated Auto Scale
  18. Dynamic Cloud Quicker / cheaper startup / shutdown than EC2

    instances Easy to consume Docker containers much like you do “processes” Perform jobs: • In a script • Off of some queue of job requests
  19. Dynamic Cloud 833 days Docker Container Age (Count vs. Hours)

    Confidential ©2008-16 New Relic, Inc. All rights reserved. 29 200 days 1 Hour
  20. Dynamic Cloud 1,200,000 11% under one minute Docker Container Age

    (by Minute Under and Hour) Confidential ©2008-16 New Relic, Inc. All rights reserved. 30
  21. EC2 Auto Scaling Dynamic Cloud Technologies Mobile / IoT Dynamic

    routing Load balancing Data transport Queues and notifications Docker Dynamic Cloud is about scaling
  22. How do I monitor the Dynamic Cloud? Dynamic Cloud has

    unique monitoring requirements…
  23. Responsibility (Dynamic Cloud) Responsible for the parts you care about

    • Application & Application Microservices Let cloud manage rest • Infrastructure • Allocation/Provisioning • Scaling Server OS Server (Virtual) Hardware Application & Application Microservices Provisioning Application & Application Microservices Application & Application Microservices
  24. AWS Infrastructure çè New Relic work together DASHBOARDS Server OS

    Server (Virtual) Hardware Application & Application Microservices Provisioning Application & Application Microservices Application & Application Microservices CloudWatch AWS CONSOLE
  25. AWS Infrastructure çè New Relic work together DASHBOARDS Server OS

    Server (Virtual) Hardware Application & Application Microservices Provisioning Application & Application Microservices Application & Application Microservices CloudWatch AWS CONSOLE New Relic Application Monitoring
  26. AWS Infrastructure çè New Relic work together DASHBOARDS Server OS

    Server (Virtual) Hardware Application & Application Microservices Provisioning Application & Application Microservices Application & Application Microservices CloudWatch AWS CONSOLE New Relic Application Monitoring New Relic monitors CloudWatch & AWS monitors
  27. How do you monitor this? ? How do you monitor

    this? Server OS Server (Virtual) Hardware Application & Application Microservices Provisioning Application & Application Microservices Application & Application Microservices
  28. Server OS Server (Virtual) Hardware Application & Application Microservices Provisioning

    Application & Application Microservices Application & Application Microservices Where did it go? It was just here!!! ? The thing you monitored 10 minutes ago… ...doesn’t exist anymore!
  29. Dynamic Cloud 1,200,000 11% under one minute Docker Container Age

    (by Minute Under and Hour) Confidential ©2008-16 New Relic, Inc. All rights reserved. 39
  30. Monitoring the Dynamic Cloud Very different than monitoring traditional Data

    Center components Monitor the Cloud Components themselves Monitor the lifecycle of the Cloud Components
  31. Who is impacted? Operations Data center is a data center…

    Development Can I scale my server fleet? Can apps run anywhere? How do they perform in the cloud? Better Data Center
  32. Who is impacted? Operations Data center is a data center…

    Development Can I scale my server fleet? Can apps run anywhere? How do they perform in the cloud? Better Data Center Dynamic Cloud 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
  33. Change is speeding up Dynamic Cloud enables better applications faster.

    Traditional Data Center Good Cloud Data Center Better Dynamic Cloud Best The way you’ve done things in the past won’t work in the future.
  34. Dynamic Cloud Things happen faster because of… EC2 Server running

    application / processes Docker container Process running a command This is HARD
  35. Dynamic Cloud EC2 Server running application / processes Docker container

    Process running a command Lambda Function performing a task or operation
  36. Microcomputing & AWS Lambda • Newest entrance to the “dynamic

    cloud” • Provides event driven compute capabilities
  37. Why use Lambda? Lambda scripts Run in response to a

    state change or action in the cloud Stateless, “filters” Perform quick actions Virtually no startup/shutdown cost
  38. AWS Lambda S3 Bucket Dynamo DB API Gateway SQS RESOURCES

    SOME • Takes an event from an AWS resource (A Trigger)
  39. AWS Lambda S3 Bucket Dynamo DB API Gateway SQS RESOURCES

    SOME Lambda Script • Takes an event from an AWS resource (A Trigger) • Creates an instance to execute Lambda Instance
  40. AWS Lambda S3 Bucket Dynamo DB API Gateway SQS RESOURCES

    SOME S3 Bucket API Gateway SQS RESOURCES SOME 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
  41. AWS Lambda S3 Bucket Dynamo DB API Gateway SQS RESOURCES

    SOME S3 Bucket API Gateway SQS RESOURCES SOME 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
  42. Photo management application S3 Bucket Image Import S3 Bucket Image

    Thumbnails Lambda Script • Photos uploaded to S3 • Lambda script creates thumbnails Upload File View Thumbnail User
  43. Photo management application Image Database S3 Bucket Image Import S3

    Bucket Image Thumbnails Lambda Script Lambda Script • Photos uploaded to S3 • Lambda script creates thumbnails • Lambda script updates metadata in database Upload File View Thumbnail User
  44. Photo management application Image Database Application Upload File S3 Bucket

    Image Import S3 Bucket Image Thumbnails Lambda Script 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
  45. Mobile game platform API Gateway Lambda Script Lambda Script Lambda

    Script Mobile Phone Application Users Database • 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
  46. Monitoring Lambda Scripts Less like server 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
  47. Change is speeding up Dynamic Cloud enables better applications faster.

    The rate of change is increasing… Traditional Data Center Good Cloud Data Center Better Dynamic Cloud Best The way you’ve done things in the past won’t work in the future.
  48. Monitoring just the server Worked when rate of change was

    low… EC2 Instance Application & Application Microservices Server OS Server (Virtual) Hardware AWS CONSOLE CloudWatch
  49. Monitoring just the server Insufficient in the cloud: • Rate

    of change is faster • Problems come up quicker • “Server” isn’t a server anymore • “Provisioning” isn’t provisioning anymore You need top to bottom monitoring… You need full stack accountability... Server OS Server (Virtual) Hardware Application & Application Microservices Provisioning Application & Application Microservices Application & Application Microservices
  50. New Relic enables accountability between your code & AWS Customers

    Mobile / Apps / Browser On-Premises On Premises Relational Data EC2 AWS Container Service AWS RDS Synthetic Customers S3 NoSQL AWS Storage Services Your Responsibilities § Application code & 3rd party services § App architecture § Customer experience § On-Premises components NoSQL AWS Responsibility: § Service Availability & Performance § Provisioning & operation of DC § Isolation & security of resources § Service maintenance & innovation
  51. Architecting for Scale By: Lee Atchison Published by: O’Reilly Media

    www.architectingforscale.com Want to Learn More? @leeatchison leeatchison
  52. Thank you Lee Atchison, Principal Cloud Architect and Advocate at

    New Relic, Inc. @leeatchison leeatchison Architecting for Scale Published by: O’Reilly Media, www.architectingforscale.com