Asgard Overview from Netflix OSS Open House

Post on 17-May-2015

115.111 views 0 download

Tags:

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 of Asgard Overview from Netflix OSS Open House

Joe Sondow, Cloud Interface Tools @AsgardOSS @joesondow

Slides onlinehttp://slideshare.net/joesondow

@AsgardOSS @joesondow

AsgardScreen shots

AsgardApplication list

AsgardAuto Scaling Group list

AsgardCluster deployment, ready for fast rollback

Asgard

AsgardApplication deployment

AsgardApplication deployment

Cloud management

AsgardApplication deployment

Cloud management

Grails

AsgardApplication deployment

Cloud management

Grails

Started 2010

AsgardApplication deployment

Cloud management

Grails

Started 2010

Open source 2012

AsgardApplication deployment

Cloud management

Grails

Started 2010

Open source 2012

100’s of Jira tickets

AsgardApplication deployment

Cloud management

Grails

Started 2010

Open source 2012

100’s of Jira tickets

We’re hiring

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

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

Asgard TeamFeb 2013

Jason Gritman@jgritman

Joe Sondow@joesondow

Clay McCoy@claymccoy

Freedom and Responsibility

Freedom and ResponsibilityCorporate culture and the Cloud

Freedom and Responsibility

Freedom and Responsibilityhttp://bit.ly/NetflixCulture

Freedom and Responsibilityhttp://bit.ly/NetflixCulture

Cloud SOA

Freedom and Responsibilityhttp://bit.ly/NetflixCulture

Cloud SOA

100’s of services

Freedom and Responsibilityhttp://bit.ly/NetflixCulture

Cloud SOA

100’s of services

Small teams

Freedom and Responsibilityhttp://bit.ly/NetflixCulture

Cloud SOA

100’s of services

Small teams

Independent releases

Freedom and Responsibilityhttp://bit.ly/NetflixCulture

Cloud SOA

100’s of services

Small teams

Independent releases

Controlled chaos

Cloud deployment model

Cloud deployment modelApplications and Clusters

Cloud deployment model

Cloud deployment model

Auto ScalingGroup

Cloud deployment model

Auto ScalingGroup

LaunchConfiguration

Cloud deployment model

Auto ScalingGroup

LaunchConfiguration

Elastic LoadBalancer

Cloud deployment model

Auto ScalingGroup

LaunchConfiguration

Elastic LoadBalancer

Amazon MachineImage

Cloud deployment model

Auto ScalingGroup

LaunchConfiguration

SecurityGroup

Elastic LoadBalancer

Amazon MachineImage

Cloud deployment model

Auto ScalingGroup

LaunchConfiguration

SecurityGroup

Elastic LoadBalancer

Amazon MachineImage

Instances

Cloud deployment model

Auto ScalingGroup

LaunchConfiguration

SecurityGroup

Elastic LoadBalancer

Amazon MachineImage

Instances

Cloud deployment model

Auto ScalingGroup

LaunchConfiguration

SecurityGroup

Elastic LoadBalancer

Amazon MachineImage

Instances

Cloud deployment model

Auto ScalingGroup

LaunchConfiguration

SecurityGroup

Elastic LoadBalancer

Amazon MachineImage

Instances

Cloud deployment model

Cloud deployment model

Search

Cloud deployment modelStreaming Starts

Autocomplete API

Sign Up

Ratings

Search

Cloud deployment modelStreaming Starts

Autocomplete API

Sign Up

Ratings

Search

ApplicationApplication

ApplicationApplication

Application

Application

Inventing the ApplicationProblem:

Application is not an Amazon concept

Solution:

Create an Application domain in SimpleDB

Enforce naming conventions on Amazon objects

Fast Rollback

Fast RollbackOptimism causes outages

Fast RollbackOptimism causes outages

Production traffic is unique

Fast RollbackOptimism causes outages

Production traffic is unique

Keep old version running

Fast RollbackOptimism causes outages

Production traffic is unique

Keep old version running

Switch traffic to new version

Fast RollbackOptimism causes outages

Production traffic is unique

Keep old version running

Switch traffic to new version

Monitor results

Fast RollbackOptimism causes outages

Production traffic is unique

Keep old version running

Switch traffic to new version

Monitor results

Revert traffic quickly

Fast Rollback

Fast Rollback

api-usprod-v007

api-frontend

Fast Rollback

api-usprod-v007

api-frontend

api-usprod-v008

Fast Rollback

api-usprod-v007

api-frontend

api-usprod-v008

Fast Rollback

api-usprod-v007

api-frontend

api-usprod-v008

Fast Rollback

api-usprod-v007

api-frontend

api-usprod-v008

Fast Rollback

api-usprod-v007

api-frontend

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”

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

Visual Language for the Cloud

Visual Language for the CloudTango open source icons

Visual Language for the Cloud

Visual Language for the Cloud

AWS is intimidating

Visual Language for the Cloud

AWS is intimidating

Many object types

Visual Language for the Cloud

AWS is intimidating

Many object types

Help newbie users

Visual Language for the Cloud

AWS is intimidating

Many object types

Help newbie users

Reduce cognitive load

Visual Language for the Cloud

AWS is intimidating

Many object types

Help newbie users

Reduce cognitive load

Make it easy

Visual Language for the Cloud

AWS is intimidating

Many object types

Help newbie users

Reduce cognitive load

Make it easy

Avoid surprises

Visual Language for the Cloud

Visual Language for the Cloud

At a glance, these nav bar items look alike.

Visual Language for the Cloud

At a glance, these nav bar items look alike.

Visual Language for the Cloud

Visual Language for the Cloud

Some screens have multiple action buttons that look too similar.

Visual Language for the Cloud

Some screens have multiple action buttons that look too similar.

Visual Language for the Cloud

Visual Language for the Cloud

Because of naming conventions, these links look alike.

Visual Language for the Cloud

Because of naming conventions, these links look alike.

Visual Language for the Cloud

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

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

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.

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.

Visual Language for the Cloud

Tango Icons

Tango Iconshttp://tango.freedesktop.org/

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

REST API in Grails

REST API in GrailsEnable external mashups with cloud data

REST API in Grails

REST API in Grails

REST API in Grails

REST API in Grails

REST API in Grails

REST API in Grails

REST API in Grails

REST API in Grails

REST API in Grails

REST API in GrailsApplicationController.groovy