Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

Improving your Time to Market with AWS

609 visualizaciones

Publicado el

Improving your Time to Market with AWS

Publicado en: Tecnología
  • Sé el primero en comentar

Improving your Time to Market with AWS

  1. 1. Improving your time to market with a low TCO Ryan Shuttleworth – Technical Evangelist @ryanAWS
  2. 2. How do we deploy to the cloud fast andmaintain control over what is deployed?
  3. 3. Two ends of the spectrum…
  4. 4. Controlled Meticulous chaos management
  5. 5. Controlled Meticulous chaos management Prototype an app Deploy to an instanceTest and develop cycles Go to productionDeploy more instances Deploy RDS Add load balancers Add autoscaling Audit what you have?
  6. 6. Controlled Meticulous chaos management Prototype an app Prototype an app Deploy to an instance Plan infrastructureTest and develop cycles Build standards Go to production Deploy environmentDeploy more instances Manage through change control Deploy RDS Formal processes Add load balancers Formal tools Add autoscaling Embed configuration in Audit what you have? chef/puppet
  7. 7. Controlled Meticulous chaos management People Prototype an app Prototype an app Deploy to an instance Processes Plan infrastructure Build standardsTest and develop cycles Controls Deploy environment Go to productionDeploy more instances Deploy RDS Tools Manage through change control Formal processes Add load balancers Formal tools Add autoscaling Embed configuration in Audit what you have? chef/puppet
  8. 8. High level, Fine grained, shrink declarative wrapped control Tools“I just want my app to “I want to source control run, and I only want my entire datacenteraccess to machines if I deployment like I would really need to” my apache config”
  9. 9. High level, Fine grained, shrink declarative wrapped controlElastic Beanstalk Tools CloudFormation“I just want my app to “I want to source control run, and I only want my entire datacenteraccess to machines if I deployment like I would really need to” my apache config”
  10. 10. High level, Fine grained, shrink declarative wrapped controlElastic Beanstalk Tools CloudFormation“I just want my app to “I want to source control run, and I only want my entire datacenteraccess to machines if I deployment like I would really need to” my apache config”
  11. 11. Elastic Beanstalk Tools CloudFormation Quickly deploy and manage apps in AWS…
  12. 12. Elastic Beanstalk Tools CloudFormation …into a range of containers .Net Java PHP Python
  13. 13. Elastic Beanstalk Tools CloudFormation …into a range of containers Keep updated on new containers: http://aws.typepad.com
  14. 14. Elastic Beanstalk Tools CloudFormation Application package is deployed into Beanstalk
  15. 15. Elastic Beanstalk Tools CloudFormation Which creates the container in EC2 User Application Application Service HTTP Service Language Interpreter Operating System Host
  16. 16. Elastic Beanstalk Tools CloudFormation Beanstalk takes care of the environment…
  17. 17. Elastic Beanstalk Tools CloudFormation …adding Elastic Load Balancer…
  18. 18. Elastic Beanstalk Tools CloudFormation …Auto Scaling groups
  19. 19. Elastic Beanstalk Tools CloudFormation …and launching instances
  20. 20. Elastic Beanstalk Tools CloudFormation …all wired into the Beanstalk framework
  21. 21. Elastic Beanstalk Tools CloudFormation …and published under a CNAME
  22. 22. Elastic Beanstalk Tools CloudFormation …with logs and app versions held in S3
  23. 23. How do you create an app for AWS ElasticBeanstalk?
  24. 24. Like any otherJava / .Net / PHP / Python app
  25. 25. Elastic Beanstalk Tools CloudFormation No dependencies on AWS inherent for Beanstalk deployment Source uploaded and executed in AWS Source downloaded and executed locally
  26. 26. Elastic Beanstalk Tools CloudFormation Package up as normal… Java .war file PHP .zip file IDE plugins Git integration Microsoft Web Python .zip file Deploy package
  27. 27. Elastic Beanstalk Tools CloudFormation Console deployments and version updates
  28. 28. Elastic Beanstalk Tools CloudFormation Command line tools and wizards CheckDNSAvailability eb init elastic-beanstalk-check-dns-availability wizard to initialize an application CreateApplication eb start/stop elastic-beanstalk-create-application start/stop an application CreateApplicationVersion eb update elastic-beanstalk-create-application-version update application version CreateEnvironment eb status elastic-beanstalk-create-environment get status of a running application
  29. 29. Elastic Beanstalk Tools CloudFormation Git integration
  30. 30. Elastic Beanstalk Tools CloudFormation Container configuration
  31. 31. Elastic Beanstalk Tools CloudFormation Container configuration
  32. 32. Elastic Beanstalk Tools CloudFormation Container configuration
  33. 33. Elastic Beanstalk Tools CloudFormation Container configuration
  34. 34. Elastic Beanstalk Tools CloudFormation Container configuration
  35. 35. Full admin access on underlying resources EC2 instances, AMIs, AutoScaling groups…
  36. 36. Application One-clickprototype deployment Production ready AWS infrastructure
  37. 37. Idea App
  38. 38. 70%Idea App Heavy lifting
  39. 39. 30%Idea Infrastructure App services
  40. 40. Idea App Elastic Beanstalk
  41. 41. Idea App Elastic Beanstalk
  42. 42. Customer 1 Reached $100Customer 2 Reached $250 Master Reached $1,000Customer 3 AccountCustomer 4 Reached $1,200Customer 5 Reached $400
  43. 43. Company launching product into new geographyOnline application & marketing site deployed to support launchSite crashed under exceptional demand - DoS existing datacenterNeeded fast deployment mechanism with no interest in underlying infrastructure
  44. 44. Company launching product into new geographyOnline application & marketing site deployed to support launchSite crashed under exceptional demand - DoS existing datacenterNeeded fast deployment mechanism with no interest in underlying infrastructureTurned to Beanstalk - deployed & scaled seamlessly, restoring website
  45. 45. High level, Fine grained, shrink declarative wrapped controlElastic Beanstalk Tools CloudFormation“I just want my app to “I want to source control run, and I only want my entire datacenteraccess to machines if I deployment like I would really need to” my apache config”
  46. 46. Elastic Beanstalk Tools CloudFormation What happens under the covers of Beanstalk? AWS Create security group Create auto-scaling policy Create elastic load balancer Elastic Beanstalk Add instance Install software Consolidate logs
  47. 47. Elastic Beanstalk Tools CloudFormation What happens under the covers of Beanstalk? AWS Create security group Create auto-scaling policy A series of calls into AWS to marshal resource Create elastic load balancer creation/configuration Add instance Install software Consolidate logs
  48. 48. Elastic Beanstalk Tools CloudFormation CloudFormation – underlying automation framework Compute Scaling Security CDN Backup DNS Database Storage Load Balancing Workflow Monitoring Networking Messaging
  49. 49. Elastic Beanstalk Tools CloudFormation CloudFormation – underlying automation framework Compute CloudFormation Scaling Security A consistent scripting interface for CDN Backup creating/configuring AWS DNS Database resources Storage Load Balancing A framework for lifecycle Workflow management of resources Monitoring created using scripts Networking Messaging
  50. 50. Elastic Beanstalk Tools CloudFormation CloudFormation components & terminology CloudFormation Template Stack JSON formatted file Framework Configured AWS services Parameter definition Stack creation Comprehensive service support Resource creation Stack updates Service event aware Configuration actions Error detection and rollback Customisable
  51. 51. Elastic Beanstalk Tools CloudFormation Template examples Snippet: Taking user defined parameters Template { "Parameters" : { "KeyName" : { "Description" : "Name of an existing EC2 KeyPair to enable SSH access to the instance", "Type" : "String" } }, } JSON formatted file Parameter definition Resource creation Configuration actions
  52. 52. Elastic Beanstalk Tools CloudFormation Template examples Snippet: Creating RDS instance Template { "AWSTemplateFormatVersion" : "2010-09-09", "Description" : "Create RDS with fixed username and password", "Resources" : { "MyDB" : { "Type" : "AWS::RDS::DBInstance", "Properties" : { "AllocatedStorage" : "5", "DBInstanceClass" : "db.m1.small", JSON formatted file "Engine" : "MySQL", "EngineVersion" : "5.5", Parameter definition "MasterUsername" : "MyName", "MasterUserPassword" : "MyPassword" Resource creation } Configuration actions } } }
  53. 53. Elastic Beanstalk Tools CloudFormation Template examples Snippet: Installing software Template "AWS::CloudFormation::Init" : { "config" : { "packages" : { "yum" : { "mysql" : [], "mysql-server" : [], "httpd" : [], "php" : [], "php-mysql" : [] } }, JSON formatted file "sources" : { Parameter definition "/var/www/html" : "https://s3.amazonaws.com/ cloudformation-examples/ Resource creation CloudFormationPHPSample.zip" Configuration actions },
  54. 54. Elastic Beanstalk Tools CloudFormation The benefit of templated environments Procedural definition Create it programmatically Template
  55. 55. Elastic Beanstalk Tools CloudFormation The benefit of templated environments Procedural definition Create it programmatically Template Parameter driven Dynamic and user-driven templates
  56. 56. Elastic Beanstalk Tools CloudFormation The benefit of templated environments Procedural definition Create it programmatically Template Parameter driven Collaboration Dynamic and user-driven Share templates with ease as templates just files
  57. 57. Elastic Beanstalk Tools CloudFormation The benefit of templated environments Procedural definition Known configuration Create it programmatically Store stack configuration in Template source control Parameter driven Collaboration Dynamic and user-driven Share templates with ease as templates just files
  58. 58. NASA TV & Curiosity Route 53 DNS Multi-region & AZ Elastic Loadbalancing Amazon Live Streaming Cloud Front Cloud Formation
  59. 59. NASA TV & Curiosity CloudFormation 53 DNS Route template Multi-region & AZ defined video caching infrastructure Elastic Loadbalancing Stack Amazon Live Streaming Cloud Front Template Cloud ELBs to front Formation secondary cache ~100 Nginx secondary cache servers 2-3 Nginx mid-tier cache servers
  60. 60. NASA TV & Curiosity As demand increasedDNS Route 53 new Multi-region & AZ stacks added to an availability zone using template Elastic Loadbalancing Amazon Live Streaming Cloud Front Cloud Formation One-click complex rollout Availability Zone
  61. 61. Elastic Beanstalk Tools CloudFormation Where to get more information? Server templates High availability configurations RDS configurations Open source stacks Snippets + Cloud Former (prototype)http://aws.amazon.com/cloudformation/aws-cloudformation-templates/
  62. 62. Elastic Beanstalk Tools CloudFormation Where to get more information? Server templates High availability configurations RDS configurations Open source stacks Snippets + Cloud Former (prototype)http://aws.amazon.com/cloudformation/aws-cloudformation-templates/
  63. 63. Elastic Beanstalk Tools CloudFormation Comprehensive service support Amazon EC2 Instances Amazon CloudWatch Alarms (On-Demand Instances, Spot Instances, and Reserved Instances) Amazon Simple Storage Service (S3) Buckets Amazon Elastic Block Store (EBS) Volumes Amazon Simple DB Domains Elastic Load Balancers Amazon Simple Queue Service (SQS) Queues Elastic IP Addresses Amazon Simple Notification Service (SNS) Topics Amazon EC2 Security Groups Amazon SNS Subscriptions Auto Scaling Groups Amazon Route 53 DNS Records Amazon Relational Database Service (RDS) Instances Amazon CloudFront Distributions and Multi-Origin support Amazon RDS Security Groups AWS Identity and Access Management users and groups Amazon ElastiCache Clusters AWS Identify and Access Management policies Amazon ElastiCache Security Groups Amazon Virtual Private Cloud VPCs, Subnets, Gateways Amazon ElastiCache Parameter Groups Amazon DynamoDB Tables
  64. 64. Elastic Beanstalk Tools CloudFormation Comprehensive service support Amazon EC2 Instances Amazon CloudWatch Alarms (On-Demand Instances, Spot Instances, and Reserved Instances) Amazon Simple Storage Service (S3) Buckets Amazon Elastic Block Store (EBS) Volumes Amazon Simple DB Domains Elastic Load Balancers Amazon Simple Queue Service (SQS) Queues Elastic IP Addresses Amazon Simple Notification Service (SNS) Topics Amazon EC2 Security Groups Amazon SNS Subscriptions Auto Scaling Groups Amazon Route 53 DNS Records Amazon Relational Database Service (RDS) Instances Amazon CloudFront Distributions and Multi-Origin support Amazon RDS Security Groups AWS Identity and Access Management users and groups Amazon ElastiCache Clusters AWS Identify and Access Management policies Amazon ElastiCache Security Groups Amazon Virtual Private Cloud VPCs, Subnets, Gateways Amazon ElastiCache Parameter Groups Amazon DynamoDB Tables + AWS Elastic Beanstalk
  65. 65. High level, Fine grained, shrink declarative wrapped controlElastic Beanstalk Tools CloudFormation“I just want my app to “I want to source control run, and I only want my entire datacenteraccess to machines if I deployment like I would really need to” my apache config”
  66. 66. High level, Fine grained, shrink + declarative wrapped controlElastic Beanstalk + CloudFormation
  67. 67. High level, Fine grained, shrink + declarative wrapped controlElastic Beanstalk + CloudFormationDeveloper sandboxes Comprehensive controlwith production ready of all aspects of infrastructure infrastructure
  68. 68. High level, Fine grained, shrink + declarative wrapped controlElastic Beanstalk + CloudFormation Cookie cutter environments Less time and effort Lower cost of ownership
  69. 69. Get started fast with Beanstalk (control the chaos)Take fine grained control with CloudFormation (auditable environment specs)

×