// Feed your brain            GR8Conf Europe 2012       gr8.technologies.each{               June 6th-8th         yourBrai...
Slides onlinehttp://slideshare.net/joesondow   @joesondow #gr8conf
Agenda
AgendaWho am I? Why am I here?
AgendaWho am I? Why am I here?Asgard, Screen shots
AgendaWho am I? Why am I here?Asgard, Screen shotsNetflix, Freedom and Responsibility
AgendaWho am I? Why am I here?Asgard, Screen shotsNetflix, Freedom and ResponsibilityRegional URLs
AgendaWho am I? Why am I here?Asgard, Screen shotsNetflix, Freedom and ResponsibilityRegional URLsCloud Deployment Model
AgendaWho am I? Why am I here?Asgard, Screen shotsNetflix, Freedom and ResponsibilityRegional URLsCloud Deployment ModelOffl...
AgendaWho am I? Why am I here?Asgard, Screen shotsNetflix, Freedom and ResponsibilityRegional URLsCloud Deployment ModelOffl...
Who am I? @joesondow #gr8conf
Who am I? @joesondow #gr8conf
Who am I?Joe Sondow @joesondow #gr8conf
Who am I?Joe SondowNetflix since 2010 @joesondow #gr8conf
Who am I?Joe SondowNetflix since 2010Asgard lead @joesondow #gr8conf
Who am I?Joe SondowNetflix since 2010Asgard leadGrails @joesondow #gr8conf
Who am I?Joe SondowNetflix since 2010Asgard leadGrailsjQuery @joesondow #gr8conf
Why am I here? @joesondow #gr8conf
Why am I here?
Why am I here?Sell you something
Why am I here?Sell you somethingDiscuss business plans
Why am I here?Sell you somethingDiscuss business plansAnswer technical questions
Why am I here?Sell you somethingDiscuss business plansAnswer technical questionsBe a smaller fish in AWS
Why am I here?Sell you somethingDiscuss business plansAnswer technical questionsBe a smaller fish in AWSGive back to commun...
Why am I here?Sell you somethingDiscuss business plansAnswer technical questionsBe a smaller fish in AWSGive back to commun...
Asgard
Asgard
AsgardScreen shots
AsgardApplication list
AsgardAuto Scaling Group list
AsgardCluster deployment, ready for fast rollback
Asgard
AsgardCloud deployment
AsgardCloud deploymentCloud management
AsgardCloud deploymentCloud managementStarted 2010
AsgardCloud deploymentCloud managementStarted 2010Open source in 2012
AsgardCloud deploymentCloud managementStarted 2010Open source in 2012  Follow @NetflixOSS
AsgardCloud deploymentCloud managementStarted 2010Open source in 2012   Follow @NetflixOSS100’s of Jira tickets
AsgardCloud deploymentCloud managementStarted 2010Open source in 2012   Follow @NetflixOSS100’s of Jira ticketsActively dev...
Joe Sondow          Clay McCoy        Jason Gritman   @joesondow          @claymccoy        @jgritmanAsgard TeamJune 2012(...
With more than 25 million streaming members in theUnited States, Canada, Latin America, the UnitedKingdom and Ireland, Net...
Freedom and Responsibility
Freedom and Responsibility
Freedom and ResponsibilityCloud SOA
Freedom and ResponsibilityCloud SOA100’s of services
Freedom and ResponsibilityCloud SOA100’s of servicesSmall teams
Freedom and ResponsibilityCloud SOA100’s of servicesSmall teamsIndependent releases
Freedom and ResponsibilityCloud SOA100’s of servicesSmall teamsIndependent releasesControlled chaos
Regional URLs
Regional URLsLet’s see some code
Regional URLsCloud object URLs were unique, conventional, intuitiveDefault Grails URL mapping is excellent
Regional URLsLater, Netflix needed to use multiple Amazon regions
Regional URLsRegion is another URL dimensionAdd URL mapping, but don’t break existing links
Regional URLsRegionService.groovy (excerpt)
Regional URLsRegionService.groovy (excerpt)
Regional URLsSome controllers should never be regionalRegionService detects RegionAgnostic annotation
Cloud deployment model
Cloud deployment modelApplications and Clusters
Cloud deployment model
Cloud deployment model   Auto Scaling      Group
Cloud deployment model    Auto Scaling       Group    Launch  Configuration
Cloud deployment model                   Elastic Load                     Balancer    Auto Scaling       Group    Launch  ...
Cloud deployment model                    Elastic Load                      Balancer    Auto Scaling       Group    Launch...
Cloud deployment model                    Elastic Load                      Balancer    Auto Scaling       Group          ...
Cloud deployment model                    Elastic Load                      Balancer    Auto Scaling       Group          ...
Cloud deployment model                    Elastic Load                      Balancer    Auto Scaling       Group          ...
Cloud deployment model                    Elastic Load                      Balancer    Auto Scaling       Group          ...
Cloud deployment model                    Elastic Load                      Balancer    Auto Scaling       Group          ...
Cloud deployment model
Cloud deployment model                    Search
Cloud deployment model            API     Search
Cloud deployment model                     Ratings            API     Search
Cloud deployment modelStreaming Starts                          Ratings                   API   Search
Cloud deployment modelStreaming Starts                          Ratings                   API   SearchAutocomplete
Cloud deployment model                   Sign UpStreaming Starts                              Ratings                     ...
Cloud deployment model                   Sign UpStreaming Starts                                   Ratings                ...
Inventing the Application
Inventing the Application Problem: Application is not an Amazon concept Solution: Create an Application domain in SimpleDB...
Fast Rollback
Fast RollbackOptimism causes outages
Fast RollbackOptimism causes outagesProduction traffic is unique
Fast RollbackOptimism causes outagesProduction traffic is uniqueKeep old version running
Fast RollbackOptimism causes outagesProduction traffic is uniqueKeep old version runningSwitch traffic to new version
Fast RollbackOptimism causes outagesProduction traffic is uniqueKeep old version runningSwitch traffic to new versionMonitor...
Fast RollbackOptimism causes outagesProduction traffic is uniqueKeep old version runningSwitch traffic to new versionMonitor...
Fast Rollback
Fast Rollback                     api-frontend   api-usprod-v007
Fast Rollback                     api-frontend   api-usprod-v007                  api-usprod-v008
Fast Rollback                     api-frontend   api-usprod-v007                  api-usprod-v008
Fast Rollback                     api-frontend   api-usprod-v007                  api-usprod-v008
Fast Rollback                     api-frontend   api-usprod-v007                  api-usprod-v008
Fast Rollback                     api-frontend   api-usprod-v007
Inventing the Cluster
Inventing the Cluster Problem: Two ASGs with one function but different names Solution: Append version number in reserved ...
Inventing the ClusterInstead of keeping a database in sync, use namingconventions to store the source in truth in Amazon’s...
Offline Development
Offline DevelopmentMakes on a plane
Offline DevelopmentMock dataMock behaviorSystem property switch offline=true
Mock Datahttp://asgardprod/us-east-1/autoScaling/list.json
Mock DataParse JSON
Mock BehaviorOverride Amazon Java client methods
System Propertygrails run-app -Doffline=true
Why not the AWS console?
Why not the AWS console?No, not to keep me busy
Why not the AWS console?
Why not the AWS console?
Why not the AWS console?Hide keys
Why not the AWS console?Hide keysCustomize model
Why not the AWS console?Hide keysCustomize modelEnforce conventions
Why not the AWS console?Hide keysCustomize modelEnforce conventionsAutomate workflow
Why not the AWS console?Hide keysCustomize modelEnforce conventionsAutomate workflowLog changes
Why not the AWS console?Hide keysCustomize modelEnforce conventionsAutomate workflowLog changesIntegrate systems
Why not the AWS console?Hide keysCustomize modelEnforce conventionsAutomate workflowLog changesIntegrate systemsCreate REST...
@NetflixOSS
@NetflixOSShttp://techblog.netflix.com
@NetflixOSShttp://techblog.netflix.comOpen source announcement...
@NetflixOSShttp://techblog.netflix.comOpen source announcement...
@NetflixOSSThank you
@NetflixOSSThank youQuestions?  @joesondow  slideshare.net/joesondow  linkedin.com/in/joesondow
Asgard, the Grails App that Deploys Netflix to the Cloud
Asgard, the Grails App that Deploys Netflix to the Cloud
Upcoming SlideShare
Loading in...5
×

Asgard, the Grails App that Deploys Netflix to the Cloud

24,335

Published on

Overview and technical exploration of Asgard, a graphical web console created by Netflix for cloud deployments and operations. Presented at the GR8 Conference in Copenhagen, Denmark, June 8, 2012.

Apple Keynote version with animations available at http://bit.ly/asgardgr8denmark

5 Comments
38 Likes
Statistics
Notes
  • @Joe Sondow, thanx for interesting slide. r u still using grails as a main platform in Netflix?
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Is there a video explaining the slides?
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Matt, we use both ELBs and our own open source inter-instance load balancer software called Eureka. Asgard integrates with both ELBs and Eureka, and treats them as traffic sources to switch on and off for all the instances of an ASG with one button click. The AWS mechanism is to deregister all the ASG's instances from the ELBs that are associated with the ASG, and then to register all the instances with all the ELBs that are associated with the ASG. The other important detail is to suspend or resume the AddToLoadBalancer process on the ASG so that future instances launched by the Auto Scaling system will be registered with the ELB, or not, based on your wishes.

    Or, you can just run Asgard and click a button to enable or disable a full ASG.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • We are using a similar manner to deploy by creating a new asg, adding it to the same ELB and then removing the old asg after all are healthy. I would like to do what you guys are doing and have two concurrent asgs, one new and one old, and be able to switch back if the deploy is bad. My question is how do you guys actually do that on the AWS level? Are you using ELB? Since one cannot change the load balancer of an active asg how can I direct traffic to a different ELBs without using DNS?

    Thanks
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Asgard 1.0 is now open source. http://techblog.netflix.com/2012/06/asgard-web-based-cloud-management-and.html
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
24,335
On Slideshare
0
From Embeds
0
Number of Embeds
11
Actions
Shares
0
Downloads
501
Comments
5
Likes
38
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • Asgard is a Grails application used by Netflix engineers to deploy code changes and manage resources in the Amazon cloud on a massive scale. This presentation will include slides and discussion about aspects of Asgard from both the user and developer points of view.\n\nThe Netflix cloud model of Applications and Clusters built on top of Amazon building blocks\nAsgard’s process for large deployments and fast rollback\nOpen sourcing Asgard on github in 2012\nComparison with the AWS Management Console\nTour of the user interface\nPublishing a REST interface API for other tools to call Asgard\nEnhancing Grails URLs to add region-specificity\nUsing external configuration to pull Netflix-specific details out of Asgard\nStoring metadata on cloud objects instead of a database\nUsing closures to help cache massive cloud metadata for multiple Amazon regions\nTango open source icons to improve the user experience\nJavaScript filters for large list pages and drop-downs\nMocking the AWS back-end for offline automated testing\n
  • Asgard is a Grails application used by Netflix engineers to deploy code changes and manage resources in the Amazon cloud on a massive scale. This presentation will include slides and discussion about aspects of Asgard from both the user and developer points of view.\n\nThe Netflix cloud model of Applications and Clusters built on top of Amazon building blocks\nAsgard’s process for large deployments and fast rollback\nOpen sourcing Asgard on github in 2012\nComparison with the AWS Management Console\nTour of the user interface\nPublishing a REST interface API for other tools to call Asgard\nEnhancing Grails URLs to add region-specificity\nUsing external configuration to pull Netflix-specific details out of Asgard\nStoring metadata on cloud objects instead of a database\nUsing closures to help cache massive cloud metadata for multiple Amazon regions\nTango open source icons to improve the user experience\nJavaScript filters for large list pages and drop-downs\nMocking the AWS back-end for offline automated testing\n
  • Asgard is a Grails application used by Netflix engineers to deploy code changes and manage resources in the Amazon cloud on a massive scale. This presentation will include slides and discussion about aspects of Asgard from both the user and developer points of view.\n\nThe Netflix cloud model of Applications and Clusters built on top of Amazon building blocks\nAsgard’s process for large deployments and fast rollback\nOpen sourcing Asgard on github in 2012\nComparison with the AWS Management Console\nTour of the user interface\nPublishing a REST interface API for other tools to call Asgard\nEnhancing Grails URLs to add region-specificity\nUsing external configuration to pull Netflix-specific details out of Asgard\nStoring metadata on cloud objects instead of a database\nUsing closures to help cache massive cloud metadata for multiple Amazon regions\nTango open source icons to improve the user experience\nJavaScript filters for large list pages and drop-downs\nMocking the AWS back-end for offline automated testing\n
  • Asgard is a Grails application used by Netflix engineers to deploy code changes and manage resources in the Amazon cloud on a massive scale. This presentation will include slides and discussion about aspects of Asgard from both the user and developer points of view.\n\nThe Netflix cloud model of Applications and Clusters built on top of Amazon building blocks\nAsgard’s process for large deployments and fast rollback\nOpen sourcing Asgard on github in 2012\nComparison with the AWS Management Console\nTour of the user interface\nPublishing a REST interface API for other tools to call Asgard\nEnhancing Grails URLs to add region-specificity\nUsing external configuration to pull Netflix-specific details out of Asgard\nStoring metadata on cloud objects instead of a database\nUsing closures to help cache massive cloud metadata for multiple Amazon regions\nTango open source icons to improve the user experience\nJavaScript filters for large list pages and drop-downs\nMocking the AWS back-end for offline automated testing\n
  • Asgard is a Grails application used by Netflix engineers to deploy code changes and manage resources in the Amazon cloud on a massive scale. This presentation will include slides and discussion about aspects of Asgard from both the user and developer points of view.\n\nThe Netflix cloud model of Applications and Clusters built on top of Amazon building blocks\nAsgard’s process for large deployments and fast rollback\nOpen sourcing Asgard on github in 2012\nComparison with the AWS Management Console\nTour of the user interface\nPublishing a REST interface API for other tools to call Asgard\nEnhancing Grails URLs to add region-specificity\nUsing external configuration to pull Netflix-specific details out of Asgard\nStoring metadata on cloud objects instead of a database\nUsing closures to help cache massive cloud metadata for multiple Amazon regions\nTango open source icons to improve the user experience\nJavaScript filters for large list pages and drop-downs\nMocking the AWS back-end for offline automated testing\n
  • Asgard is a Grails application used by Netflix engineers to deploy code changes and manage resources in the Amazon cloud on a massive scale. This presentation will include slides and discussion about aspects of Asgard from both the user and developer points of view.\n\nThe Netflix cloud model of Applications and Clusters built on top of Amazon building blocks\nAsgard’s process for large deployments and fast rollback\nOpen sourcing Asgard on github in 2012\nComparison with the AWS Management Console\nTour of the user interface\nPublishing a REST interface API for other tools to call Asgard\nEnhancing Grails URLs to add region-specificity\nUsing external configuration to pull Netflix-specific details out of Asgard\nStoring metadata on cloud objects instead of a database\nUsing closures to help cache massive cloud metadata for multiple Amazon regions\nTango open source icons to improve the user experience\nJavaScript filters for large list pages and drop-downs\nMocking the AWS back-end for offline automated testing\n
  • Asgard is a Grails application used by Netflix engineers to deploy code changes and manage resources in the Amazon cloud on a massive scale. This presentation will include slides and discussion about aspects of Asgard from both the user and developer points of view.\n\nThe Netflix cloud model of Applications and Clusters built on top of Amazon building blocks\nAsgard’s process for large deployments and fast rollback\nOpen sourcing Asgard on github in 2012\nComparison with the AWS Management Console\nTour of the user interface\nPublishing a REST interface API for other tools to call Asgard\nEnhancing Grails URLs to add region-specificity\nUsing external configuration to pull Netflix-specific details out of Asgard\nStoring metadata on cloud objects instead of a database\nUsing closures to help cache massive cloud metadata for multiple Amazon regions\nTango open source icons to improve the user experience\nJavaScript filters for large list pages and drop-downs\nMocking the AWS back-end for offline automated testing\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Asgard, the Grails App that Deploys Netflix to the Cloud

    1. 1. // Feed your brain GR8Conf Europe 2012 gr8.technologies.each{ June 6th-8th yourBrain << it Copenhagen, Denmark }The Grails App that Deploys Netflix to the CloudJoe Sondow, Netflix @joesondow #gr8conf
    2. 2. Slides onlinehttp://slideshare.net/joesondow @joesondow #gr8conf
    3. 3. Agenda
    4. 4. AgendaWho am I? Why am I here?
    5. 5. AgendaWho am I? Why am I here?Asgard, Screen shots
    6. 6. AgendaWho am I? Why am I here?Asgard, Screen shotsNetflix, Freedom and Responsibility
    7. 7. AgendaWho am I? Why am I here?Asgard, Screen shotsNetflix, Freedom and ResponsibilityRegional URLs
    8. 8. AgendaWho am I? Why am I here?Asgard, Screen shotsNetflix, Freedom and ResponsibilityRegional URLsCloud Deployment Model
    9. 9. AgendaWho am I? Why am I here?Asgard, Screen shotsNetflix, Freedom and ResponsibilityRegional URLsCloud Deployment ModelOffline Development
    10. 10. AgendaWho am I? Why am I here?Asgard, Screen shotsNetflix, Freedom and ResponsibilityRegional URLsCloud Deployment ModelOffline DevelopmentWhy not the AWS Console?
    11. 11. Who am I? @joesondow #gr8conf
    12. 12. Who am I? @joesondow #gr8conf
    13. 13. Who am I?Joe Sondow @joesondow #gr8conf
    14. 14. Who am I?Joe SondowNetflix since 2010 @joesondow #gr8conf
    15. 15. Who am I?Joe SondowNetflix since 2010Asgard lead @joesondow #gr8conf
    16. 16. Who am I?Joe SondowNetflix since 2010Asgard leadGrails @joesondow #gr8conf
    17. 17. Who am I?Joe SondowNetflix since 2010Asgard leadGrailsjQuery @joesondow #gr8conf
    18. 18. Why am I here? @joesondow #gr8conf
    19. 19. Why am I here?
    20. 20. Why am I here?Sell you something
    21. 21. Why am I here?Sell you somethingDiscuss business plans
    22. 22. Why am I here?Sell you somethingDiscuss business plansAnswer technical questions
    23. 23. Why am I here?Sell you somethingDiscuss business plansAnswer technical questionsBe a smaller fish in AWS
    24. 24. Why am I here?Sell you somethingDiscuss business plansAnswer technical questionsBe a smaller fish in AWSGive back to community
    25. 25. Why am I here?Sell you somethingDiscuss business plansAnswer technical questionsBe a smaller fish in AWSGive back to communitySteal your engineers
    26. 26. Asgard
    27. 27. Asgard
    28. 28. AsgardScreen shots
    29. 29. AsgardApplication list
    30. 30. AsgardAuto Scaling Group list
    31. 31. AsgardCluster deployment, ready for fast rollback
    32. 32. Asgard
    33. 33. AsgardCloud deployment
    34. 34. AsgardCloud deploymentCloud management
    35. 35. AsgardCloud deploymentCloud managementStarted 2010
    36. 36. AsgardCloud deploymentCloud managementStarted 2010Open source in 2012
    37. 37. AsgardCloud deploymentCloud managementStarted 2010Open source in 2012 Follow @NetflixOSS
    38. 38. AsgardCloud deploymentCloud managementStarted 2010Open source in 2012 Follow @NetflixOSS100’s of Jira tickets
    39. 39. AsgardCloud deploymentCloud managementStarted 2010Open source in 2012 Follow @NetflixOSS100’s of Jira ticketsActively developed
    40. 40. Joe Sondow Clay McCoy Jason Gritman @joesondow @claymccoy @jgritmanAsgard TeamJune 2012(The dolphin writes integration tests)
    41. 41. With more than 25 million streaming members in theUnited States, Canada, Latin America, the UnitedKingdom and Ireland, Netflix, Inc. (NASDAQ: NFLX) isthe worlds leading internet subscription service forenjoying movies and TV programs.(from http://ir.netflix.com)
    42. 42. Freedom and Responsibility
    43. 43. Freedom and Responsibility
    44. 44. Freedom and ResponsibilityCloud SOA
    45. 45. Freedom and ResponsibilityCloud SOA100’s of services
    46. 46. Freedom and ResponsibilityCloud SOA100’s of servicesSmall teams
    47. 47. Freedom and ResponsibilityCloud SOA100’s of servicesSmall teamsIndependent releases
    48. 48. Freedom and ResponsibilityCloud SOA100’s of servicesSmall teamsIndependent releasesControlled chaos
    49. 49. Regional URLs
    50. 50. Regional URLsLet’s see some code
    51. 51. Regional URLsCloud object URLs were unique, conventional, intuitiveDefault Grails URL mapping is excellent
    52. 52. Regional URLsLater, Netflix needed to use multiple Amazon regions
    53. 53. Regional URLsRegion is another URL dimensionAdd URL mapping, but don’t break existing links
    54. 54. Regional URLsRegionService.groovy (excerpt)
    55. 55. Regional URLsRegionService.groovy (excerpt)
    56. 56. Regional URLsSome controllers should never be regionalRegionService detects RegionAgnostic annotation
    57. 57. Cloud deployment model
    58. 58. Cloud deployment modelApplications and Clusters
    59. 59. Cloud deployment model
    60. 60. Cloud deployment model Auto Scaling Group
    61. 61. Cloud deployment model Auto Scaling Group Launch Configuration
    62. 62. Cloud deployment model Elastic Load Balancer Auto Scaling Group Launch Configuration
    63. 63. Cloud deployment model Elastic Load Balancer Auto Scaling Group Launch Configuration Amazon Machine Image
    64. 64. Cloud deployment model Elastic Load Balancer Auto Scaling Group Security Group Launch Configuration Amazon Machine Image
    65. 65. Cloud deployment model Elastic Load Balancer Auto Scaling Group Security Instances Group Launch Configuration Amazon Machine Image
    66. 66. Cloud deployment model Elastic Load Balancer Auto Scaling Group Security Instances Group Launch Configuration Amazon Machine Image
    67. 67. Cloud deployment model Elastic Load Balancer Auto Scaling Group Security Instances Group Launch Configuration Amazon Machine Image
    68. 68. Cloud deployment model Elastic Load Balancer Auto Scaling Group Security Instances Group Launch Configuration Amazon Machine Image
    69. 69. Cloud deployment model
    70. 70. Cloud deployment model Search
    71. 71. Cloud deployment model API Search
    72. 72. Cloud deployment model Ratings API Search
    73. 73. Cloud deployment modelStreaming Starts Ratings API Search
    74. 74. Cloud deployment modelStreaming Starts Ratings API SearchAutocomplete
    75. 75. Cloud deployment model Sign UpStreaming Starts Ratings API SearchAutocomplete
    76. 76. Cloud deployment model Sign UpStreaming Starts Ratings Application Application Application API SearchAutocomplete Application Application Application
    77. 77. Inventing the Application
    78. 78. Inventing the Application Problem: Application is not an Amazon concept Solution: Create an Application domain in SimpleDB Enforce naming conventions on Amazon objects
    79. 79. Fast Rollback
    80. 80. Fast RollbackOptimism causes outages
    81. 81. Fast RollbackOptimism causes outagesProduction traffic is unique
    82. 82. Fast RollbackOptimism causes outagesProduction traffic is uniqueKeep old version running
    83. 83. Fast RollbackOptimism causes outagesProduction traffic is uniqueKeep old version runningSwitch traffic to new version
    84. 84. Fast RollbackOptimism causes outagesProduction traffic is uniqueKeep old version runningSwitch traffic to new versionMonitor results
    85. 85. Fast RollbackOptimism causes outagesProduction traffic is uniqueKeep old version runningSwitch traffic to new versionMonitor resultsRevert traffic quickly
    86. 86. Fast Rollback
    87. 87. Fast Rollback api-frontend api-usprod-v007
    88. 88. Fast Rollback api-frontend api-usprod-v007 api-usprod-v008
    89. 89. Fast Rollback api-frontend api-usprod-v007 api-usprod-v008
    90. 90. Fast Rollback api-frontend api-usprod-v007 api-usprod-v008
    91. 91. Fast Rollback api-frontend api-usprod-v007 api-usprod-v008
    92. 92. Fast Rollback api-frontend api-usprod-v007
    93. 93. Inventing the Cluster
    94. 94. Inventing the Cluster Problem: Two ASGs with one function but different names Solution: Append version number in reserved format Parse ASG name to determine long-term “cluster”
    95. 95. Inventing the ClusterInstead of keeping a database in sync, use namingconventions to store the source in truth in Amazon’s APIapi Applicationapi-usprod Clusterapi-usprod-v007 Auto Scaling Groupapi-usprod-v008 Auto Scaling Group
    96. 96. Offline Development
    97. 97. Offline DevelopmentMakes on a plane
    98. 98. Offline DevelopmentMock dataMock behaviorSystem property switch offline=true
    99. 99. Mock Datahttp://asgardprod/us-east-1/autoScaling/list.json
    100. 100. Mock DataParse JSON
    101. 101. Mock BehaviorOverride Amazon Java client methods
    102. 102. System Propertygrails run-app -Doffline=true
    103. 103. Why not the AWS console?
    104. 104. Why not the AWS console?No, not to keep me busy
    105. 105. Why not the AWS console?
    106. 106. Why not the AWS console?
    107. 107. Why not the AWS console?Hide keys
    108. 108. Why not the AWS console?Hide keysCustomize model
    109. 109. Why not the AWS console?Hide keysCustomize modelEnforce conventions
    110. 110. Why not the AWS console?Hide keysCustomize modelEnforce conventionsAutomate workflow
    111. 111. Why not the AWS console?Hide keysCustomize modelEnforce conventionsAutomate workflowLog changes
    112. 112. Why not the AWS console?Hide keysCustomize modelEnforce conventionsAutomate workflowLog changesIntegrate systems
    113. 113. Why not the AWS console?Hide keysCustomize modelEnforce conventionsAutomate workflowLog changesIntegrate systemsCreate REST API
    114. 114. @NetflixOSS
    115. 115. @NetflixOSShttp://techblog.netflix.com
    116. 116. @NetflixOSShttp://techblog.netflix.comOpen source announcement...
    117. 117. @NetflixOSShttp://techblog.netflix.comOpen source announcement...
    118. 118. @NetflixOSSThank you
    119. 119. @NetflixOSSThank youQuestions? @joesondow slideshare.net/joesondow linkedin.com/in/joesondow
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×