SlideShare a Scribd company logo
1 of 47
Download to read offline
©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

More Related Content

What's hot

10 Best Practices for Reducing Spend in Azure
10 Best Practices for Reducing Spend in Azure10 Best Practices for Reducing Spend in Azure
10 Best Practices for Reducing Spend in AzureVAST
 
CI/CD Pipeline as a Code using Jenkins 2
CI/CD Pipeline as a Code using Jenkins 2CI/CD Pipeline as a Code using Jenkins 2
CI/CD Pipeline as a Code using Jenkins 2Mayank Patel
 
Anatomy of a Continuous Integration and Delivery (CICD) Pipeline
Anatomy of a Continuous Integration and Delivery (CICD) PipelineAnatomy of a Continuous Integration and Delivery (CICD) Pipeline
Anatomy of a Continuous Integration and Delivery (CICD) PipelineRobert McDermott
 
Using Azure DevOps to continuously build, test, and deploy containerized appl...
Using Azure DevOps to continuously build, test, and deploy containerized appl...Using Azure DevOps to continuously build, test, and deploy containerized appl...
Using Azure DevOps to continuously build, test, and deploy containerized appl...Adrian Todorov
 
VMware Tanzu Introduction
VMware Tanzu IntroductionVMware Tanzu Introduction
VMware Tanzu IntroductionVMware Tanzu
 
About DevOps in simple steps
About DevOps in simple stepsAbout DevOps in simple steps
About DevOps in simple stepsIhor Odynets
 
Devops On Cloud Powerpoint Template Slides Powerpoint Presentation Slides
Devops On Cloud Powerpoint Template Slides Powerpoint Presentation SlidesDevops On Cloud Powerpoint Template Slides Powerpoint Presentation Slides
Devops On Cloud Powerpoint Template Slides Powerpoint Presentation SlidesSlideTeam
 
Modern CI/CD Pipeline Using Azure DevOps
Modern CI/CD Pipeline Using Azure DevOpsModern CI/CD Pipeline Using Azure DevOps
Modern CI/CD Pipeline Using Azure DevOpsGlobalLogic Ukraine
 
Getting Started with Infrastructure as Code
Getting Started with Infrastructure as CodeGetting Started with Infrastructure as Code
Getting Started with Infrastructure as CodeWinWire Technologies Inc
 
Kubernetes Architecture
 Kubernetes Architecture Kubernetes Architecture
Kubernetes ArchitectureKnoldus Inc.
 
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...Edureka!
 
Microservice vs. Monolithic Architecture
Microservice vs. Monolithic ArchitectureMicroservice vs. Monolithic Architecture
Microservice vs. Monolithic ArchitecturePaul Mooney
 
DevOps 101 - an Introduction to DevOps
DevOps 101  - an Introduction to DevOpsDevOps 101  - an Introduction to DevOps
DevOps 101 - an Introduction to DevOpsRed Gate Software
 

What's hot (20)

10 Best Practices for Reducing Spend in Azure
10 Best Practices for Reducing Spend in Azure10 Best Practices for Reducing Spend in Azure
10 Best Practices for Reducing Spend in Azure
 
CI/CD Pipeline as a Code using Jenkins 2
CI/CD Pipeline as a Code using Jenkins 2CI/CD Pipeline as a Code using Jenkins 2
CI/CD Pipeline as a Code using Jenkins 2
 
Anatomy of a Continuous Integration and Delivery (CICD) Pipeline
Anatomy of a Continuous Integration and Delivery (CICD) PipelineAnatomy of a Continuous Integration and Delivery (CICD) Pipeline
Anatomy of a Continuous Integration and Delivery (CICD) Pipeline
 
Using Azure DevOps to continuously build, test, and deploy containerized appl...
Using Azure DevOps to continuously build, test, and deploy containerized appl...Using Azure DevOps to continuously build, test, and deploy containerized appl...
Using Azure DevOps to continuously build, test, and deploy containerized appl...
 
VMware Tanzu Introduction
VMware Tanzu IntroductionVMware Tanzu Introduction
VMware Tanzu Introduction
 
About DevOps in simple steps
About DevOps in simple stepsAbout DevOps in simple steps
About DevOps in simple steps
 
Devops On Cloud Powerpoint Template Slides Powerpoint Presentation Slides
Devops On Cloud Powerpoint Template Slides Powerpoint Presentation SlidesDevops On Cloud Powerpoint Template Slides Powerpoint Presentation Slides
Devops On Cloud Powerpoint Template Slides Powerpoint Presentation Slides
 
Modern CI/CD Pipeline Using Azure DevOps
Modern CI/CD Pipeline Using Azure DevOpsModern CI/CD Pipeline Using Azure DevOps
Modern CI/CD Pipeline Using Azure DevOps
 
Azure devops
Azure devopsAzure devops
Azure devops
 
Getting Started with Infrastructure as Code
Getting Started with Infrastructure as CodeGetting Started with Infrastructure as Code
Getting Started with Infrastructure as Code
 
Infrastructure as Code
Infrastructure as CodeInfrastructure as Code
Infrastructure as Code
 
Kubernetes Architecture
 Kubernetes Architecture Kubernetes Architecture
Kubernetes Architecture
 
DevOps: Infrastructure as Code
DevOps: Infrastructure as CodeDevOps: Infrastructure as Code
DevOps: Infrastructure as Code
 
CI/CD on AWS
CI/CD on AWSCI/CD on AWS
CI/CD on AWS
 
Welcome to Azure Devops
Welcome to Azure DevopsWelcome to Azure Devops
Welcome to Azure Devops
 
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
 
Docker Kubernetes Istio
Docker Kubernetes IstioDocker Kubernetes Istio
Docker Kubernetes Istio
 
Azure DevOps
Azure DevOpsAzure DevOps
Azure DevOps
 
Microservice vs. Monolithic Architecture
Microservice vs. Monolithic ArchitectureMicroservice vs. Monolithic Architecture
Microservice vs. Monolithic Architecture
 
DevOps 101 - an Introduction to DevOps
DevOps 101  - an Introduction to DevOpsDevOps 101  - an Introduction to DevOps
DevOps 101 - an Introduction to DevOps
 

Viewers also liked

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
 

Viewers also liked (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
 

Similar to 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
 
AWS CloudFormation Best Practices
AWS CloudFormation Best PracticesAWS CloudFormation Best Practices
AWS CloudFormation Best PracticesAmazon 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
 

Similar to 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
 
AWS CloudFormation Best Practices
AWS CloudFormation Best PracticesAWS CloudFormation Best Practices
AWS CloudFormation Best Practices
 
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
 
infrastructure as code
infrastructure as codeinfrastructure as code
infrastructure as code
 

More from 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
 

More from 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
 

Recently uploaded

Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 

Recently uploaded (20)

Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 

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