asgard overview from netflix oss open house

101
Joe Sondow, Cloud Interface Tools @AsgardOSS @joesondow

Upload: joe-sondow

Post on 17-May-2015

115.112 views

Category:

Technology


0 download

DESCRIPTION

Download animated version from http://bit.ly/AsgardOpenHouseSlides Presented Feb 6, 2013 at the first @NetflixOSS open house in Los Gatos, CA, this deck gives an overview of Asgard, an open source application deployment and cloud management console for Amazon Web Services (AWS). Follow http://twitter.com/AsgardOSS

TRANSCRIPT

Page 1: Asgard Overview from Netflix OSS Open House

Joe Sondow, Cloud Interface Tools @AsgardOSS @joesondow

Page 2: Asgard Overview from Netflix OSS Open House

Slides onlinehttp://slideshare.net/joesondow

@AsgardOSS @joesondow

Page 3: Asgard Overview from Netflix OSS Open House

AsgardScreen shots

Page 4: Asgard Overview from Netflix OSS Open House

AsgardApplication list

Page 5: Asgard Overview from Netflix OSS Open House

AsgardAuto Scaling Group list

Page 6: Asgard Overview from Netflix OSS Open House

AsgardCluster deployment, ready for fast rollback

Page 7: Asgard Overview from Netflix OSS Open House

Asgard

Page 8: Asgard Overview from Netflix OSS Open House

AsgardApplication deployment

Page 9: Asgard Overview from Netflix OSS Open House

AsgardApplication deployment

Cloud management

Page 10: Asgard Overview from Netflix OSS Open House

AsgardApplication deployment

Cloud management

Grails

Page 11: Asgard Overview from Netflix OSS Open House

AsgardApplication deployment

Cloud management

Grails

Started 2010

Page 12: Asgard Overview from Netflix OSS Open House

AsgardApplication deployment

Cloud management

Grails

Started 2010

Open source 2012

Page 13: Asgard Overview from Netflix OSS Open House

AsgardApplication deployment

Cloud management

Grails

Started 2010

Open source 2012

100’s of Jira tickets

Page 14: Asgard Overview from Netflix OSS Open House

AsgardApplication deployment

Cloud management

Grails

Started 2010

Open source 2012

100’s of Jira tickets

We’re hiring

Page 15: Asgard Overview from Netflix OSS Open House

User forumhttps://groups.google.com/group/AsgardUsers

Page 16: Asgard Overview from Netflix OSS Open House

Source code and downloadhttps://github.com/Netflix/asgard

Page 17: Asgard Overview from Netflix OSS Open House

Asgard TeamFeb 2013

Jason Gritman@jgritman

Joe Sondow@joesondow

Clay McCoy@claymccoy

Page 18: Asgard Overview from Netflix OSS Open House

Freedom and Responsibility

Page 19: Asgard Overview from Netflix OSS Open House

Freedom and ResponsibilityCorporate culture and the Cloud

Page 20: Asgard Overview from Netflix OSS Open House

Freedom and Responsibility

Page 21: Asgard Overview from Netflix OSS Open House

Freedom and Responsibilityhttp://bit.ly/NetflixCulture

Page 22: Asgard Overview from Netflix OSS Open House

Freedom and Responsibilityhttp://bit.ly/NetflixCulture

Cloud SOA

Page 23: Asgard Overview from Netflix OSS Open House

Freedom and Responsibilityhttp://bit.ly/NetflixCulture

Cloud SOA

100’s of services

Page 24: Asgard Overview from Netflix OSS Open House

Freedom and Responsibilityhttp://bit.ly/NetflixCulture

Cloud SOA

100’s of services

Small teams

Page 25: Asgard Overview from Netflix OSS Open House

Freedom and Responsibilityhttp://bit.ly/NetflixCulture

Cloud SOA

100’s of services

Small teams

Independent releases

Page 26: Asgard Overview from Netflix OSS Open House

Freedom and Responsibilityhttp://bit.ly/NetflixCulture

Cloud SOA

100’s of services

Small teams

Independent releases

Controlled chaos

Page 27: Asgard Overview from Netflix OSS Open House

Cloud deployment model

Page 28: Asgard Overview from Netflix OSS Open House

Cloud deployment modelApplications and Clusters

Page 29: Asgard Overview from Netflix OSS Open House

Cloud deployment model

Page 30: Asgard Overview from Netflix OSS Open House

Cloud deployment model

Auto ScalingGroup

Page 31: Asgard Overview from Netflix OSS Open House

Cloud deployment model

Auto ScalingGroup

LaunchConfiguration

Page 32: Asgard Overview from Netflix OSS Open House

Cloud deployment model

Auto ScalingGroup

LaunchConfiguration

Elastic LoadBalancer

Page 33: Asgard Overview from Netflix OSS Open House

Cloud deployment model

Auto ScalingGroup

LaunchConfiguration

Elastic LoadBalancer

Amazon MachineImage

Page 34: Asgard Overview from Netflix OSS Open House

Cloud deployment model

Auto ScalingGroup

LaunchConfiguration

SecurityGroup

Elastic LoadBalancer

Amazon MachineImage

Page 35: Asgard Overview from Netflix OSS Open House

Cloud deployment model

Auto ScalingGroup

LaunchConfiguration

SecurityGroup

Elastic LoadBalancer

Amazon MachineImage

Instances

Page 36: Asgard Overview from Netflix OSS Open House

Cloud deployment model

Auto ScalingGroup

LaunchConfiguration

SecurityGroup

Elastic LoadBalancer

Amazon MachineImage

Instances

Page 37: Asgard Overview from Netflix OSS Open House

Cloud deployment model

Auto ScalingGroup

LaunchConfiguration

SecurityGroup

Elastic LoadBalancer

Amazon MachineImage

Instances

Page 38: Asgard Overview from Netflix OSS Open House

Cloud deployment model

Auto ScalingGroup

LaunchConfiguration

SecurityGroup

Elastic LoadBalancer

Amazon MachineImage

Instances

Page 39: Asgard Overview from Netflix OSS Open House

Cloud deployment model

Page 40: Asgard Overview from Netflix OSS Open House

Cloud deployment model

Search

Page 41: Asgard Overview from Netflix OSS Open House

Cloud deployment modelStreaming Starts

Autocomplete API

Sign Up

Ratings

Search

Page 42: Asgard Overview from Netflix OSS Open House

Cloud deployment modelStreaming Starts

Autocomplete API

Sign Up

Ratings

Search

ApplicationApplication

ApplicationApplication

Application

Application

Page 43: Asgard Overview from Netflix OSS Open House

Inventing the ApplicationProblem:

Application is not an Amazon concept

Solution:

Create an Application domain in SimpleDB

Enforce naming conventions on Amazon objects

Page 44: Asgard Overview from Netflix OSS Open House

Fast Rollback

Page 45: Asgard Overview from Netflix OSS Open House

Fast RollbackOptimism causes outages

Page 46: Asgard Overview from Netflix OSS Open House

Fast RollbackOptimism causes outages

Production traffic is unique

Page 47: Asgard Overview from Netflix OSS Open House

Fast RollbackOptimism causes outages

Production traffic is unique

Keep old version running

Page 48: Asgard Overview from Netflix OSS Open House

Fast RollbackOptimism causes outages

Production traffic is unique

Keep old version running

Switch traffic to new version

Page 49: Asgard Overview from Netflix OSS Open House

Fast RollbackOptimism causes outages

Production traffic is unique

Keep old version running

Switch traffic to new version

Monitor results

Page 50: Asgard Overview from Netflix OSS Open House

Fast RollbackOptimism causes outages

Production traffic is unique

Keep old version running

Switch traffic to new version

Monitor results

Revert traffic quickly

Page 51: Asgard Overview from Netflix OSS Open House

Fast Rollback

Page 52: Asgard Overview from Netflix OSS Open House

Fast Rollback

api-usprod-v007

api-frontend

Page 53: Asgard Overview from Netflix OSS Open House

Fast Rollback

api-usprod-v007

api-frontend

api-usprod-v008

Page 54: Asgard Overview from Netflix OSS Open House

Fast Rollback

api-usprod-v007

api-frontend

api-usprod-v008

Page 55: Asgard Overview from Netflix OSS Open House

Fast Rollback

api-usprod-v007

api-frontend

api-usprod-v008

Page 56: Asgard Overview from Netflix OSS Open House

Fast Rollback

api-usprod-v007

api-frontend

api-usprod-v008

Page 57: Asgard Overview from Netflix OSS Open House

Fast Rollback

api-usprod-v007

api-frontend

Page 58: Asgard Overview from Netflix OSS Open House

Inventing the ClusterProblem:

Two ASGs with one function but different names

Solution:

Append version number in reserved format

Parse ASG name to determine long-term “cluster”

Page 59: Asgard Overview from Netflix OSS Open House

Inventing the Cluster

api

api-usprod

api-usprod-v007

api-usprod-v008

Application

Cluster

Auto Scaling Group

Auto Scaling Group

Instead of keeping a database in sync, use naming conventions to store the source in truth in Amazon’s API

Page 60: Asgard Overview from Netflix OSS Open House

Visual Language for the Cloud

Page 61: Asgard Overview from Netflix OSS Open House

Visual Language for the CloudTango open source icons

Page 62: Asgard Overview from Netflix OSS Open House

Visual Language for the Cloud

Page 63: Asgard Overview from Netflix OSS Open House

Visual Language for the Cloud

AWS is intimidating

Page 64: Asgard Overview from Netflix OSS Open House

Visual Language for the Cloud

AWS is intimidating

Many object types

Page 65: Asgard Overview from Netflix OSS Open House

Visual Language for the Cloud

AWS is intimidating

Many object types

Help newbie users

Page 66: Asgard Overview from Netflix OSS Open House

Visual Language for the Cloud

AWS is intimidating

Many object types

Help newbie users

Reduce cognitive load

Page 67: Asgard Overview from Netflix OSS Open House

Visual Language for the Cloud

AWS is intimidating

Many object types

Help newbie users

Reduce cognitive load

Make it easy

Page 68: Asgard Overview from Netflix OSS Open House

Visual Language for the Cloud

AWS is intimidating

Many object types

Help newbie users

Reduce cognitive load

Make it easy

Avoid surprises

Page 69: Asgard Overview from Netflix OSS Open House

Visual Language for the Cloud

Page 70: Asgard Overview from Netflix OSS Open House

Visual Language for the Cloud

At a glance, these nav bar items look alike.

Page 71: Asgard Overview from Netflix OSS Open House

Visual Language for the Cloud

At a glance, these nav bar items look alike.

Page 72: Asgard Overview from Netflix OSS Open House

Visual Language for the Cloud

Page 73: Asgard Overview from Netflix OSS Open House

Visual Language for the Cloud

Some screens have multiple action buttons that look too similar.

Page 74: Asgard Overview from Netflix OSS Open House

Visual Language for the Cloud

Some screens have multiple action buttons that look too similar.

Page 75: Asgard Overview from Netflix OSS Open House

Visual Language for the Cloud

Page 76: Asgard Overview from Netflix OSS Open House

Visual Language for the Cloud

Because of naming conventions, these links look alike.

Page 77: Asgard Overview from Netflix OSS Open House

Visual Language for the Cloud

Because of naming conventions, these links look alike.

Page 78: Asgard Overview from Netflix OSS Open House

Visual Language for the Cloud

Page 79: Asgard Overview from Netflix OSS Open House

Visual Language for the CloudThe indicators for the current AWS region are too easy to miss.

Page 80: Asgard Overview from Netflix OSS Open House

Visual Language for the CloudThe indicators for the current AWS region are too easy to miss.

Page 81: Asgard Overview from Netflix OSS Open House

Visual Language for the Cloud

These availability zones are important to recognize at a glance but their names look similar, and they appear on many screens.

Page 82: Asgard Overview from Netflix OSS Open House

Visual Language for the Cloud

These availability zones are important to recognize at a glance but their names look similar, and they appear on many screens.

Page 83: Asgard Overview from Netflix OSS Open House

Visual Language for the Cloud

Page 84: Asgard Overview from Netflix OSS Open House

Tango Icons

Page 85: Asgard Overview from Netflix OSS Open House

Tango Iconshttp://tango.freedesktop.org/

Page 88: Asgard Overview from Netflix OSS Open House

Tango Iconshttp://tango.freedesktop.org/http://tango.freedesktop.org/Tango_Icon_Theme_Guidelines

http://commons.wikimedia.org/wiki/Tango_icons

Used by Firefox, Jenkins, GIMP, OpenOffice, VMWare

Page 89: Asgard Overview from Netflix OSS Open House

REST API in Grails

Page 90: Asgard Overview from Netflix OSS Open House

REST API in GrailsEnable external mashups with cloud data

Page 91: Asgard Overview from Netflix OSS Open House

REST API in Grails

Page 92: Asgard Overview from Netflix OSS Open House

REST API in Grails

Page 93: Asgard Overview from Netflix OSS Open House

REST API in Grails

Page 94: Asgard Overview from Netflix OSS Open House

REST API in Grails

Page 95: Asgard Overview from Netflix OSS Open House

REST API in Grails

Page 96: Asgard Overview from Netflix OSS Open House

REST API in Grails

Page 97: Asgard Overview from Netflix OSS Open House

REST API in Grails

Page 98: Asgard Overview from Netflix OSS Open House

REST API in Grails

Page 99: Asgard Overview from Netflix OSS Open House

REST API in Grails

Page 100: Asgard Overview from Netflix OSS Open House

REST API in GrailsApplicationController.groovy