Download - 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
Tango Iconshttp://tango.freedesktop.org/http://tango.freedesktop.org/Tango_Icon_Theme_Guidelines
http://commons.wikimedia.org/wiki/Tango_icons
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
Thank youQuestions?
@joesondow slideshare.net/joesondow linkedin.com/in/joesondow
@AsgardOSS github.com/Netflix/asgard
@NetflixOSS netflix.github.com techblog.netflix.com