zero to cloud (oscon 2014)

43
Zero to Cloud with @NetflixOSS Justin Ryan (@quidryan)

Upload: justin-ryan

Post on 13-Jul-2015

152 views

Category:

Engineering


0 download

TRANSCRIPT

Page 1: Zero To Cloud (OSCon 2014)

Zero to Cloud with @NetflixOSS

Justin Ryan (@quidryan)

Page 2: Zero To Cloud (OSCon 2014)

Who We Are• Justin Ryan • Michael Tripoli • Various other Netflix Employees in the Audience

#netflixoss

Page 3: Zero To Cloud (OSCon 2014)

#netflixoss

Netflix is the world's leading Internet television network with over 48 million members in more than 40 countries enjoying more than one billion hours of TV shows and movies per month, including original series. For a low monthly price, Netflix members can watch as much as they want, anytime, anywhere, on nearly any Internet-connected screen. Members can play, pause and resume watching, all without commercials or commitments. (Credit: ir.netflix.com)

Page 4: Zero To Cloud (OSCon 2014)

Tutorial Format• 30 Minutes of Lecture • 30 Minutes on Console • 30 Minutes on Jumphost • 30 Minutes deploying Asgard • 30 Minutes Edda and Eureka • 30 Minutes Karyon

#netflixoss

Page 5: Zero To Cloud (OSCon 2014)

Tutorial Purpose• Help adoption of @NetflixOSS components • Answer questions along the way • Less trail blazing for us

#netflixoss

Page 6: Zero To Cloud (OSCon 2014)

Assumptions• Stay Local (using us-west-2) • Non-destructive operations • Follow instructions closely • Security through obscurity • Not a “developing for the cloud” tutorial • This will cost money

#netflixoss

Page 7: Zero To Cloud (OSCon 2014)

#netflixoss

http://nflx.it/zerotocloud

Page 9: Zero To Cloud (OSCon 2014)

Network

#netflixoss

Jumphost

Laptop

Asgard InstanceInstanceInstances

InstanceInstanceInstancesElastic Load

Balancer

Elastic Load

Balancer

SSH

HTTP

Page 15: Zero To Cloud (OSCon 2014)

Cloud Deployment Model

#netflixoss

Auto Scaling Group

Elastic Load

Balancer

Launch Configuration

Security Group

Amazon Machine Image

Configuration

Runtime

InstanceInstanceInstances

Page 17: Zero To Cloud (OSCon 2014)

Immutable Infrastructure• Simplifies Operations • Baking with Aminator

#netflixoss

Foundation

Base AMI

Application

Page 21: Zero To Cloud (OSCon 2014)

Building• Bake a system package (RPM, DEB) • Use ospackage plugin to generate

#netflixoss

Foundation

Base AMI

Application

WAR DEBJava

Python

Page 23: Zero To Cloud (OSCon 2014)

netflix.github.io

#netflixoss

Page 24: Zero To Cloud (OSCon 2014)

@netflixoss

#netflixoss

Page 25: Zero To Cloud (OSCon 2014)

Who• Platform Infrastructure • Cloud Database Engineering • Cloud Solutions Engineering Tools • Cloud and Platform Engineering • (Anyone with code that’s not a competitive advantage)

#netflixoss

Page 26: Zero To Cloud (OSCon 2014)

What• Infrastructure • Caching • Database • Cloud • Building • Deployment

!

#netflixoss

• Testing • Monitoring • Networking • Robustness • Security • Configuration

Page 27: Zero To Cloud (OSCon 2014)

Not• Streaming • Encoding • Merchandising • Movie metadata • Recommendations • 10’ UI

#netflixoss

Page 28: Zero To Cloud (OSCon 2014)

Open source infrastructure• Github • Cloudbees for Builds • http://techblog.netflix.com/ • http://twitter.com/netflixoss • Apache 2.0 license (when possible) • Meetups - Season 2 going on right now!

#netflixoss

Page 30: Zero To Cloud (OSCon 2014)

Islands of Applications

#netflixoss

Search Auto-complete Ratings

Signup API Streaming Starts

Page 31: Zero To Cloud (OSCon 2014)

Islands of Applications

#netflixoss

Search Auto-complete Ratings

Signup API Streaming Starts

Application Application Application

Application Application Application

Page 32: Zero To Cloud (OSCon 2014)

Inventing the Application• Problem

- Application is not an Amazon concept • Solution

- Create an Application domain in SimpleDB - Enforce naming conventions on Amazon objects

#netflixoss

Page 33: Zero To Cloud (OSCon 2014)

Red/Black Deploy

#netflixoss

Elastic Load

Balancer

InstanceInstanceInstances

api-usprod-v007

InstanceInstanceInstances

api-usprod-v008

Page 34: Zero To Cloud (OSCon 2014)

Fast Rollback

#netflixoss

Elastic Load

Balancer

InstanceInstanceInstances

api-usprod-v007

InstanceInstanceInstances

api-usprod-v008

Page 35: Zero To Cloud (OSCon 2014)

Inventing the Cluster• Problem

- Two ASGs on purpose - Different names • Solution

- Maintain same prefix - Append version - Derive Cluster from ASG names

#netflixoss

Page 36: Zero To Cloud (OSCon 2014)

Asgard vs Console• Asgard

- Provide Application and Cluster - Simplifies object construction - Introduce workflow - Tightly couple with internal systems • Console

- Access to all objects

#netflixoss

Page 39: Zero To Cloud (OSCon 2014)

Mid-tier Calling

#netflixoss

EurekaData Plane

Control Plane

InstanceInstanceApp A InstanceInstanceApp B

Page 42: Zero To Cloud (OSCon 2014)

Gift Cards

#netflixoss

Thanks, Amazon!

Page 43: Zero To Cloud (OSCon 2014)

Thanks!Justin Ryan (@quidryan)

slideshare.net/quidryan