aws summit sydney: life’s too short...for cloud without analytics

73
© 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

Upload: lee-atchison

Post on 07-Jan-2017

50 views

Category:

Technology


0 download

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?

Cloud as a Better Data Center

Cloud as Better Data Center

Resources are allocated to uses, just like in

a data center

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”?

Why use a “Better Data Center”?

Add new Capacity(faster)

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

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 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

How do I monitor it?

Similar to monitoring any other data center…

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

Cloud as a “Dynamic Tool for Dynamic Apps”

Use only the resources

you need

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

Dynamic Cloud

100

10K

1M

3.7 M

83 days 333 days

Docker Container Age(Count vs. Hours)

Dynamic Cloud

950,00011% under one minute

Docker Container Age(by Minute Under and Hour)

EC2 Auto Scaling

Dynamic Cloud Technologies

Mobile / IoTDynamic routing

Load balancing

Data transport

Queues and notifications

Docker

Dynamic Cloud is about scaling

How do I monitor the Dynamic Cloud?

Dynamic Cloud has unique monitoring requirements…

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!

Dynamic Cloud

950,00011% under one minute

Docker Container Age(by Minute Under and Hour)

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

The Future with Lambda

Microcomputing & AWS Lambda

• Newest entrance to the “dynamic cloud”

• Provides event driven compute capabilities

Microcomputing & AWS Lambda

• No infrastructure to provision

• Massively shared infrastructure

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 App

Lambda example #1

Photo management application

User

S3 BucketImageImport

• Photos uploaded to S3Upload

File

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 App

Lambda example #2

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

Monitoring Lambda

More like application performance monitoring than infrastructure monitoring

Monitoring Lambda

More like application performance monitoring than infrastructure monitoring

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

Want to Learn More?

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 RuffinTechnology Director for Group Services

Domain Group

Fabien will be speaking at:

NDC SydneyAugust 1-5, 2016ndcsydney.com

Thank You!Lee Atchison, Principal Cloud Architect and Advocate at New Relic, Inc.