aws summit sydney: life’s too short...for cloud without analytics
TRANSCRIPT
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Lee Atchison, Principal Cloud Architect and Advocate at New Relic, Inc.
Life’s Too Short…... for Cloud without Analytics Monitoring the Dynamic Nature of Cloud Computing
Safe HarborThis document and the information herein (including any information that may be incorporated by reference) is provided forinformational 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 isproprietary 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 ahistorical fact or refers to expectations, projections, future plans, objectives, estimates, goals, or other characterizations of futureevents is a forward-looking statement. These forward-looking statements can often be identified as such because the context of thestatement 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 transactingbusiness with New Relic are cautioned not to place undue reliance on this forward-looking information. The achievement or successof the matters covered by such forward-looking statements are based on New Relic’s current assumptions, expectations, and beliefsand 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. Furtherinformation on factors that could affect such forward-looking statements is included in the filings we make with the SEC from time totime. Copies of these documents may be obtained by visiting New Relic’s Investor Relations website at http://ir.newrelic.com or theSEC’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. NewRelic makes no warranties, expressed or implied, in this document or otherwise, with respect to the information provided.
Who am I?
Specialize in:Cloud computing
Services & Microservices
Scalability, Availability
28 years in industry7 in Amazon Retail & AWS
(Built SW/VG AppStore, AWS Elastic Beanstalk)
4 in New Relic(Architecture Lead, Cloud, Service Migration)
@leeatchison leeatchison
We want better apps faster
DynamicEnvironment
BetterData Center
How do we use the cloud to accomplish this?
Provisioning process is faster
Cloud as Better Data Center
Resources are allocated to uses, just like in
a data center
Cloud as Better Data Center
Resources are allocated to uses, just like in
a data center
Lifetime of components is relatively long
Provisioning process is faster
Cloud as Better Data Center
Lifetime of components is relatively long
Provisioning process is faster
Capacity planning is still important and still applies
Resources are allocated to uses, just like in
a data center
Why use a “Better Data Center”?
Improve ApplicationAvailability
(redundancy)
Add new Capacity(faster)
Why use a “Better Data Center”?
ComplianceImprove ApplicationAvailability
(redundancy)
Add new Capacity(faster)
Who is impacted?
Better DataCenter
Can I scale my server fleet?Can apps run anywhere?How do they perform in the cloud?
Operations Development
Who is impacted?
Better DataCenter
Can I scale my server fleet?Can apps run anywhere?How do they perform in the cloud?
Operations
Data center is a data center…
Development
Who is impacted?
Better Data Center Faster Application Launch / Deploy=
Better DataCenter
Can I scale my server fleet?Can apps run anywhere?How do they perform in the cloud?
Operations
Data center is a data center…
Development
Monitoring an application
Typical Server / EC2 Instance
• Application & Application Microservices
• Server OS• Hardware (virtual)
EC2 Instance
Application & Application
Microservices
Server OS
Server (Virtual)Hardware
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
CloudWatch
AWS CONSOLE
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
New RelicApplicationMonitoring
Server OS
Server (Virtual)Hardware
New RelicServer
Monitoring
CloudWatch
AWS CONSOLE
DASHBOARDS
AWS çè New Relic work together
EC2 Instance
Application & Application
Microservices
New RelicApplicationMonitoring
Server OS
Server (Virtual)Hardware
New RelicServer
Monitoring
CloudWatch
AWS CONSOLE
DASHBOARDSAWS / 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
monitors
New Relic monitors
Cloud as a “Dynamic Tool for Dynamic Apps”
Use only the resources
you need
Allocate / de-allocate
resources on the fly
Cloud as a “Dynamic Tool for Dynamic Apps”
Use only the resources
you need
Resource allocation is an integral part of
your applicationarchitecture
Allocate / de-allocate
resources on the fly
Dynamic Cloud
Resources are:
Application is aware of and is controlling
traditional OPs resourcesDe-allocatedConsumedAllocated
Dynamic Cloud
Docker containers:
• 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
EC2 Auto Scaling
Dynamic Cloud Technologies
Mobile / IoTDynamic routing
Load balancing
Data transport
Queues and notifications
Docker
Dynamic Cloud is about scaling
Responsibility (Dynamic Cloud)
Server OS
Application & Application
Microservices
Application & Application
Microservices
Application & Application
Microservices
ProvisioningServer (Virtual)Hardware
• Multiple Applications & Application Microservices &Dynamic services
• Servers &Virtual Hardware &Infrastructure
AWS Infrastructure
Server OS
Server (Virtual)Hardware
CloudWatch
AWS CONSOLE
DASHBOARDS
Application & Application
Microservices
Application & Application
Microservices
Application & Application
Microservices
Provisioning
AWS Infrastructure çè New Relic work together
Server OS
Server (Virtual)Hardware
CloudWatch
AWS CONSOLE
DASHBOARDS
Application & Application
Microservices
Application & Application
Microservices
Application & Application
Microservices
Provisioning
AWS Infrastructure çè New Relic work together
Server OS
Server (Virtual)Hardware
CloudWatch
DASHBOARDS
Application & Application
Microservices
Application & Application
Microservices
Application & Application
Microservices
ProvisioningCloudWatch
& AWS monitoring
New Relic monitors
AWS CONSOLE
How do you monitor this?
Server OS
Server (Virtual)Hardware
Application & Application
Microservices
Application & Application
Microservices
Application & Application
Microservices
Provisioning
?How do you monitor this?
Where did it go? It was just here!!!
? The thing you monitored 10 minutes ago…...doesn’t exist anymore!
Monitoring the Dynamic Cloud
Very different than monitoring traditional Data Center components
Monitor theCloud Components
themselves
Monitor the lifecycle of the
Cloud Components
Who Uses It?
Better DataCenter
Can I scale my server fleet?Can apps run anywhere?How do they perform in the cloud?
Operations
Data center is a data center…
Development
DynamicCloud
Who Uses It?
Better DataCenter
Can I scale my server fleet?Can apps run anywhere?How do they perform in the cloud?
Operations
Data center is a data center…
Development
DynamicCloud
What is a container?What is a Lambda?It was just here, where did it go?
Who Uses It?
Better DataCenter
Can I scale my server fleet?Can apps run anywhere?How do they perform in the cloud?
Operations
Data center is a data center…
Development
DynamicCloud
What is a container?What is a Lambda?It was just here, where did it go?
Cloud architecture is integralto the application architectureDevelopers deeply involved in cloud activities
Change is speeding up
TraditionalData Center
CloudData Center
DynamicCloud
Dynamic Cloud enables better applications faster.The rate of change is increasing…
Good Better Best
Dynamic Cloud
EC2
Server running application / processes
Docker container
Process running a command
This ishard
Dynamic Cloud
EC2
Server running application / processes
Docker container
Process running a command
Lambda
Function performing a task or operation
Microcomputing & AWS Lambda
• Newest entrance to the “dynamic cloud”
• Provides event driven compute capabilities
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
AWS Lambda
S3Bucket
DynamoDB
APIGateway
SQS
RESOURCESSOME
• Takes an event from an AWS resource (A Trigger)
AWS Lambda
S3Bucket
DynamoDB
APIGateway
SQS
RESOURCESSOME
LambdaScript
• Takes an event from an AWS resource (A Trigger)
• Creates an instance to execute
LambdaInstance
AWS Lambda
S3Bucket
DynamoDB
APIGateway
SQS
RESOURCESSOME
S3Bucket
APIGateway SQS
RESOURCESSOMELambdaScript
• Takes an event from an AWS resource (A Trigger)
• Creates an instance to execute
• Can impact original or different AWS Resource
LambdaInstance
AWS Lambda
S3Bucket
DynamoDB
APIGateway
SQS
RESOURCESSOME
S3Bucket
APIGateway SQS
RESOURCESSOMELambdaScript
LambdaInstance
LambdaInstance
LambdaInstance
LambdaInstance
LambdaInstance
LambdaInstance
LambdaInstance
LambdaInstance
LambdaInstance
• 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
Photo management application
User
UploadFile
S3 BucketImageImport
S3 BucketImage
Thumbnails
LambdaScript
• Photos uploaded to S3
• Lambda script creates thumbnails
View Thumbnail
Photo management application
User
ImageDatabase
S3 BucketImageImport
S3 BucketImage
Thumbnails
LambdaScript
LambdaScript
• Photos uploaded to S3
• Lambda script creates thumbnails
• Lambda script updates metadata in database
UploadFile
View Thumbnail
Photo management application
User
ImageDatabase
Application
S3 BucketImageImport
S3 BucketImage
Thumbnails
LambdaScript
LambdaScript
• 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
AppInteractions
UploadFile
View Thumbnail
Mobile game platform
APIGateway
LambdaScript
LambdaScript
LambdaScript
Mobile PhoneApplication 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
Monitoring Lambda Scripts
Less like server monitoring / More like web application monitoring
WeCare 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
Change is speeding up
TraditionalData Center
CloudData Center
DynamicCloud
Dynamic Cloud enables better applications faster.The rate of change is increasing…
Good Better Best
The way you’ve done things in the past won’t work in the future.
Monitoring just the server
EC2 Instance
Application & Application
Microservices
Server OS
Server (Virtual)Hardware
CloudWatch
AWS CONSOLE
Worked when rate of change was low…
Monitoring just the server
Server OS
Server (Virtual)Hardware
Application & Application
Microservices
Application & Application
Microservices
Application & Application
Microservices
Provisioning
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...
New Relic enables accountability betweenyour code & AWS
Customers
Mobile / Apps / Browser
On-Premises
On Premises Relational Data
EC2
AWSContainer Service
AWS RDSSynthetic Customers
S3
NoSQL
AWS Storage Services
Your Responsibilities
• Application code & 3rd party services• App architecture• Customer experience• On-Premises components
AWS Responsibility:
• Service Availability & Performance• Provisioning & operation of DC• Isolation & security of resources• Service maintenance & innovation
NoSQL
Architecting for ScaleBy: Lee AtchisonPublished by: O’Reilly Media, Available: June 2016www.architectingforscale.com
Want to Learn More?
Fabien RuffinTechnology Director for Group Services
Domain Group
Fabien will be speaking at:
NDC SydneyAugust 1-5, 2016ndcsydney.com