SlideShare une entreprise Scribd logo
1  sur  47
Télécharger pour lire hors ligne
©2015,  Amazon  Web  Services,  Inc.  or  its  affiliates.  All  rights  reserved
Deep Dive: Infrastructure as Code
Steven Bryen – Solutions Architect, AWS
Raj Wilkhu – Principal Engineer, JUST EAT
Bruce Jackson – CTO, Myriad Group AG
You are on-board …
needs to experiment, innovate, reduce
risk
Business
of services and applications
Continuous
Delivery
culture, automation, measurement,
sharing
DevOps
infrastructure-as-code
Cloud
AWS CloudFormation
•  Create templates of the infrastructure and
applications you want to run on AWS
•  Have the CloudFormation service
automatically provision the required AWS
resources and their relationships from the
templates
•  Easily version control, replicate or update
the infrastructure and applications using
the templates
•  Integrates with other development, CI/CD,
and management tools.
Create template –
Example web application
security group
Auto Scaling group
EC2
instance
Elastic Load
Balancing
DB Service
Inventory Service
Recommendations
Service
ElastiCache
memcached cluster
Software pkgs,
config, & dataCloudWatch
alarms
Create template – Resources
security group
Auto Scaling group
EC2
instance
Elastic Load
Balancing
ElastiCache
memcached cluster
Software pkgs,
config, & dataCloudWatch
alarms
	
  
"Resources"	
  :	
  {	
  
	
  	
  	
  	
  "SecurityGroup"	
  :	
  {},	
  
	
  	
  	
  	
  "WebServerGroup"	
  :	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  "Type"	
  :	
  "AWS::AutoScaling::AutoScalingGroup",	
  
	
  	
  	
  	
  	
  	
  	
  	
  "Properties"	
  :	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "MinSize"	
  :	
  "1",	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "MaxSize"	
  :	
  "3",	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "LoadBalancerNames"	
  :	
  [	
  {	
  "Ref"	
  :	
  
"LoadBalancer"	
  }	
  ],	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  ...	
  
	
  	
  	
  	
  	
  	
  	
  	
  }	
  
	
  	
  	
  	
  },	
  
	
  	
  	
  	
  "LoadBalancer"	
  :	
  {},	
  
	
  	
  	
  	
  "CacheCluster"	
  :	
  {},	
  
	
  	
  	
  	
  "Alarm"	
  :	
  {}	
  
},	
  
CloudFormation	
  Template	
  
Create template – Parameters
Auto Scaling group
EC2
instance
Recommendation
s Service
Inventory
Service
Customer DB
Service
Info to Customize
Stack at
Creation.
Examples:
Instance Type,
App Pkg Version
"Parameters"	
  :	
  {	
  
	
  	
  	
  	
  "CustomerDBServiceEndPoint"	
  :	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  "Description"	
  :	
  "URL	
  of	
  the	
  Customer	
  DB	
  Service",	
  
	
  	
  	
  	
  	
  	
  	
  	
  "Type"	
  :	
  "String"	
  
	
  	
  	
  	
  },	
  
	
  	
  	
  	
  "CustomerDBServiceKey"	
  :	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  "Description"	
  :	
  "API	
  key	
  for	
  the	
  Customer	
  DB	
  
Service",	
  
	
  	
  	
  	
  	
  	
  	
  	
  "Type"	
  :	
  "String",	
  
	
  	
  	
  	
  	
  	
  	
  	
  "NoEcho"	
  :	
  "true"	
  
	
  	
  	
  	
  },	
  
	
  	
  	
  	
  "InstanceType"	
  :	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  "Description"	
  :	
  "WebServer	
  EC2	
  instance	
  type",	
  
	
  	
  	
  	
  	
  	
  	
  	
  "Type"	
  :	
  "String",	
  
	
  	
  	
  	
  	
  	
  	
  	
  "Default"	
  :	
  "m3.medium",	
  
	
  	
  	
  	
  	
  	
  	
  	
  "AllowedValues"	
  :	
  
["m3.medium","m3.large","m3.xlarge"],	
  
	
  	
  	
  	
  	
  	
  	
  	
  "ConstraintDescription"	
  :	
  "Must	
  be	
  a	
  valid	
  
instance	
  type"	
  
CloudFormation	
  Template	
  
Create template – Outputs
Elastic Load
Balancing
	
  
"Resources"	
  :	
  {	
  
	
  	
  	
  	
  "LoadBalancer"	
  :	
  {},	
  
	
  	
  	
  	
  ...	
  
},	
  
"Outputs"	
  :	
  {	
  
	
  	
  	
  	
  "WebsiteDNSName"	
  :	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  "Description"	
  :	
  "The	
  DNS	
  name	
  of	
  the	
  website",	
  
	
  	
  	
  	
  	
  	
  	
  	
  "Value"	
  :	
  	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "Fn::GetAtt"	
  :	
  [	
  "LoadBalancer",	
  "DNSName"	
  ]	
  
	
  	
  	
  	
  	
  	
  	
  	
  }	
  
	
  	
  	
  	
  }	
  
}	
  
	
  
CloudFormation	
  Template	
  
Create template – Deploy and configure software
Auto Scaling group
EC2
instance
Software pkgs,
config, & data
	
  
"AWS::CloudFormation::Init":	
  {	
  
	
  	
  	
  	
  "webapp-­‐config":	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  "packages"	
  :	
  {},	
  "sources"	
  :	
  {},	
  "files"	
  :	
  {},	
  
	
  	
  	
  	
  	
  	
  	
  	
  "groups"	
  :	
  {},	
  "users"	
  :	
  {},	
  
	
  	
  	
  	
  	
  	
  	
  	
  "commands"	
  :	
  {},	
  "services"	
  :	
  {}	
  
	
  },	
  
	
  
	
  	
  	
  	
  "chef-­‐config"	
  :	
  {}	
  
}	
  
	
  
CloudFormation	
  Template	
  
ü  Declarative
ü  Debug-able
ü  Updatable
ü  Highly Secure
ü  BIOT™ Bring In
Other Tools
Create template – Language features
Use a wide range of AWS services
ü  Auto Scaling
ü  Amazon CloudFront
ü  AWS CloudTrail
ü  AWS CloudWatch
ü  Amazon DynamoDB
ü  Amazon EC2
ü  Amazon ElastiCache
ü  AWS Elastic Beanstalk
ü  AWS Elastic Load Balancing
ü  Amazon Kinesis
ü  AWS Identity and Access
Mgmt
ü  AWS OpsWorks
ü  Amazon RDS
ü  Amazon Redshift
ü  Amazon Route 53
ü  Amazon S3
ü  Amazon SimpleDB
ü  Amazon SNS
ü  Amazon SQS
ü  Amazon VPC
and more …
As of April 2015
Nested CloudFormation Stacks
"myStackWithParams" : {
"Type" : "AWS::CloudFormation::Stack",
"Properties" : {
"TemplateURL" : "https://s3.amazonaws.com/template-bucket/mystack.template",
”Parameters" : {
"InstanceType" : "t1.micro",
"KeyName" : "mykey"
}
}
}
Pass parameters to nested CloudFormation Stacks
Iterate on infrastructure
Update stack
In-place Blue-Green
Faster
Cost-efficient
Simpler state and
data migration
Working stack
not touched
Extending AWS CloudFormation
Extend with Custom Resources
security group
Auto Scaling group
EC2
instance
Elastic Load
Balancing
ElastiCache
memcached cluster
Software pkgs,
config, & dataCloudWatch
alarms
Web Analytics
Service
AWS
CloudFormation
Provision
AWS Resources
"Resources"	
  :	
  {	
  
	
  	
  	
  	
  "WebAnalyticsTrackingID"	
  :	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  "Type"	
  :	
  "Custom::WebAnalyticsService::TrackingID",	
  
	
  	
  	
  	
  	
  	
  	
  	
  "Properties"	
  :	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "ServiceToken"	
  :	
  "arn:aws:sns:...",	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "Target"	
  :	
  {"Fn::GetAtt"	
  :	
  ["LoadBalancer",	
  "DNSName"]},	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  "Plan"	
  :	
  "Gold"	
  
	
  	
  	
  	
  	
  	
  	
  	
  }	
  
	
  	
  	
  	
  },	
  
...	
  
“Success” + Metadata
“Create, Update, Rollback, or Delete”
+ Metadata
Lambda-powered custom resources
security group
Auto Scaling group
EC2
instance
Elastic Load
Balancing
ElastiCache
memcached cluster
Software pkgs,
config, & dataCloudWatch
alarms
// Implement Custom Logic Here
Lookup an AMI ID
Lookup VPC ID and Subnet ID
Reverse an IP Address
Application Lifecycle
Infrastructure
Lifecycle
EC2
SQS, SNS, Kinesis, etc.
Databases
VPC
IAM
Application
Lifecycle
Download Packages,
Install Software,
Configure Apps,
Bootstrap Apps,
Update Software,
Restart Apps,
etc.
CloudFormation
• Templatize
• Replicate
• Automate
AWS::CloudFormation::Init
"AWS::CloudFormation::Init": {
"webapp-config": {
"packages" : {}, "sources" : {}, "files" : {},
"groups" : {}, "users" : {},
"commands" : {}, "services" : {}
Declarative
AWS::CloudFormation::Init
Supports updates
"packages" : {},
"sources" : {},
"files" : {},
"groups" : {},
"users" : {},
"commands" : {},
"services" : {}
AWS::CloudFormation::Init
"install_chef" : {},
"install_wordpress" : {
"commands" : {
"01_get_cookbook" : {}, ...,
"05_configure_node_run_list" : {
"command" : "knife node run_list add -z `knife
node list -z` recipe[wordpress]",
"cwd" : "/var/chef/chef-repo",
"env" : { "HOME" : "/var/chef" }
Flexibility to bring in other tools such as AWS CodeDeploy and Chef
ow.ly/DiNkz
Use AWS::CloudFormation::Init
"UserData": {
"# Get the latest CloudFormation helper scripts packagen",
"yum update -y aws-cfn-bootstrapn",
"# Trigger CloudFormation::Init configuration n",
"/opt/aws/bin/cfn-init --stack ", {"Ref": "AWS::StackId"},
" --resource WebServerInstance ",
" --region ", {"Ref": "AWS::Region"}, "n",
"# Signal completionn",
"/opt/aws/bin/cfn-signal –e $? --stack ", {"Ref": "AWS::StackId"},
" --resource WebServerInstance ",
" --region ", {"Ref": "AWS::Region"}, "n"
Use CloudWatch Logs for debugging
"install_logs": {
"packages" : { ... "awslogs" ... },
"services" : { ... "awslogs" ... }
"files": {
"/tmp/cwlogs/cfn-logs.conf": {}
file = /var/log/cfn-init.log
log_stream_name = {instance_id}/cfn-init.log
file = /var/log/cfn-hup.log
log_stream_name = {instance_id}/cfn-hup.log
ow.ly/E0zO3
Use CloudWatch Logs for debugging
ow.ly/E0zO3
Wait Conditions & DependsOn
Example
Wait for EC2 instance to signal success
"Ec2Instance" : {
"Type" : "AWS::EC2::Instance",
"Properties" : {
"UserData" : { "Fn::Base64" : {"Ref" : "myWaitHandle"}},
"ImageId" : { "Fn::FindInMap" : [ "RegionMap", { "Ref" : "AWS::Region" }, "AMI" ]} }
},
Example
"myWaitHandle" : {
"Type" : "AWS::CloudFormation::WaitConditionHandle",
},
"myWaitCondition" : {
"Type" : "AWS::CloudFormation::WaitCondition",
"DependsOn" : "Ec2Instance",
"Properties" : {
"Handle" : { "Ref" : "myWaitHandle" },
"Timeout" : "4500"
}
}
Wait for EC2 instance to signal success
CI/CD Pipeline
CloudFormation in a CI/CD Pipeline
AWS	
  	
  
CloudFormation	
  Issue	
  Tracker	
  
App	
  Developers	
  
DevOps	
  Engineers,	
  
Infrastructure	
  Developers,	
  
Systems	
  Engineers	
  	
  
Dev	
  Env	
   Code	
  Repo	
  
App	
  Pkgs,	
  	
  
CloudFormation	
  
Templates,	
  Etc.	
  
CI	
  Server	
  
Test	
  
Staging	
  
Prod	
  Code	
  Review	
  
"Infra-­‐as-­‐Code"	
  
App	
  Code	
  	
  
&	
  Templates	
  
LONDON
©2015,  Amazon  Web  Services,  Inc.  or  its  affiliates.  All  rights  reserved
Continuous Integration and
Deployment
Raj Wilkhu – Principal Engineer, JUST EAT
JUST EAT Platform
•  High volume e-commerce platform
•  45-60 minutes cycle
•  Real time message delivery and confirmation network
•  Hardware in 22,500 restaurants in the UK, 40,800 worldwide
•  Peak traffic is 10,000% of normal daytime traffic
•  3 cities
•  Over 130 releases a month
•  Primarily Windows
Building reliable and high quality software
•  Test-Driven Development, Continuous Deployment and
Immutable Infrastructure
•  Every part of the infrastructure replaced several times a day
•  Incentive to continuously speed up deployment process
Deploying components
•  Platform decomposed into components
•  Each component defined by single AWS Cloudformation
template
•  Single Build Artifact
•  Instances boot and bootstrap themselves from
•  pre-baked AMI
•  Content in S3 based on Cloudformation::Init metadata
Pre-baked AMI vs Dynamic config
•  System dependencies (eg OS
features, .NET, ruby, gems, etc)
•  Static configurations
•  Continuous Deployment (latest code)
•  Environment specific configuration
•  Automation to deploy feature
Increasing Boot time
•  Unzip package
•  Install and configure dependencies
•  Execute deployment script(s)
•  Warm up feature
•  Tagged by deployment scripts
•  Baked via CI pipeline
•  Tested and tagged
Pre-baked AMI CloudFormation::Init
Cloudformation template generation
•  Single json from multiple yaml and erb files
•  Similar to HTML templating engines
•  Organized by component
•  Convention over configuration
"<%= @feature_name %>_pre_deploy": {
"commands": {
<%
cmd_prefix = 250
services_to_disable = %w(aelookupsvc bits scdeviceenum trustedinstaller wuauserv)
services_to_disable.each do |service_name|
%>
"<%= cmd_prefix %>_<%= @feature_name %>_stop_<%= service_name
%>_service_because_unnecessary": {
"waitAfterCompletion": "0",
"command": "powershell -noninteractive -noprofile -command "& { stop-service -
Name <%= service_name %> -verbose }"",
---
:feature_config:
:ami_id: ami-c99544ef
:elb: true
:use_logging_client: true
:elb_dns: true
:parameters:
:ElbTarget: "HTTP:80/status"
:AsgDesiredSizeDuringPeakTime: 10
:InstanceType: c4.xlarge
Example yaml: Example json.erb template:
{
Master
Immutable infrastructure - Cloudformation
Engineers
configs in yaml,
template extensions in
json.erb + master
Tests in QA environment
Engineers
Component code
Continuous Integration Server
(TeamCity Agent Cloud)
Build & Test
Pipeline
Artifact
JustDeploy
Production/QA
EC2 Web/worker roles
Route 53
Rooms
Artifact
Git Git
Immutable infrastructure - Baking AMIs
Engineers
AMI Bakery
Continuous Integration Server
(TeamCity Agenet Cloud)
EC2 base image
configurations and
resources
Shared AMI
Latest Amazon
OS image
Git
Automated
Tests
config.yaml
updated
Future
•  Automatically select last tested AMI image
•  Use lambda to trigger AMI builds based on AMI release
notifications via SNS
•  Failover to secondary region
•  Publish more tools as OSS
–  https://github.com/justeat
@justeat_tech + @rajwilkhu
http://tech.just-eat.com
Yes, we’re recruiting too.
http://tech.just-eat.com/jobs
©2015,  Amazon  Web  Services,  Inc.  or  its  affiliates.  All  rights  reserved
Deployment on the fly
Bruce Jackson – CTO, Myriad Group AG
From IMPS to msngr
database
app server
web server web server web server
...
x16
•  Move from a
mid-2000 carrier
platform to web scale
•  …with 38M users on
16 stacks
•  …in 6 months
•  …with a team of 4
Basic foundations of our approach
Rules
•  OSGi used for all
application stacks
•  Make use of as much
managed infrastructure as
possible
•  Avoid any environment
configuration
•  Make deployment as
familiar as coding
Rationale
•  Rapid creation of services
against interfaces
•  We don’t have any devops
so outsource management
where possible
•  No files/scripts that only one
person understands
•  The team is made up of
developers
What did we do?
•  Created utility libraries
that use code
annotations and AWS
tags for configuration
•  Use Eclipse features
to define bundles to
deploy on systems
What did we do (2) ?
•  Created Eclipse
tooling to manage
deployment & code/
feature checkout
A quick demonstration…
LONDON

Contenu connexe

Tendances

An introduction to terraform
An introduction to terraformAn introduction to terraform
An introduction to terraformJulien Pivotto
 
Getting Started with Amazon WorkSpaces
 Getting Started with Amazon WorkSpaces Getting Started with Amazon WorkSpaces
Getting Started with Amazon WorkSpacesAmazon Web Services
 
Amazon CloudWatch Tutorial | AWS Certification | Cloud Monitoring Tools | AWS...
Amazon CloudWatch Tutorial | AWS Certification | Cloud Monitoring Tools | AWS...Amazon CloudWatch Tutorial | AWS Certification | Cloud Monitoring Tools | AWS...
Amazon CloudWatch Tutorial | AWS Certification | Cloud Monitoring Tools | AWS...Edureka!
 
Continuous Delivery using AWS CodePipeline, AWS Lambda & AWS ElasticBeanstalk
Continuous Delivery using AWS CodePipeline, AWS Lambda & AWS ElasticBeanstalkContinuous Delivery using AWS CodePipeline, AWS Lambda & AWS ElasticBeanstalk
Continuous Delivery using AWS CodePipeline, AWS Lambda & AWS ElasticBeanstalkThomas Shaw
 
CI-CD with AWS Developer Tools and Fargate_AWSPSSummit_Singapore
CI-CD with AWS Developer Tools and Fargate_AWSPSSummit_SingaporeCI-CD with AWS Developer Tools and Fargate_AWSPSSummit_Singapore
CI-CD with AWS Developer Tools and Fargate_AWSPSSummit_SingaporeAmazon Web Services
 
Comprehensive Terraform Training
Comprehensive Terraform TrainingComprehensive Terraform Training
Comprehensive Terraform TrainingYevgeniy Brikman
 
Monitor All Your Things: Amazon CloudWatch in Action with BBC (DEV302) - AWS ...
Monitor All Your Things: Amazon CloudWatch in Action with BBC (DEV302) - AWS ...Monitor All Your Things: Amazon CloudWatch in Action with BBC (DEV302) - AWS ...
Monitor All Your Things: Amazon CloudWatch in Action with BBC (DEV302) - AWS ...Amazon Web Services
 
AWS January 2016 Webinar Series - Introduction to Deploying Applications on AWS
AWS January 2016 Webinar Series - Introduction to Deploying Applications on AWSAWS January 2016 Webinar Series - Introduction to Deploying Applications on AWS
AWS January 2016 Webinar Series - Introduction to Deploying Applications on AWSAmazon Web Services
 
Deep Dive on Amazon EC2 Systems Manager
Deep Dive on Amazon EC2 Systems ManagerDeep Dive on Amazon EC2 Systems Manager
Deep Dive on Amazon EC2 Systems ManagerAmazon Web Services
 
AWS CloudFormation Best Practices
AWS CloudFormation Best PracticesAWS CloudFormation Best Practices
AWS CloudFormation Best PracticesAmazon Web Services
 
Containers on AWS: An Introduction
Containers on AWS: An IntroductionContainers on AWS: An Introduction
Containers on AWS: An IntroductionAmazon Web Services
 
Deep Dive into Amazon ECS & Fargate
Deep Dive into Amazon ECS & FargateDeep Dive into Amazon ECS & Fargate
Deep Dive into Amazon ECS & FargateAmazon Web Services
 

Tendances (20)

AWS Cloud Watch
AWS Cloud WatchAWS Cloud Watch
AWS Cloud Watch
 
An introduction to terraform
An introduction to terraformAn introduction to terraform
An introduction to terraform
 
Getting Started with Amazon WorkSpaces
 Getting Started with Amazon WorkSpaces Getting Started with Amazon WorkSpaces
Getting Started with Amazon WorkSpaces
 
AWS CloudFormation Masterclass
AWS CloudFormation MasterclassAWS CloudFormation Masterclass
AWS CloudFormation Masterclass
 
Introduction to DevOps on AWS
Introduction to DevOps on AWSIntroduction to DevOps on AWS
Introduction to DevOps on AWS
 
Amazon CloudWatch Tutorial | AWS Certification | Cloud Monitoring Tools | AWS...
Amazon CloudWatch Tutorial | AWS Certification | Cloud Monitoring Tools | AWS...Amazon CloudWatch Tutorial | AWS Certification | Cloud Monitoring Tools | AWS...
Amazon CloudWatch Tutorial | AWS Certification | Cloud Monitoring Tools | AWS...
 
infrastructure as code
infrastructure as codeinfrastructure as code
infrastructure as code
 
Deep Dive on AWS Lambda
Deep Dive on AWS LambdaDeep Dive on AWS Lambda
Deep Dive on AWS Lambda
 
Continuous Delivery using AWS CodePipeline, AWS Lambda & AWS ElasticBeanstalk
Continuous Delivery using AWS CodePipeline, AWS Lambda & AWS ElasticBeanstalkContinuous Delivery using AWS CodePipeline, AWS Lambda & AWS ElasticBeanstalk
Continuous Delivery using AWS CodePipeline, AWS Lambda & AWS ElasticBeanstalk
 
CI-CD with AWS Developer Tools and Fargate_AWSPSSummit_Singapore
CI-CD with AWS Developer Tools and Fargate_AWSPSSummit_SingaporeCI-CD with AWS Developer Tools and Fargate_AWSPSSummit_Singapore
CI-CD with AWS Developer Tools and Fargate_AWSPSSummit_Singapore
 
Deep dive into AWS IAM
Deep dive into AWS IAMDeep dive into AWS IAM
Deep dive into AWS IAM
 
DevOps on AWS
DevOps on AWSDevOps on AWS
DevOps on AWS
 
Comprehensive Terraform Training
Comprehensive Terraform TrainingComprehensive Terraform Training
Comprehensive Terraform Training
 
Monitor All Your Things: Amazon CloudWatch in Action with BBC (DEV302) - AWS ...
Monitor All Your Things: Amazon CloudWatch in Action with BBC (DEV302) - AWS ...Monitor All Your Things: Amazon CloudWatch in Action with BBC (DEV302) - AWS ...
Monitor All Your Things: Amazon CloudWatch in Action with BBC (DEV302) - AWS ...
 
AWS January 2016 Webinar Series - Introduction to Deploying Applications on AWS
AWS January 2016 Webinar Series - Introduction to Deploying Applications on AWSAWS January 2016 Webinar Series - Introduction to Deploying Applications on AWS
AWS January 2016 Webinar Series - Introduction to Deploying Applications on AWS
 
Deep Dive on Amazon EC2 Systems Manager
Deep Dive on Amazon EC2 Systems ManagerDeep Dive on Amazon EC2 Systems Manager
Deep Dive on Amazon EC2 Systems Manager
 
AWS CloudFormation Best Practices
AWS CloudFormation Best PracticesAWS CloudFormation Best Practices
AWS CloudFormation Best Practices
 
Amazon Cognito
Amazon CognitoAmazon Cognito
Amazon Cognito
 
Containers on AWS: An Introduction
Containers on AWS: An IntroductionContainers on AWS: An Introduction
Containers on AWS: An Introduction
 
Deep Dive into Amazon ECS & Fargate
Deep Dive into Amazon ECS & FargateDeep Dive into Amazon ECS & Fargate
Deep Dive into Amazon ECS & Fargate
 

En vedette

Infrastructure as Code (BBWorld/DevCon13)
Infrastructure as Code (BBWorld/DevCon13)Infrastructure as Code (BBWorld/DevCon13)
Infrastructure as Code (BBWorld/DevCon13)Mike McGarr
 
(DVO401) Deep Dive into Blue/Green Deployments on AWS
(DVO401) Deep Dive into Blue/Green Deployments on AWS(DVO401) Deep Dive into Blue/Green Deployments on AWS
(DVO401) Deep Dive into Blue/Green Deployments on AWSAmazon Web Services
 
Infrastructure as code
Infrastructure as codeInfrastructure as code
Infrastructure as codeAxel Quack
 
Deep Dive: Infrastructure as Code
Deep Dive: Infrastructure as CodeDeep Dive: Infrastructure as Code
Deep Dive: Infrastructure as CodeAmazon Web Services
 
(SDD408) Amazon Route 53 Deep Dive: Delivering Resiliency, Minimizing Latency...
(SDD408) Amazon Route 53 Deep Dive: Delivering Resiliency, Minimizing Latency...(SDD408) Amazon Route 53 Deep Dive: Delivering Resiliency, Minimizing Latency...
(SDD408) Amazon Route 53 Deep Dive: Delivering Resiliency, Minimizing Latency...Amazon Web Services
 
Continuous Delivery using blue-green deployments and immutable infrastructure...
Continuous Delivery using blue-green deployments and immutable infrastructure...Continuous Delivery using blue-green deployments and immutable infrastructure...
Continuous Delivery using blue-green deployments and immutable infrastructure...Rubén Rubio Rey
 
Immutable infrastructure & Micro Services
Immutable infrastructure & Micro ServicesImmutable infrastructure & Micro Services
Immutable infrastructure & Micro ServicesTomer Paz
 
Quelle métrique pour fédérer Dev & Ops ?
Quelle métrique pour fédérer Dev & Ops ? Quelle métrique pour fédérer Dev & Ops ?
Quelle métrique pour fédérer Dev & Ops ? Jacky Galicher
 
Infra-as-Code and Enterprise ITSM Governance - ChefConf 2015
Infra-as-Code and Enterprise ITSM Governance - ChefConf 2015Infra-as-Code and Enterprise ITSM Governance - ChefConf 2015
Infra-as-Code and Enterprise ITSM Governance - ChefConf 2015Chef
 
Let's Code our Infrastructure!
Let's Code our Infrastructure!Let's Code our Infrastructure!
Let's Code our Infrastructure!continuousphp
 
DevOps: Building by feature with immutable infrastructure at Serv.sg
DevOps: Building by feature with immutable infrastructure at Serv.sgDevOps: Building by feature with immutable infrastructure at Serv.sg
DevOps: Building by feature with immutable infrastructure at Serv.sgNicolas Mas
 
Le DevOps : La clé de la transformation digitale ?
Le DevOps : La clé de la transformation digitale ?Le DevOps : La clé de la transformation digitale ?
Le DevOps : La clé de la transformation digitale ?Amico Fabien
 
Mastering the fundamentals of AWS billing 8-20-15
Mastering the fundamentals of AWS billing 8-20-15Mastering the fundamentals of AWS billing 8-20-15
Mastering the fundamentals of AWS billing 8-20-15Cloudability
 
Amazon Redshift (February 2016)
Amazon Redshift (February 2016)Amazon Redshift (February 2016)
Amazon Redshift (February 2016)Julien SIMON
 
CI and CD Across the Enterprise with Jenkins (devops.com Nov 2014)
CI and CD Across the Enterprise with Jenkins (devops.com Nov 2014)CI and CD Across the Enterprise with Jenkins (devops.com Nov 2014)
CI and CD Across the Enterprise with Jenkins (devops.com Nov 2014)CloudBees
 
Building a data warehouse with Amazon Redshift … and a quick look at Amazon ...
Building a data warehouse  with Amazon Redshift … and a quick look at Amazon ...Building a data warehouse  with Amazon Redshift … and a quick look at Amazon ...
Building a data warehouse with Amazon Redshift … and a quick look at Amazon ...Julien SIMON
 
AWS CloudFormation (February 2016)
AWS CloudFormation (February 2016)AWS CloudFormation (February 2016)
AWS CloudFormation (February 2016)Julien SIMON
 
RMG205 Decoding Your AWS Bill - - AWS re: Invent 2012
RMG205 Decoding Your AWS Bill - - AWS re: Invent 2012RMG205 Decoding Your AWS Bill - - AWS re: Invent 2012
RMG205 Decoding Your AWS Bill - - AWS re: Invent 2012Amazon Web Services
 
Pushing the DevOps envelope into the network with microservices
Pushing the DevOps envelope into the network with microservicesPushing the DevOps envelope into the network with microservices
Pushing the DevOps envelope into the network with microservicesLori MacVittie
 

En vedette (20)

Infrastructure as Code (BBWorld/DevCon13)
Infrastructure as Code (BBWorld/DevCon13)Infrastructure as Code (BBWorld/DevCon13)
Infrastructure as Code (BBWorld/DevCon13)
 
(DVO401) Deep Dive into Blue/Green Deployments on AWS
(DVO401) Deep Dive into Blue/Green Deployments on AWS(DVO401) Deep Dive into Blue/Green Deployments on AWS
(DVO401) Deep Dive into Blue/Green Deployments on AWS
 
Infrastructure as code
Infrastructure as codeInfrastructure as code
Infrastructure as code
 
Deep Dive: Infrastructure as Code
Deep Dive: Infrastructure as CodeDeep Dive: Infrastructure as Code
Deep Dive: Infrastructure as Code
 
(SDD408) Amazon Route 53 Deep Dive: Delivering Resiliency, Minimizing Latency...
(SDD408) Amazon Route 53 Deep Dive: Delivering Resiliency, Minimizing Latency...(SDD408) Amazon Route 53 Deep Dive: Delivering Resiliency, Minimizing Latency...
(SDD408) Amazon Route 53 Deep Dive: Delivering Resiliency, Minimizing Latency...
 
Forrester Infra as code TLP_April2015
Forrester Infra as code TLP_April2015Forrester Infra as code TLP_April2015
Forrester Infra as code TLP_April2015
 
Continuous Delivery using blue-green deployments and immutable infrastructure...
Continuous Delivery using blue-green deployments and immutable infrastructure...Continuous Delivery using blue-green deployments and immutable infrastructure...
Continuous Delivery using blue-green deployments and immutable infrastructure...
 
Immutable infrastructure & Micro Services
Immutable infrastructure & Micro ServicesImmutable infrastructure & Micro Services
Immutable infrastructure & Micro Services
 
Quelle métrique pour fédérer Dev & Ops ?
Quelle métrique pour fédérer Dev & Ops ? Quelle métrique pour fédérer Dev & Ops ?
Quelle métrique pour fédérer Dev & Ops ?
 
Infra-as-Code and Enterprise ITSM Governance - ChefConf 2015
Infra-as-Code and Enterprise ITSM Governance - ChefConf 2015Infra-as-Code and Enterprise ITSM Governance - ChefConf 2015
Infra-as-Code and Enterprise ITSM Governance - ChefConf 2015
 
Let's Code our Infrastructure!
Let's Code our Infrastructure!Let's Code our Infrastructure!
Let's Code our Infrastructure!
 
DevOps: Building by feature with immutable infrastructure at Serv.sg
DevOps: Building by feature with immutable infrastructure at Serv.sgDevOps: Building by feature with immutable infrastructure at Serv.sg
DevOps: Building by feature with immutable infrastructure at Serv.sg
 
Le DevOps : La clé de la transformation digitale ?
Le DevOps : La clé de la transformation digitale ?Le DevOps : La clé de la transformation digitale ?
Le DevOps : La clé de la transformation digitale ?
 
Mastering the fundamentals of AWS billing 8-20-15
Mastering the fundamentals of AWS billing 8-20-15Mastering the fundamentals of AWS billing 8-20-15
Mastering the fundamentals of AWS billing 8-20-15
 
Amazon Redshift (February 2016)
Amazon Redshift (February 2016)Amazon Redshift (February 2016)
Amazon Redshift (February 2016)
 
CI and CD Across the Enterprise with Jenkins (devops.com Nov 2014)
CI and CD Across the Enterprise with Jenkins (devops.com Nov 2014)CI and CD Across the Enterprise with Jenkins (devops.com Nov 2014)
CI and CD Across the Enterprise with Jenkins (devops.com Nov 2014)
 
Building a data warehouse with Amazon Redshift … and a quick look at Amazon ...
Building a data warehouse  with Amazon Redshift … and a quick look at Amazon ...Building a data warehouse  with Amazon Redshift … and a quick look at Amazon ...
Building a data warehouse with Amazon Redshift … and a quick look at Amazon ...
 
AWS CloudFormation (February 2016)
AWS CloudFormation (February 2016)AWS CloudFormation (February 2016)
AWS CloudFormation (February 2016)
 
RMG205 Decoding Your AWS Bill - - AWS re: Invent 2012
RMG205 Decoding Your AWS Bill - - AWS re: Invent 2012RMG205 Decoding Your AWS Bill - - AWS re: Invent 2012
RMG205 Decoding Your AWS Bill - - AWS re: Invent 2012
 
Pushing the DevOps envelope into the network with microservices
Pushing the DevOps envelope into the network with microservicesPushing the DevOps envelope into the network with microservices
Pushing the DevOps envelope into the network with microservices
 

Similaire à Deep Dive - Infrastructure as Code

AWS May Webinar Series - Deep Dive: Infrastructure as Code
AWS May Webinar Series - Deep Dive: Infrastructure as CodeAWS May Webinar Series - Deep Dive: Infrastructure as Code
AWS May Webinar Series - Deep Dive: Infrastructure as CodeAmazon Web Services
 
Deep Dive: Infrastructure as Code
Deep Dive: Infrastructure as CodeDeep Dive: Infrastructure as Code
Deep Dive: Infrastructure as CodeAmazon Web Services
 
Deep Dive: Infrastructure as Code
Deep Dive: Infrastructure as CodeDeep Dive: Infrastructure as Code
Deep Dive: Infrastructure as CodeAmazon Web Services
 
Automating your Infrastructure Deployment with AWS CloudFormation and AWS Ops...
Automating your Infrastructure Deployment with AWS CloudFormation and AWS Ops...Automating your Infrastructure Deployment with AWS CloudFormation and AWS Ops...
Automating your Infrastructure Deployment with AWS CloudFormation and AWS Ops...Amazon Web Services
 
Managing the Life Cycle of IT Products
Managing the Life Cycle of IT ProductsManaging the Life Cycle of IT Products
Managing the Life Cycle of IT ProductsAmazon Web Services
 
Automating your Infrastructure Deployment with CloudFormation and OpsWorks –...
 Automating your Infrastructure Deployment with CloudFormation and OpsWorks –... Automating your Infrastructure Deployment with CloudFormation and OpsWorks –...
Automating your Infrastructure Deployment with CloudFormation and OpsWorks –...Amazon Web Services
 
AWS Infrastructure as Code - September 2016 Webinar Series
AWS Infrastructure as Code - September 2016 Webinar SeriesAWS Infrastructure as Code - September 2016 Webinar Series
AWS Infrastructure as Code - September 2016 Webinar SeriesAmazon Web Services
 
AWS CloudFormation: Infrastructure as Code | AWS Public Sector Summit 2016
AWS CloudFormation: Infrastructure as Code | AWS Public Sector Summit 2016AWS CloudFormation: Infrastructure as Code | AWS Public Sector Summit 2016
AWS CloudFormation: Infrastructure as Code | AWS Public Sector Summit 2016Amazon Web Services
 
(DVO304) AWS CloudFormation Best Practices
(DVO304) AWS CloudFormation Best Practices(DVO304) AWS CloudFormation Best Practices
(DVO304) AWS CloudFormation Best PracticesAmazon Web Services
 
AWS Presents: Infrastructure as Code on AWS - ChefConf 2015
AWS Presents: Infrastructure as Code on AWS - ChefConf 2015AWS Presents: Infrastructure as Code on AWS - ChefConf 2015
AWS Presents: Infrastructure as Code on AWS - ChefConf 2015Chef
 
Managing Your Infrastructure as Code by Travis Williams, Solutions Architect,...
Managing Your Infrastructure as Code by Travis Williams, Solutions Architect,...Managing Your Infrastructure as Code by Travis Williams, Solutions Architect,...
Managing Your Infrastructure as Code by Travis Williams, Solutions Architect,...Amazon Web Services
 
Managing Your Infrastructure as Code
Managing Your Infrastructure as CodeManaging Your Infrastructure as Code
Managing Your Infrastructure as CodeAmazon Web Services
 
2013 05-openstack-israel-heat
2013 05-openstack-israel-heat2013 05-openstack-israel-heat
2013 05-openstack-israel-heatAlex Heneveld
 
DevOps for the Enterprise: Virtual Office Hours
DevOps for the Enterprise: Virtual Office HoursDevOps for the Enterprise: Virtual Office Hours
DevOps for the Enterprise: Virtual Office HoursAmazon Web Services
 
Masterclass Webinar - AWS CloudFormation
Masterclass Webinar - AWS CloudFormationMasterclass Webinar - AWS CloudFormation
Masterclass Webinar - AWS CloudFormationAmazon Web Services
 
Self Service Agile Infrastructure for Product Teams - Pop-up Loft Tel Aviv
Self Service Agile Infrastructure for Product Teams - Pop-up Loft Tel AvivSelf Service Agile Infrastructure for Product Teams - Pop-up Loft Tel Aviv
Self Service Agile Infrastructure for Product Teams - Pop-up Loft Tel AvivAmazon Web Services
 
Scalable and Fault-Tolerant Apps with AWS
Scalable and Fault-Tolerant Apps with AWSScalable and Fault-Tolerant Apps with AWS
Scalable and Fault-Tolerant Apps with AWSFernando Rodriguez
 
Deployment and Management on AWS:
 A Deep Dive on Options and Tools
Deployment and Management on AWS:
 A Deep Dive on Options and ToolsDeployment and Management on AWS:
 A Deep Dive on Options and Tools
Deployment and Management on AWS:
 A Deep Dive on Options and ToolsDanilo Poccia
 
Dev & Test on AWS Webinar October 2017 - IL Webinar
Dev & Test on AWS Webinar October 2017 - IL WebinarDev & Test on AWS Webinar October 2017 - IL Webinar
Dev & Test on AWS Webinar October 2017 - IL WebinarAmazon Web Services
 

Similaire à Deep Dive - Infrastructure as Code (20)

AWS May Webinar Series - Deep Dive: Infrastructure as Code
AWS May Webinar Series - Deep Dive: Infrastructure as CodeAWS May Webinar Series - Deep Dive: Infrastructure as Code
AWS May Webinar Series - Deep Dive: Infrastructure as Code
 
Deep Dive: Infrastructure as Code
Deep Dive: Infrastructure as CodeDeep Dive: Infrastructure as Code
Deep Dive: Infrastructure as Code
 
Deep Dive: Infrastructure as Code
Deep Dive: Infrastructure as CodeDeep Dive: Infrastructure as Code
Deep Dive: Infrastructure as Code
 
Automating your Infrastructure Deployment with AWS CloudFormation and AWS Ops...
Automating your Infrastructure Deployment with AWS CloudFormation and AWS Ops...Automating your Infrastructure Deployment with AWS CloudFormation and AWS Ops...
Automating your Infrastructure Deployment with AWS CloudFormation and AWS Ops...
 
Managing the Life Cycle of IT Products
Managing the Life Cycle of IT ProductsManaging the Life Cycle of IT Products
Managing the Life Cycle of IT Products
 
Automating your Infrastructure Deployment with CloudFormation and OpsWorks –...
 Automating your Infrastructure Deployment with CloudFormation and OpsWorks –... Automating your Infrastructure Deployment with CloudFormation and OpsWorks –...
Automating your Infrastructure Deployment with CloudFormation and OpsWorks –...
 
Infrastructure as Code
Infrastructure as CodeInfrastructure as Code
Infrastructure as Code
 
AWS Infrastructure as Code - September 2016 Webinar Series
AWS Infrastructure as Code - September 2016 Webinar SeriesAWS Infrastructure as Code - September 2016 Webinar Series
AWS Infrastructure as Code - September 2016 Webinar Series
 
AWS CloudFormation: Infrastructure as Code | AWS Public Sector Summit 2016
AWS CloudFormation: Infrastructure as Code | AWS Public Sector Summit 2016AWS CloudFormation: Infrastructure as Code | AWS Public Sector Summit 2016
AWS CloudFormation: Infrastructure as Code | AWS Public Sector Summit 2016
 
(DVO304) AWS CloudFormation Best Practices
(DVO304) AWS CloudFormation Best Practices(DVO304) AWS CloudFormation Best Practices
(DVO304) AWS CloudFormation Best Practices
 
AWS Presents: Infrastructure as Code on AWS - ChefConf 2015
AWS Presents: Infrastructure as Code on AWS - ChefConf 2015AWS Presents: Infrastructure as Code on AWS - ChefConf 2015
AWS Presents: Infrastructure as Code on AWS - ChefConf 2015
 
Managing Your Infrastructure as Code by Travis Williams, Solutions Architect,...
Managing Your Infrastructure as Code by Travis Williams, Solutions Architect,...Managing Your Infrastructure as Code by Travis Williams, Solutions Architect,...
Managing Your Infrastructure as Code by Travis Williams, Solutions Architect,...
 
Managing Your Infrastructure as Code
Managing Your Infrastructure as CodeManaging Your Infrastructure as Code
Managing Your Infrastructure as Code
 
2013 05-openstack-israel-heat
2013 05-openstack-israel-heat2013 05-openstack-israel-heat
2013 05-openstack-israel-heat
 
DevOps for the Enterprise: Virtual Office Hours
DevOps for the Enterprise: Virtual Office HoursDevOps for the Enterprise: Virtual Office Hours
DevOps for the Enterprise: Virtual Office Hours
 
Masterclass Webinar - AWS CloudFormation
Masterclass Webinar - AWS CloudFormationMasterclass Webinar - AWS CloudFormation
Masterclass Webinar - AWS CloudFormation
 
Self Service Agile Infrastructure for Product Teams - Pop-up Loft Tel Aviv
Self Service Agile Infrastructure for Product Teams - Pop-up Loft Tel AvivSelf Service Agile Infrastructure for Product Teams - Pop-up Loft Tel Aviv
Self Service Agile Infrastructure for Product Teams - Pop-up Loft Tel Aviv
 
Scalable and Fault-Tolerant Apps with AWS
Scalable and Fault-Tolerant Apps with AWSScalable and Fault-Tolerant Apps with AWS
Scalable and Fault-Tolerant Apps with AWS
 
Deployment and Management on AWS:
 A Deep Dive on Options and Tools
Deployment and Management on AWS:
 A Deep Dive on Options and ToolsDeployment and Management on AWS:
 A Deep Dive on Options and Tools
Deployment and Management on AWS:
 A Deep Dive on Options and Tools
 
Dev & Test on AWS Webinar October 2017 - IL Webinar
Dev & Test on AWS Webinar October 2017 - IL WebinarDev & Test on AWS Webinar October 2017 - IL Webinar
Dev & Test on AWS Webinar October 2017 - IL Webinar
 

Plus de Amazon Web Services

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Amazon Web Services
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Amazon Web Services
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateAmazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSAmazon Web Services
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Amazon Web Services
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Amazon Web Services
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...Amazon Web Services
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsAmazon Web Services
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareAmazon Web Services
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSAmazon Web Services
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAmazon Web Services
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareAmazon Web Services
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWSAmazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckAmazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...Amazon Web Services
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceAmazon Web Services
 

Plus de Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Dernier

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 

Dernier (20)

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 

Deep Dive - Infrastructure as Code

  • 1. ©2015,  Amazon  Web  Services,  Inc.  or  its  affiliates.  All  rights  reserved Deep Dive: Infrastructure as Code Steven Bryen – Solutions Architect, AWS Raj Wilkhu – Principal Engineer, JUST EAT Bruce Jackson – CTO, Myriad Group AG
  • 2. You are on-board … needs to experiment, innovate, reduce risk Business of services and applications Continuous Delivery culture, automation, measurement, sharing DevOps infrastructure-as-code Cloud
  • 3. AWS CloudFormation •  Create templates of the infrastructure and applications you want to run on AWS •  Have the CloudFormation service automatically provision the required AWS resources and their relationships from the templates •  Easily version control, replicate or update the infrastructure and applications using the templates •  Integrates with other development, CI/CD, and management tools.
  • 4. Create template – Example web application security group Auto Scaling group EC2 instance Elastic Load Balancing DB Service Inventory Service Recommendations Service ElastiCache memcached cluster Software pkgs, config, & dataCloudWatch alarms
  • 5. Create template – Resources security group Auto Scaling group EC2 instance Elastic Load Balancing ElastiCache memcached cluster Software pkgs, config, & dataCloudWatch alarms   "Resources"  :  {          "SecurityGroup"  :  {},          "WebServerGroup"  :  {                  "Type"  :  "AWS::AutoScaling::AutoScalingGroup",                  "Properties"  :  {                          "MinSize"  :  "1",                          "MaxSize"  :  "3",                          "LoadBalancerNames"  :  [  {  "Ref"  :   "LoadBalancer"  }  ],                          ...                  }          },          "LoadBalancer"  :  {},          "CacheCluster"  :  {},          "Alarm"  :  {}   },   CloudFormation  Template  
  • 6. Create template – Parameters Auto Scaling group EC2 instance Recommendation s Service Inventory Service Customer DB Service Info to Customize Stack at Creation. Examples: Instance Type, App Pkg Version "Parameters"  :  {          "CustomerDBServiceEndPoint"  :  {                  "Description"  :  "URL  of  the  Customer  DB  Service",                  "Type"  :  "String"          },          "CustomerDBServiceKey"  :  {                  "Description"  :  "API  key  for  the  Customer  DB   Service",                  "Type"  :  "String",                  "NoEcho"  :  "true"          },          "InstanceType"  :  {                  "Description"  :  "WebServer  EC2  instance  type",                  "Type"  :  "String",                  "Default"  :  "m3.medium",                  "AllowedValues"  :   ["m3.medium","m3.large","m3.xlarge"],                  "ConstraintDescription"  :  "Must  be  a  valid   instance  type"   CloudFormation  Template  
  • 7. Create template – Outputs Elastic Load Balancing   "Resources"  :  {          "LoadBalancer"  :  {},          ...   },   "Outputs"  :  {          "WebsiteDNSName"  :  {                  "Description"  :  "The  DNS  name  of  the  website",                  "Value"  :    {                          "Fn::GetAtt"  :  [  "LoadBalancer",  "DNSName"  ]                  }          }   }     CloudFormation  Template  
  • 8. Create template – Deploy and configure software Auto Scaling group EC2 instance Software pkgs, config, & data   "AWS::CloudFormation::Init":  {          "webapp-­‐config":  {                  "packages"  :  {},  "sources"  :  {},  "files"  :  {},                  "groups"  :  {},  "users"  :  {},                  "commands"  :  {},  "services"  :  {}    },            "chef-­‐config"  :  {}   }     CloudFormation  Template   ü  Declarative ü  Debug-able ü  Updatable ü  Highly Secure ü  BIOT™ Bring In Other Tools
  • 9. Create template – Language features
  • 10. Use a wide range of AWS services ü  Auto Scaling ü  Amazon CloudFront ü  AWS CloudTrail ü  AWS CloudWatch ü  Amazon DynamoDB ü  Amazon EC2 ü  Amazon ElastiCache ü  AWS Elastic Beanstalk ü  AWS Elastic Load Balancing ü  Amazon Kinesis ü  AWS Identity and Access Mgmt ü  AWS OpsWorks ü  Amazon RDS ü  Amazon Redshift ü  Amazon Route 53 ü  Amazon S3 ü  Amazon SimpleDB ü  Amazon SNS ü  Amazon SQS ü  Amazon VPC and more … As of April 2015
  • 11. Nested CloudFormation Stacks "myStackWithParams" : { "Type" : "AWS::CloudFormation::Stack", "Properties" : { "TemplateURL" : "https://s3.amazonaws.com/template-bucket/mystack.template", ”Parameters" : { "InstanceType" : "t1.micro", "KeyName" : "mykey" } } } Pass parameters to nested CloudFormation Stacks
  • 13. Update stack In-place Blue-Green Faster Cost-efficient Simpler state and data migration Working stack not touched
  • 15. Extend with Custom Resources security group Auto Scaling group EC2 instance Elastic Load Balancing ElastiCache memcached cluster Software pkgs, config, & dataCloudWatch alarms Web Analytics Service AWS CloudFormation Provision AWS Resources "Resources"  :  {          "WebAnalyticsTrackingID"  :  {                  "Type"  :  "Custom::WebAnalyticsService::TrackingID",                  "Properties"  :  {                          "ServiceToken"  :  "arn:aws:sns:...",                          "Target"  :  {"Fn::GetAtt"  :  ["LoadBalancer",  "DNSName"]},                          "Plan"  :  "Gold"                  }          },   ...   “Success” + Metadata “Create, Update, Rollback, or Delete” + Metadata
  • 16. Lambda-powered custom resources security group Auto Scaling group EC2 instance Elastic Load Balancing ElastiCache memcached cluster Software pkgs, config, & dataCloudWatch alarms // Implement Custom Logic Here Lookup an AMI ID Lookup VPC ID and Subnet ID Reverse an IP Address
  • 18. Infrastructure Lifecycle EC2 SQS, SNS, Kinesis, etc. Databases VPC IAM Application Lifecycle Download Packages, Install Software, Configure Apps, Bootstrap Apps, Update Software, Restart Apps, etc. CloudFormation • Templatize • Replicate • Automate
  • 19. AWS::CloudFormation::Init "AWS::CloudFormation::Init": { "webapp-config": { "packages" : {}, "sources" : {}, "files" : {}, "groups" : {}, "users" : {}, "commands" : {}, "services" : {} Declarative
  • 20. AWS::CloudFormation::Init Supports updates "packages" : {}, "sources" : {}, "files" : {}, "groups" : {}, "users" : {}, "commands" : {}, "services" : {}
  • 21. AWS::CloudFormation::Init "install_chef" : {}, "install_wordpress" : { "commands" : { "01_get_cookbook" : {}, ..., "05_configure_node_run_list" : { "command" : "knife node run_list add -z `knife node list -z` recipe[wordpress]", "cwd" : "/var/chef/chef-repo", "env" : { "HOME" : "/var/chef" } Flexibility to bring in other tools such as AWS CodeDeploy and Chef ow.ly/DiNkz
  • 22. Use AWS::CloudFormation::Init "UserData": { "# Get the latest CloudFormation helper scripts packagen", "yum update -y aws-cfn-bootstrapn", "# Trigger CloudFormation::Init configuration n", "/opt/aws/bin/cfn-init --stack ", {"Ref": "AWS::StackId"}, " --resource WebServerInstance ", " --region ", {"Ref": "AWS::Region"}, "n", "# Signal completionn", "/opt/aws/bin/cfn-signal –e $? --stack ", {"Ref": "AWS::StackId"}, " --resource WebServerInstance ", " --region ", {"Ref": "AWS::Region"}, "n"
  • 23. Use CloudWatch Logs for debugging "install_logs": { "packages" : { ... "awslogs" ... }, "services" : { ... "awslogs" ... } "files": { "/tmp/cwlogs/cfn-logs.conf": {} file = /var/log/cfn-init.log log_stream_name = {instance_id}/cfn-init.log file = /var/log/cfn-hup.log log_stream_name = {instance_id}/cfn-hup.log ow.ly/E0zO3
  • 24. Use CloudWatch Logs for debugging ow.ly/E0zO3
  • 25. Wait Conditions & DependsOn
  • 26. Example Wait for EC2 instance to signal success "Ec2Instance" : { "Type" : "AWS::EC2::Instance", "Properties" : { "UserData" : { "Fn::Base64" : {"Ref" : "myWaitHandle"}}, "ImageId" : { "Fn::FindInMap" : [ "RegionMap", { "Ref" : "AWS::Region" }, "AMI" ]} } },
  • 27. Example "myWaitHandle" : { "Type" : "AWS::CloudFormation::WaitConditionHandle", }, "myWaitCondition" : { "Type" : "AWS::CloudFormation::WaitCondition", "DependsOn" : "Ec2Instance", "Properties" : { "Handle" : { "Ref" : "myWaitHandle" }, "Timeout" : "4500" } } Wait for EC2 instance to signal success
  • 29. CloudFormation in a CI/CD Pipeline AWS     CloudFormation  Issue  Tracker   App  Developers   DevOps  Engineers,   Infrastructure  Developers,   Systems  Engineers     Dev  Env   Code  Repo   App  Pkgs,     CloudFormation   Templates,  Etc.   CI  Server   Test   Staging   Prod  Code  Review   "Infra-­‐as-­‐Code"   App  Code     &  Templates  
  • 31. ©2015,  Amazon  Web  Services,  Inc.  or  its  affiliates.  All  rights  reserved Continuous Integration and Deployment Raj Wilkhu – Principal Engineer, JUST EAT
  • 32. JUST EAT Platform •  High volume e-commerce platform •  45-60 minutes cycle •  Real time message delivery and confirmation network •  Hardware in 22,500 restaurants in the UK, 40,800 worldwide •  Peak traffic is 10,000% of normal daytime traffic •  3 cities •  Over 130 releases a month •  Primarily Windows
  • 33. Building reliable and high quality software •  Test-Driven Development, Continuous Deployment and Immutable Infrastructure •  Every part of the infrastructure replaced several times a day •  Incentive to continuously speed up deployment process
  • 34. Deploying components •  Platform decomposed into components •  Each component defined by single AWS Cloudformation template •  Single Build Artifact •  Instances boot and bootstrap themselves from •  pre-baked AMI •  Content in S3 based on Cloudformation::Init metadata
  • 35. Pre-baked AMI vs Dynamic config •  System dependencies (eg OS features, .NET, ruby, gems, etc) •  Static configurations •  Continuous Deployment (latest code) •  Environment specific configuration •  Automation to deploy feature Increasing Boot time •  Unzip package •  Install and configure dependencies •  Execute deployment script(s) •  Warm up feature •  Tagged by deployment scripts •  Baked via CI pipeline •  Tested and tagged Pre-baked AMI CloudFormation::Init
  • 36. Cloudformation template generation •  Single json from multiple yaml and erb files •  Similar to HTML templating engines •  Organized by component •  Convention over configuration "<%= @feature_name %>_pre_deploy": { "commands": { <% cmd_prefix = 250 services_to_disable = %w(aelookupsvc bits scdeviceenum trustedinstaller wuauserv) services_to_disable.each do |service_name| %> "<%= cmd_prefix %>_<%= @feature_name %>_stop_<%= service_name %>_service_because_unnecessary": { "waitAfterCompletion": "0", "command": "powershell -noninteractive -noprofile -command "& { stop-service - Name <%= service_name %> -verbose }"", --- :feature_config: :ami_id: ami-c99544ef :elb: true :use_logging_client: true :elb_dns: true :parameters: :ElbTarget: "HTTP:80/status" :AsgDesiredSizeDuringPeakTime: 10 :InstanceType: c4.xlarge Example yaml: Example json.erb template: { Master
  • 37. Immutable infrastructure - Cloudformation Engineers configs in yaml, template extensions in json.erb + master Tests in QA environment Engineers Component code Continuous Integration Server (TeamCity Agent Cloud) Build & Test Pipeline Artifact JustDeploy Production/QA EC2 Web/worker roles Route 53 Rooms Artifact Git Git
  • 38. Immutable infrastructure - Baking AMIs Engineers AMI Bakery Continuous Integration Server (TeamCity Agenet Cloud) EC2 base image configurations and resources Shared AMI Latest Amazon OS image Git Automated Tests config.yaml updated
  • 39. Future •  Automatically select last tested AMI image •  Use lambda to trigger AMI builds based on AMI release notifications via SNS •  Failover to secondary region •  Publish more tools as OSS –  https://github.com/justeat
  • 40. @justeat_tech + @rajwilkhu http://tech.just-eat.com Yes, we’re recruiting too. http://tech.just-eat.com/jobs
  • 41. ©2015,  Amazon  Web  Services,  Inc.  or  its  affiliates.  All  rights  reserved Deployment on the fly Bruce Jackson – CTO, Myriad Group AG
  • 42. From IMPS to msngr database app server web server web server web server ... x16 •  Move from a mid-2000 carrier platform to web scale •  …with 38M users on 16 stacks •  …in 6 months •  …with a team of 4
  • 43. Basic foundations of our approach Rules •  OSGi used for all application stacks •  Make use of as much managed infrastructure as possible •  Avoid any environment configuration •  Make deployment as familiar as coding Rationale •  Rapid creation of services against interfaces •  We don’t have any devops so outsource management where possible •  No files/scripts that only one person understands •  The team is made up of developers
  • 44. What did we do? •  Created utility libraries that use code annotations and AWS tags for configuration •  Use Eclipse features to define bundles to deploy on systems
  • 45. What did we do (2) ? •  Created Eclipse tooling to manage deployment & code/ feature checkout