SlideShare una empresa de Scribd logo
1 de 61
Automating your Infrastructure Deployment
with CloudFormation and OpsWorks
Richard Busby, Solutions Architect
Amazon Web Services
Business
101 Technical
201 Technical
301 Technical
401 Technical
Session Grading
Why treat your infrastructure as code?
•  Repeatable deployments
•  Versioned Infrastructure as code
•  Use-case specific deployments
•  Management at scale
•  Application automation
A simple Wordpress deployment with
CloudFormation
Users
Web Server RDS Database
MySQL
security group
 security group
Automating instance configuration:
using cfn-init
"Resources" : {
"WebServer": {
"Type": "AWS::EC2::Instance",
"Metadata" : {
"AWS::CloudFormation::Init" : {
"config" : {
"packages" : {
"httpd" : ["2.4.12"]
}
"commands" : {
"WriteDemoToFile" : {
"command" : "echo "Demo" > test.txt"
}
}
},
"UserData" : {
"/opt/aws/bin/cfn-init -s<stackID>
-r<ResourceID> --region <Region>"
}
•  Packages
•  Groups
•  Users
•  Sources
•  Files
•  Commands
•  Services
Automating instance configuration:
using cfn-init
"Resources" : {
"WebServer": {
"Type": "AWS::EC2::Instance",
"Metadata" : {
"AWS::CloudFormation::Init" : {
"config" : {
"packages" : {
"httpd" : ["2.4.12"]
}
"commands" : {
"WriteDemoToFile" : {
"command" : "echo "Demo" > test.txt"
}
}
},
"UserData" : {
"/opt/aws/bin/cfn-init -s<stackID>
-r<ResourceID> --region <Region>"
}
•  Packages
•  Groups
•  Users
•  Sources
•  Files
•  Commands
•  Services
Automating instance configuration:
using cfn-init
"Resources" : {
"WebServer": {
"Type": "AWS::EC2::Instance",
"Metadata" : {
"AWS::CloudFormation::Init" : {
"config" : {
"packages" : {
"httpd" : ["2.4.12"]
}
"commands" : {
"WriteDemoToFile" : {
"command" : "echo "Demo" > test.txt"
}
}
},
"UserData" : {
"/opt/aws/bin/cfn-init -s<stackID>
-r<ResourceID> --region <Region>"
}
•  Packages
•  Groups
•  Users
•  Sources
•  Files
•  Commands
•  Services
How cfn-init works
instance
stack
#> cfn-init
-–stack <stackname>
--resource <resourcename>
"AWS::CloudFormation::Init" :
{
"config" : {
"packages" : {
"httpd" : ["2.4.12"]
}
"commands" : {
"WriteDemoToFile" : {
"command" : "echo
"Demo" > test.txt"
}
}
}
}
Get metadata,
perform actions
AWS
CloudFormation
Signaling instance configuration:
creationPolicy
"Resources" : {
"WebServer": {
"Type": "AWS::EC2::Instance",
"CreationPolicy": {
"ResourceSignal": {
"Count": "1",
"Timeout": "PT15M"
}
}
},
"Metadata" : {
"UserData" : {
"/opt/aws/bin/cfn-signal –-stack <stackID>
--resource <ResourceID> --success"
}
}
•  Property of an EC2 instance
or Auto Scaling Group
•  Inform CloudFormation when
configuration is complete
Signaling instance configuration:
creationPolicy
"Resources" : {
"WebServer": {
"Type": "AWS::EC2::Instance",
"CreationPolicy": {
"ResourceSignal": {
"Count": "1",
"Timeout": "PT15M"
}
}
},
"Metadata" : {
"UserData" : {
"/opt/aws/bin/cfn-signal –-stack <stackID>
--resource <ResourceID> --success"
}
}
•  Property of an EC2 instance
or Auto Scaling Group
•  Inform CloudFormation when
configuration is complete
How creationPolicy works
#> cfn-signal --success
--stack <stackname>
--resource <resourcename>
Send completion signal
"AWS::CloudFormation::Init" :
{
"config" : {
"packages" : {
"httpd" : ["2.4.12"]
}
"commands" : {
"WriteDemoToFile" : {
"command" : "echo
"Demo" > test.txt"
}
}
}
}
instance
stack
AWS
CloudFormation
Completing instance configuration:
WaitCondition
"Resources" : {
"WaitCondition" : {
"Type" : "AWS::CloudFormation::WaitCondition",
"DependsOn" : "WebServer",
"Properties" : {
"Handle" : {"Ref" : "WaitHandle"},
"Timeout" : "600"
}
},
"WebServer": {
"Type": "AWS::EC2::Instance",
"Metadata" : {
"UserData" : {
"/opt/aws/bin/cfn-signal –success <waitconditionhandle>"
}
}
•  A separate resource
Completing instance configuration:
WaitCondition
WaitCondition
Resource
"Count": "2"
Instance A
stackAWS
CloudFormation
Instance B
#> cfn-signal
–-success <URL>
Send
Completion signal
#> cfn-signal
–-success <URL>
Create Templates from your environment with
CloudFormer
The love story so far...
•  Repeatable deployments
Versioning your infrastructure
Users
Web Server RDS Database
MySQL
security group security groupRoute 53
•  Modify existing template
•  Or create a new one
–  Ensure all resources are
present
•  Infrastructure as Code:
–  Store in version control
–  Store with your code
–  Git, Subversion, etc
Update your template, apply it to the stack
"Resources" : {
"BrandNewDNSrecord" : {
"Type" : "AWS::Route53::RecordSet",
"Properties" : {
"Comment" : "Demo for Summit 2015",
"HostedZoneId" : "ABC123BUZZY",
"Name" : "summit.buzzy.geek.nz.",
"TTL" : "60",
"Type" : "A"
}
}
}
Controlling stack updates: Resource updates
Controlling stack updates: Resource updates
•  Prevent updates to
resources within the stack
•  Explicitly override during
updates
–  A temporary change of
policy
Controlling stack updates: stack policies
{
"Statement" : [
{
"Effect" : "Deny",
"Action" : "Update:*",
"Principal": "*",
"Resource" : "*"
}
]
}
Updating a stack where resource properties
require replacement
Controlling stack updates: DeletionPolicy
"Resources" : {
"myS3Bucket" : {
"Type" : "AWS::S3::Bucket",
"DeletionPolicy" : "Retain"
}
}
Demo 1
The love story so far...
•  Repeatable deployments
•  Versioned Infrastructure
as code
Deploying different environments
•  Multiple similar environments
–  Production
–  Test, Development
–  Multiple AWS regions
•  Avoid becoming a template factory
–  Fewer, more adaptable templates
Example: Production or Dev?
stack
Auto Scalingstack
Elastic Load
Balancing
template
Web Server
security group
RDS Database
MySQL
security group security group
Instances
RDS Database
MySQL
security group
•  A parameter to specify
the kind of stack
Parameters and Conditions
"Parameters" : {
"EnvironmentType" : {
"Description" : "Production or Development environment",
"AllowedValues" : [ "Prod", "Dev" ],
"ConstraintDescription" : "Must be Prod or Dev"
}
"Conditions" : {
"UseProdCondition" : {
"Fn::Equals" : [{"Ref" : "EnvironmentType"}, "Prod"]
},
"UseDevCondition" : {
"Fn::Equals" : [{"Ref" : "EnvironmentType"}, "Dev"]
}
"Resources": {
"WebServer": {
"Type": "AWS::EC2::Instance",
"Condition": "useDevCondition",
},
•  A parameter to specify
the kind of stack
•  Conditions that will be
evaluated
Parameters and Conditions
"Parameters" : {
"EnvironmentType" : {
"Description" : "Production or Development environment",
"AllowedValues" : [ "Prod", "Dev" ],
"ConstraintDescription" : "Must be Prod or Dev"
}
"Conditions" : {
"UseProdCondition" : {
"Fn::Equals" : [{"Ref" : "EnvironmentType"}, "Prod"]
},
"UseDevCondition" : {
"Fn::Equals" : [{"Ref" : "EnvironmentType"}, "Dev"]
}
"Resources": {
"WebServer": {
"Type": "AWS::EC2::Instance",
"Condition": "UseDevCondition",
},
•  A parameter to specify
the kind of stack
•  Conditions that will be
evaluated
•  Determines whether a
resource or property
should be created
Parameters and Conditions
"Parameters" : {
"EnvironmentType" : {
"Description" : "Production or Development environment",
"AllowedValues" : [ "Prod", "Dev" ],
"ConstraintDescription" : "Must be Prod or Dev"
}
"Conditions" : {
"UseProdCondition" : {
"Fn::Equals" : [{"Ref" : "EnvironmentType"}, "Prod"]
},
"UseDevCondition" : {
"Fn::Equals" : [{"Ref" : "EnvironmentType"}, "Dev"]
}
"Resources": {
"WebServer": {
"Type": "AWS::EC2::Instance",
"Condition": "UseDevCondition",
},
Example: Production or Dev?
stack
Auto Scalingstack
Elastic Load
Balancing
template
Web Server
security group
RDS Database
MySQL
security group security group
Instances
Parameter:
Prod or Dev
RDS Database
MySQL
security group
•  Logic about how a
resource will be created
Mappings
"Parameters" : {
"EnvironmentType" : {
"Description" : "Production or Development environment",
"AllowedValues" : [ "Prod", "Dev" ],
"ConstraintDescription" : "Must be Prod or Dev"
},
"Mappings" : {
"SourceAMI" : {
"Prod" : { "ap-southeast-1" : "ami-d34db33f", "us-east-1" : "ami-12345678" },
"Dev" : { "ap-southeast-1" : "ami-d5f8fc0d", "us-east-1" : "ami-b6c63d8f" }
}
}
"Resources": {
"WebServer": {
"ImageID" : { "Fn::FindInMap" : [ "SourceAMI", { "Ref" : "EnvironmentType" },
{ "Ref" : "AWS::Region" ] }
•  A mapping consists of
two-level key:value pairs
Mappings
"Parameters" : {
"EnvironmentType" : {
"Description" : "Production or Development environment",
"AllowedValues" : [ "Prod", "Dev" ],
"ConstraintDescription" : "Must be Prod or Dev"
},
"Mappings" : {
"SourceAMI" : {
"Prod" : { "ap-southeast-1" : "ami-d34db33f", "us-east-1" : "ami-12345678" },
"Dev" : { "ap-southeast-1" : "ami-d5f8fc0d", "us-east-1" : "ami-b6c63d8f" }
}
}
"Resources": {
"WebServer": {
"ImageID" : { "Fn::FindInMap" : [ "SourceAMI", { "Ref" : "EnvironmentType" },
{ "Ref" : "AWS::Region" ] }
Looking up the mapping
"Parameters" : {
"EnvironmentType" : {
"Description" : "Production or Development environment",
"AllowedValues" : [ "Prod", "Dev" ],
"ConstraintDescription" : "Must be Prod or Dev"
},
"Mappings" : {
"SourceAMI" : {
"Prod" : { "ap-southeast-1" : "ami-d34db33f", "us-east-1" : "ami-12345678" },
"Dev" : { "ap-southeast-1" : "ami-d5f8fc0d", "us-east-1" : "ami-b6c63d8f" }
}
}
"Resources": {
"WebServer": {
"ImageID" : { "Fn::FindInMap" : [ "SourceAMI", { "Ref" : "EnvironmentType" },
{ "Ref" : "AWS::Region" ] }
•  Referenced by a property
Demo 2
The love story so far...
•  Repeatable deployments
•  Versioned Infrastructure as code
•  Use-case specific deployments
Expanding your use of CloudFormation:
Working with multiple templates
An inevitability as you grow
•  Stack limits (60 outputs, 200 resources, 51200 bytes)
•  Segregation of duties
•  Velocity of change
Layers of stacks
•  Identity
•  Network
•  Shared services
•  Back end services
•  Front end services
Nested stacks
stack
stack
template
Amazon VPC
Auto Scaling
Elastic Load
Balancing
RDS Database
MySQL
security group security group
Instances
Chaining stacks together
stack
stack
template ”Outputs" : {
”VPCInfo" : {
”VPCName” : {
”Fn::GetAtt" : { ”VPC:Name”}
}
»VPCid" : {
”Fn::GetAtt" : { ”VPC::ID” }
}
}
Outputs
#> DeployComputeStack.rb
Amazon VPC
Auto Scaling
Elastic Load
Balancing
security group
Instances
The love story so far...
•  Repeatable deployments
•  Versioned Infrastructure as code
•  Use-case specific deployments
•  Management at scale
OpsWorks: Model your application
OpsWorks lifecycle events
setup configure deploy undeploy shutdown
Chef recipe
+
Metadata
=
Command
execute "mysql-connect" do
command "/usr/bin/mysql
-u#{node[:deploy][:myphpapp][:database][:username]}
-p#{node[:deploy][:myphpapp][:database][:password]}
#{node[:deploy][:myphpapp][:database][:database]}
…
"deploy": {
"myphpapp": {
"database": {
"username": "root",
"password": "abcxyz",
…
"/usr/bin/mysql -uroot –pabcxyz myphpapp …
Configure with Chef recipes
App Server
RDS Database
Setup Configure Deploy Execute recipes Shutdown
App Server
Attach recipes to events
Setup Configure Deploy
Change
permissions
Setup Configure
Configure
•  OpsWorks items as
CloudFormation
resources
•  Automate deployment
with CloudFormation
•  Automate "Day 2"
management tasks
with OpsWorks
Combining OpsWorks and CloudFormation
"Resources" : {
"WordPressStack" : {
"Type" : "AWS::OpsWorks::Stack",
"Properties" : {
"Name" : "MyWordPressStack",
"ServiceRoleArn" : "arn:aws:iam::0123456789:role/service-
role",
"DefaultSshKeyName" : {"Ref":"KeyName"}
}
},
"myLayer": {
"Type": "AWS::OpsWorks::Layer",
"Properties": {
"StackId": {"Ref": "WordPressStack"},
"Name": "PHP App Server",
"Type": "php-app"
}
}
The love story…
•  Repeatable deployments
•  Versioned Infrastructure as code
•  Use-case specific deployments
•  Management at scale
•  Application automation
Next steps
•  Get the templates used in this session:
http://s3.buzzy.geek.nz/summit2015
•  Experiment!
 Automating your Infrastructure Deployment with CloudFormation and OpsWorks – Richard Busby

Más contenido relacionado

La actualidad más candente

AWS Tips for LAUNCHing Your Infrastructure in the Cloud
AWS Tips for LAUNCHing Your Infrastructure in the CloudAWS Tips for LAUNCHing Your Infrastructure in the Cloud
AWS Tips for LAUNCHing Your Infrastructure in the CloudAmazon Web Services
 
AWS APAC Webinar Week - Training & Certification Masterclass
AWS APAC Webinar Week - Training & Certification MasterclassAWS APAC Webinar Week - Training & Certification Masterclass
AWS APAC Webinar Week - Training & Certification MasterclassAmazon Web Services
 
Design, Deploy, and Optimize SQL Server on AWS - June 2017 AWS Online Tech Talks
Design, Deploy, and Optimize SQL Server on AWS - June 2017 AWS Online Tech TalksDesign, Deploy, and Optimize SQL Server on AWS - June 2017 AWS Online Tech Talks
Design, Deploy, and Optimize SQL Server on AWS - June 2017 AWS Online Tech TalksAmazon Web Services
 
Moving Enterprise Windows Workloads to AWS
Moving Enterprise Windows Workloads to AWSMoving Enterprise Windows Workloads to AWS
Moving Enterprise Windows Workloads to AWSAmazon Web Services
 
Leveraging elastic web scale computing with AWS
 Leveraging elastic web scale computing with AWS Leveraging elastic web scale computing with AWS
Leveraging elastic web scale computing with AWSShiva Narayanaswamy
 
AWS Workshop Series: Microsoft SQL server and SharePoint on AWS
AWS Workshop Series: Microsoft SQL server and SharePoint on AWSAWS Workshop Series: Microsoft SQL server and SharePoint on AWS
AWS Workshop Series: Microsoft SQL server and SharePoint on AWSAmazon Web Services
 
Amazon ECS with Docker | AWS Public Sector Summit 2016
Amazon ECS with Docker | AWS Public Sector Summit 2016Amazon ECS with Docker | AWS Public Sector Summit 2016
Amazon ECS with Docker | AWS Public Sector Summit 2016Amazon Web Services
 
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsAmazon Web Services
 
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
 
Deep Dive on Microservices and Amazon ECS by Raul Frias, Solutions Architect,...
Deep Dive on Microservices and Amazon ECS by Raul Frias, Solutions Architect,...Deep Dive on Microservices and Amazon ECS by Raul Frias, Solutions Architect,...
Deep Dive on Microservices and Amazon ECS by Raul Frias, Solutions Architect,...Amazon Web Services
 
AWS re:Invent 2016: Taking DevOps to the AWS Edge (CTD302)
AWS re:Invent 2016: Taking DevOps to the AWS Edge (CTD302)AWS re:Invent 2016: Taking DevOps to the AWS Edge (CTD302)
AWS re:Invent 2016: Taking DevOps to the AWS Edge (CTD302)Amazon Web Services
 
(SEC204) AWS GovCloud (US): Not Just for Govies
(SEC204) AWS GovCloud (US): Not Just for Govies(SEC204) AWS GovCloud (US): Not Just for Govies
(SEC204) AWS GovCloud (US): Not Just for GoviesAmazon Web Services
 
Cloud Native Application Development-build fast, low TCO, scalable & agile so...
Cloud Native Application Development-build fast, low TCO, scalable & agile so...Cloud Native Application Development-build fast, low TCO, scalable & agile so...
Cloud Native Application Development-build fast, low TCO, scalable & agile so...Lucas Jellema
 
SRV409 Deep Dive on Microservices and Docker
SRV409 Deep Dive on Microservices and DockerSRV409 Deep Dive on Microservices and Docker
SRV409 Deep Dive on Microservices and DockerAmazon Web Services
 
AWS Innovation at Scale – Rodney Haywood
AWS Innovation at Scale – Rodney HaywoodAWS Innovation at Scale – Rodney Haywood
AWS Innovation at Scale – Rodney HaywoodAmazon Web Services
 
AWS re:Invent 2016: Deploying and Managing .NET Pipelines and Microsoft Workl...
AWS re:Invent 2016: Deploying and Managing .NET Pipelines and Microsoft Workl...AWS re:Invent 2016: Deploying and Managing .NET Pipelines and Microsoft Workl...
AWS re:Invent 2016: Deploying and Managing .NET Pipelines and Microsoft Workl...Amazon Web Services
 
AWS Directory Service and Hybrid Strategy | AWS Public Sector Summit 2016
AWS Directory Service and Hybrid Strategy | AWS Public Sector Summit 2016AWS Directory Service and Hybrid Strategy | AWS Public Sector Summit 2016
AWS Directory Service and Hybrid Strategy | AWS Public Sector Summit 2016Amazon Web Services
 

La actualidad más candente (20)

AWS Tips for LAUNCHing Your Infrastructure in the Cloud
AWS Tips for LAUNCHing Your Infrastructure in the CloudAWS Tips for LAUNCHing Your Infrastructure in the Cloud
AWS Tips for LAUNCHing Your Infrastructure in the Cloud
 
AWS APAC Webinar Week - Training & Certification Masterclass
AWS APAC Webinar Week - Training & Certification MasterclassAWS APAC Webinar Week - Training & Certification Masterclass
AWS APAC Webinar Week - Training & Certification Masterclass
 
Design, Deploy, and Optimize SQL Server on AWS - June 2017 AWS Online Tech Talks
Design, Deploy, and Optimize SQL Server on AWS - June 2017 AWS Online Tech TalksDesign, Deploy, and Optimize SQL Server on AWS - June 2017 AWS Online Tech Talks
Design, Deploy, and Optimize SQL Server on AWS - June 2017 AWS Online Tech Talks
 
Moving Enterprise Windows Workloads to AWS
Moving Enterprise Windows Workloads to AWSMoving Enterprise Windows Workloads to AWS
Moving Enterprise Windows Workloads to AWS
 
AWS Security and SecOps
AWS Security and SecOpsAWS Security and SecOps
AWS Security and SecOps
 
Leveraging elastic web scale computing with AWS
 Leveraging elastic web scale computing with AWS Leveraging elastic web scale computing with AWS
Leveraging elastic web scale computing with AWS
 
AWS Workshop Series: Microsoft SQL server and SharePoint on AWS
AWS Workshop Series: Microsoft SQL server and SharePoint on AWSAWS Workshop Series: Microsoft SQL server and SharePoint on AWS
AWS Workshop Series: Microsoft SQL server and SharePoint on AWS
 
Amazon ECS with Docker | AWS Public Sector Summit 2016
Amazon ECS with Docker | AWS Public Sector Summit 2016Amazon ECS with Docker | AWS Public Sector Summit 2016
Amazon ECS with Docker | AWS Public Sector Summit 2016
 
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
 
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,...
 
Deep Dive on Microservices and Amazon ECS by Raul Frias, Solutions Architect,...
Deep Dive on Microservices and Amazon ECS by Raul Frias, Solutions Architect,...Deep Dive on Microservices and Amazon ECS by Raul Frias, Solutions Architect,...
Deep Dive on Microservices and Amazon ECS by Raul Frias, Solutions Architect,...
 
AWS re:Invent 2016: Taking DevOps to the AWS Edge (CTD302)
AWS re:Invent 2016: Taking DevOps to the AWS Edge (CTD302)AWS re:Invent 2016: Taking DevOps to the AWS Edge (CTD302)
AWS re:Invent 2016: Taking DevOps to the AWS Edge (CTD302)
 
SEC301 Security @ (Cloud) Scale
SEC301 Security @ (Cloud) ScaleSEC301 Security @ (Cloud) Scale
SEC301 Security @ (Cloud) Scale
 
AWS + Puppet = Dynamic Scale
AWS + Puppet = Dynamic ScaleAWS + Puppet = Dynamic Scale
AWS + Puppet = Dynamic Scale
 
(SEC204) AWS GovCloud (US): Not Just for Govies
(SEC204) AWS GovCloud (US): Not Just for Govies(SEC204) AWS GovCloud (US): Not Just for Govies
(SEC204) AWS GovCloud (US): Not Just for Govies
 
Cloud Native Application Development-build fast, low TCO, scalable & agile so...
Cloud Native Application Development-build fast, low TCO, scalable & agile so...Cloud Native Application Development-build fast, low TCO, scalable & agile so...
Cloud Native Application Development-build fast, low TCO, scalable & agile so...
 
SRV409 Deep Dive on Microservices and Docker
SRV409 Deep Dive on Microservices and DockerSRV409 Deep Dive on Microservices and Docker
SRV409 Deep Dive on Microservices and Docker
 
AWS Innovation at Scale – Rodney Haywood
AWS Innovation at Scale – Rodney HaywoodAWS Innovation at Scale – Rodney Haywood
AWS Innovation at Scale – Rodney Haywood
 
AWS re:Invent 2016: Deploying and Managing .NET Pipelines and Microsoft Workl...
AWS re:Invent 2016: Deploying and Managing .NET Pipelines and Microsoft Workl...AWS re:Invent 2016: Deploying and Managing .NET Pipelines and Microsoft Workl...
AWS re:Invent 2016: Deploying and Managing .NET Pipelines and Microsoft Workl...
 
AWS Directory Service and Hybrid Strategy | AWS Public Sector Summit 2016
AWS Directory Service and Hybrid Strategy | AWS Public Sector Summit 2016AWS Directory Service and Hybrid Strategy | AWS Public Sector Summit 2016
AWS Directory Service and Hybrid Strategy | AWS Public Sector Summit 2016
 

Destacado

Orchestrating Network with Web Services Session Sponsored by Megaport – Camer...
Orchestrating Network with Web Services Session Sponsored by Megaport – Camer...Orchestrating Network with Web Services Session Sponsored by Megaport – Camer...
Orchestrating Network with Web Services Session Sponsored by Megaport – Camer...Amazon Web Services
 
Using Security To Build With Confidence in AWS – Justin Foster, Director of P...
Using Security To Build With Confidence in AWS – Justin Foster, Director of P...Using Security To Build With Confidence in AWS – Justin Foster, Director of P...
Using Security To Build With Confidence in AWS – Justin Foster, Director of P...Amazon Web Services
 
Your First Hour on AWS: Building the Foundation for Large Scale AWS Adoption ...
Your First Hour on AWS: Building the Foundation for Large Scale AWS Adoption ...Your First Hour on AWS: Building the Foundation for Large Scale AWS Adoption ...
Your First Hour on AWS: Building the Foundation for Large Scale AWS Adoption ...Amazon Web Services
 
Common Application Architecture Patterns – Dan Zoltak
Common Application Architecture Patterns – Dan ZoltakCommon Application Architecture Patterns – Dan Zoltak
Common Application Architecture Patterns – Dan ZoltakAmazon Web Services
 
Revolutionising Cloud Operations with AWS Config, AWS CloudTrail and AWS Clou...
Revolutionising Cloud Operations with AWS Config, AWS CloudTrail and AWS Clou...Revolutionising Cloud Operations with AWS Config, AWS CloudTrail and AWS Clou...
Revolutionising Cloud Operations with AWS Config, AWS CloudTrail and AWS Clou...Amazon Web Services
 
Automating Backup & Archiving with AWS and CommVault – Chris Gondek, Principa...
Automating Backup & Archiving with AWS and CommVault – Chris Gondek, Principa...Automating Backup & Archiving with AWS and CommVault – Chris Gondek, Principa...
Automating Backup & Archiving with AWS and CommVault – Chris Gondek, Principa...Amazon Web Services
 
Introduction to the AWS Cloud – Russell Hall
Introduction to the AWS Cloud – Russell HallIntroduction to the AWS Cloud – Russell Hall
Introduction to the AWS Cloud – Russell HallAmazon Web Services
 
Drinking from the Fire Hose: The Jump to Real Time Analytics Session Sponsore...
Drinking from the Fire Hose: The Jump to Real Time Analytics Session Sponsore...Drinking from the Fire Hose: The Jump to Real Time Analytics Session Sponsore...
Drinking from the Fire Hose: The Jump to Real Time Analytics Session Sponsore...Amazon Web Services
 
How to Accelerate the Adoption of AWS and Reduce Cost and Risk with a Data F...
 How to Accelerate the Adoption of AWS and Reduce Cost and Risk with a Data F... How to Accelerate the Adoption of AWS and Reduce Cost and Risk with a Data F...
How to Accelerate the Adoption of AWS and Reduce Cost and Risk with a Data F...Amazon Web Services
 
AWS Blackbelt NINJA Dojo – Dean Samuels
AWS Blackbelt NINJA Dojo – Dean SamuelsAWS Blackbelt NINJA Dojo – Dean Samuels
AWS Blackbelt NINJA Dojo – Dean SamuelsAmazon Web Services
 
Modernising your Applications on AWS: AWS SDKs and Application Web Services –...
Modernising your Applications on AWS: AWS SDKs and Application Web Services –...Modernising your Applications on AWS: AWS SDKs and Application Web Services –...
Modernising your Applications on AWS: AWS SDKs and Application Web Services –...Amazon Web Services
 
Infrastructure as Code Continuous Integration: A Delivery Pipeline Journey Se...
Infrastructure as Code Continuous Integration: A Delivery Pipeline Journey Se...Infrastructure as Code Continuous Integration: A Delivery Pipeline Journey Se...
Infrastructure as Code Continuous Integration: A Delivery Pipeline Journey Se...Amazon Web Services
 
Cloud and Enterprise Tools – Rob Purdy, General Manager, Datacom
Cloud and Enterprise Tools – Rob Purdy, General Manager, DatacomCloud and Enterprise Tools – Rob Purdy, General Manager, Datacom
Cloud and Enterprise Tools – Rob Purdy, General Manager, DatacomAmazon Web Services
 
Big Data and Analytics – End to End on AWS – Russell Nash
Big Data and Analytics – End to End on AWS – Russell NashBig Data and Analytics – End to End on AWS – Russell Nash
Big Data and Analytics – End to End on AWS – Russell NashAmazon Web Services
 
Mobile Applications and The Internet of Things: AWS Lambda & AWS Cognito – Ad...
Mobile Applications and The Internet of Things: AWS Lambda & AWS Cognito – Ad...Mobile Applications and The Internet of Things: AWS Lambda & AWS Cognito – Ad...
Mobile Applications and The Internet of Things: AWS Lambda & AWS Cognito – Ad...Amazon Web Services
 
Creating a Culture of Cost Management in Your Organization – J.R. Storment, C...
Creating a Culture of Cost Management in Your Organization – J.R. Storment, C...Creating a Culture of Cost Management in Your Organization – J.R. Storment, C...
Creating a Culture of Cost Management in Your Organization – J.R. Storment, C...Amazon Web Services
 
The trials and triumphs of re architecting for aws and implementing dev ops -...
The trials and triumphs of re architecting for aws and implementing dev ops -...The trials and triumphs of re architecting for aws and implementing dev ops -...
The trials and triumphs of re architecting for aws and implementing dev ops -...Amazon Web Services
 
Running Business Critical Workloads on AWS – Nam Je Cho
Running Business Critical Workloads on AWS – Nam Je ChoRunning Business Critical Workloads on AWS – Nam Je Cho
Running Business Critical Workloads on AWS – Nam Je ChoAmazon Web Services
 
Enterprise Customer Cloud Consumption – Operating in a Hybrid Model – Alex Ne...
Enterprise Customer Cloud Consumption – Operating in a Hybrid Model – Alex Ne...Enterprise Customer Cloud Consumption – Operating in a Hybrid Model – Alex Ne...
Enterprise Customer Cloud Consumption – Operating in a Hybrid Model – Alex Ne...Amazon Web Services
 
Develop an Enterprise-wide Cloud Adoption Strategy – Chris Merrigan
Develop an Enterprise-wide Cloud Adoption Strategy – Chris MerriganDevelop an Enterprise-wide Cloud Adoption Strategy – Chris Merrigan
Develop an Enterprise-wide Cloud Adoption Strategy – Chris MerriganAmazon Web Services
 

Destacado (20)

Orchestrating Network with Web Services Session Sponsored by Megaport – Camer...
Orchestrating Network with Web Services Session Sponsored by Megaport – Camer...Orchestrating Network with Web Services Session Sponsored by Megaport – Camer...
Orchestrating Network with Web Services Session Sponsored by Megaport – Camer...
 
Using Security To Build With Confidence in AWS – Justin Foster, Director of P...
Using Security To Build With Confidence in AWS – Justin Foster, Director of P...Using Security To Build With Confidence in AWS – Justin Foster, Director of P...
Using Security To Build With Confidence in AWS – Justin Foster, Director of P...
 
Your First Hour on AWS: Building the Foundation for Large Scale AWS Adoption ...
Your First Hour on AWS: Building the Foundation for Large Scale AWS Adoption ...Your First Hour on AWS: Building the Foundation for Large Scale AWS Adoption ...
Your First Hour on AWS: Building the Foundation for Large Scale AWS Adoption ...
 
Common Application Architecture Patterns – Dan Zoltak
Common Application Architecture Patterns – Dan ZoltakCommon Application Architecture Patterns – Dan Zoltak
Common Application Architecture Patterns – Dan Zoltak
 
Revolutionising Cloud Operations with AWS Config, AWS CloudTrail and AWS Clou...
Revolutionising Cloud Operations with AWS Config, AWS CloudTrail and AWS Clou...Revolutionising Cloud Operations with AWS Config, AWS CloudTrail and AWS Clou...
Revolutionising Cloud Operations with AWS Config, AWS CloudTrail and AWS Clou...
 
Automating Backup & Archiving with AWS and CommVault – Chris Gondek, Principa...
Automating Backup & Archiving with AWS and CommVault – Chris Gondek, Principa...Automating Backup & Archiving with AWS and CommVault – Chris Gondek, Principa...
Automating Backup & Archiving with AWS and CommVault – Chris Gondek, Principa...
 
Introduction to the AWS Cloud – Russell Hall
Introduction to the AWS Cloud – Russell HallIntroduction to the AWS Cloud – Russell Hall
Introduction to the AWS Cloud – Russell Hall
 
Drinking from the Fire Hose: The Jump to Real Time Analytics Session Sponsore...
Drinking from the Fire Hose: The Jump to Real Time Analytics Session Sponsore...Drinking from the Fire Hose: The Jump to Real Time Analytics Session Sponsore...
Drinking from the Fire Hose: The Jump to Real Time Analytics Session Sponsore...
 
How to Accelerate the Adoption of AWS and Reduce Cost and Risk with a Data F...
 How to Accelerate the Adoption of AWS and Reduce Cost and Risk with a Data F... How to Accelerate the Adoption of AWS and Reduce Cost and Risk with a Data F...
How to Accelerate the Adoption of AWS and Reduce Cost and Risk with a Data F...
 
AWS Blackbelt NINJA Dojo – Dean Samuels
AWS Blackbelt NINJA Dojo – Dean SamuelsAWS Blackbelt NINJA Dojo – Dean Samuels
AWS Blackbelt NINJA Dojo – Dean Samuels
 
Modernising your Applications on AWS: AWS SDKs and Application Web Services –...
Modernising your Applications on AWS: AWS SDKs and Application Web Services –...Modernising your Applications on AWS: AWS SDKs and Application Web Services –...
Modernising your Applications on AWS: AWS SDKs and Application Web Services –...
 
Infrastructure as Code Continuous Integration: A Delivery Pipeline Journey Se...
Infrastructure as Code Continuous Integration: A Delivery Pipeline Journey Se...Infrastructure as Code Continuous Integration: A Delivery Pipeline Journey Se...
Infrastructure as Code Continuous Integration: A Delivery Pipeline Journey Se...
 
Cloud and Enterprise Tools – Rob Purdy, General Manager, Datacom
Cloud and Enterprise Tools – Rob Purdy, General Manager, DatacomCloud and Enterprise Tools – Rob Purdy, General Manager, Datacom
Cloud and Enterprise Tools – Rob Purdy, General Manager, Datacom
 
Big Data and Analytics – End to End on AWS – Russell Nash
Big Data and Analytics – End to End on AWS – Russell NashBig Data and Analytics – End to End on AWS – Russell Nash
Big Data and Analytics – End to End on AWS – Russell Nash
 
Mobile Applications and The Internet of Things: AWS Lambda & AWS Cognito – Ad...
Mobile Applications and The Internet of Things: AWS Lambda & AWS Cognito – Ad...Mobile Applications and The Internet of Things: AWS Lambda & AWS Cognito – Ad...
Mobile Applications and The Internet of Things: AWS Lambda & AWS Cognito – Ad...
 
Creating a Culture of Cost Management in Your Organization – J.R. Storment, C...
Creating a Culture of Cost Management in Your Organization – J.R. Storment, C...Creating a Culture of Cost Management in Your Organization – J.R. Storment, C...
Creating a Culture of Cost Management in Your Organization – J.R. Storment, C...
 
The trials and triumphs of re architecting for aws and implementing dev ops -...
The trials and triumphs of re architecting for aws and implementing dev ops -...The trials and triumphs of re architecting for aws and implementing dev ops -...
The trials and triumphs of re architecting for aws and implementing dev ops -...
 
Running Business Critical Workloads on AWS – Nam Je Cho
Running Business Critical Workloads on AWS – Nam Je ChoRunning Business Critical Workloads on AWS – Nam Je Cho
Running Business Critical Workloads on AWS – Nam Je Cho
 
Enterprise Customer Cloud Consumption – Operating in a Hybrid Model – Alex Ne...
Enterprise Customer Cloud Consumption – Operating in a Hybrid Model – Alex Ne...Enterprise Customer Cloud Consumption – Operating in a Hybrid Model – Alex Ne...
Enterprise Customer Cloud Consumption – Operating in a Hybrid Model – Alex Ne...
 
Develop an Enterprise-wide Cloud Adoption Strategy – Chris Merrigan
Develop an Enterprise-wide Cloud Adoption Strategy – Chris MerriganDevelop an Enterprise-wide Cloud Adoption Strategy – Chris Merrigan
Develop an Enterprise-wide Cloud Adoption Strategy – Chris Merrigan
 

Similar a Automating your Infrastructure Deployment with CloudFormation and OpsWorks – Richard Busby

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
 
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
 
Deep Dive: Infrastructure as Code
Deep Dive: Infrastructure as CodeDeep Dive: Infrastructure as Code
Deep Dive: Infrastructure as CodeAmazon Web Services
 
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
 
AWS CloudFormation Best Practices
AWS CloudFormation Best PracticesAWS CloudFormation Best Practices
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
 
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
 
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
 
DevOps on AWS: Deep Dive on Infrastructure as Code - Toronto
DevOps on AWS: Deep Dive on Infrastructure as Code - TorontoDevOps on AWS: Deep Dive on Infrastructure as Code - Toronto
DevOps on AWS: Deep Dive on Infrastructure as Code - TorontoAmazon Web Services
 
AWS January 2016 Webinar Series - Managing your Infrastructure as Code
AWS January 2016 Webinar Series - Managing your Infrastructure as CodeAWS January 2016 Webinar Series - Managing your Infrastructure as Code
AWS January 2016 Webinar Series - Managing your Infrastructure as CodeAmazon 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
 
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
 
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
 
Stratalux Cloud Formation and Chef Integration Presentation
Stratalux Cloud Formation and Chef Integration PresentationStratalux Cloud Formation and Chef Integration Presentation
Stratalux Cloud Formation and Chef Integration PresentationJeremy Przygode
 
Infrastructure as Code: Manage your Architecture with Git
Infrastructure as Code: Manage your Architecture with GitInfrastructure as Code: Manage your Architecture with Git
Infrastructure as Code: Manage your Architecture with GitDanilo Poccia
 

Similar a Automating your Infrastructure Deployment with CloudFormation and OpsWorks – Richard Busby (20)

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...
 
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
 
Deep Dive: Infrastructure as Code
Deep Dive: Infrastructure as CodeDeep Dive: Infrastructure as Code
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 Code
 
Deep Dive: Infrastructure as Code
Deep Dive: Infrastructure as CodeDeep Dive: Infrastructure as Code
Deep Dive: Infrastructure as Code
 
AWS CloudFormation Best Practices
AWS CloudFormation Best PracticesAWS CloudFormation Best Practices
AWS CloudFormation Best Practices
 
infrastructure as code
infrastructure as codeinfrastructure as code
infrastructure as code
 
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
 
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
 
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
 
DevOps on AWS: Deep Dive on Infrastructure as Code - Toronto
DevOps on AWS: Deep Dive on Infrastructure as Code - TorontoDevOps on AWS: Deep Dive on Infrastructure as Code - Toronto
DevOps on AWS: Deep Dive on Infrastructure as Code - Toronto
 
AWS January 2016 Webinar Series - Managing your Infrastructure as Code
AWS January 2016 Webinar Series - Managing your Infrastructure as CodeAWS January 2016 Webinar Series - Managing your Infrastructure as Code
AWS January 2016 Webinar Series - Managing your Infrastructure as Code
 
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
 
Deep Dive: AWS CloudFormation
Deep Dive: AWS CloudFormationDeep Dive: AWS CloudFormation
Deep Dive: AWS CloudFormation
 
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
 
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
 
Stratalux Cloud Formation and Chef Integration Presentation
Stratalux Cloud Formation and Chef Integration PresentationStratalux Cloud Formation and Chef Integration Presentation
Stratalux Cloud Formation and Chef Integration Presentation
 
Infrastructure as Code: Manage your Architecture with Git
Infrastructure as Code: Manage your Architecture with GitInfrastructure as Code: Manage your Architecture with Git
Infrastructure as Code: Manage your Architecture with Git
 

Más 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
 

Más 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
 

Último

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
 
[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
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
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
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
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 Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
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
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
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
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
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
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 

Último (20)

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
 
[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
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
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
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
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 Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
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
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
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
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
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
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 

Automating your Infrastructure Deployment with CloudFormation and OpsWorks – Richard Busby

  • 1. Automating your Infrastructure Deployment with CloudFormation and OpsWorks Richard Busby, Solutions Architect Amazon Web Services
  • 2. Business 101 Technical 201 Technical 301 Technical 401 Technical Session Grading
  • 3. Why treat your infrastructure as code? •  Repeatable deployments •  Versioned Infrastructure as code •  Use-case specific deployments •  Management at scale •  Application automation
  • 4. A simple Wordpress deployment with CloudFormation Users Web Server RDS Database MySQL security group security group
  • 5. Automating instance configuration: using cfn-init "Resources" : { "WebServer": { "Type": "AWS::EC2::Instance", "Metadata" : { "AWS::CloudFormation::Init" : { "config" : { "packages" : { "httpd" : ["2.4.12"] } "commands" : { "WriteDemoToFile" : { "command" : "echo "Demo" > test.txt" } } }, "UserData" : { "/opt/aws/bin/cfn-init -s<stackID> -r<ResourceID> --region <Region>" } •  Packages •  Groups •  Users •  Sources •  Files •  Commands •  Services
  • 6. Automating instance configuration: using cfn-init "Resources" : { "WebServer": { "Type": "AWS::EC2::Instance", "Metadata" : { "AWS::CloudFormation::Init" : { "config" : { "packages" : { "httpd" : ["2.4.12"] } "commands" : { "WriteDemoToFile" : { "command" : "echo "Demo" > test.txt" } } }, "UserData" : { "/opt/aws/bin/cfn-init -s<stackID> -r<ResourceID> --region <Region>" } •  Packages •  Groups •  Users •  Sources •  Files •  Commands •  Services
  • 7. Automating instance configuration: using cfn-init "Resources" : { "WebServer": { "Type": "AWS::EC2::Instance", "Metadata" : { "AWS::CloudFormation::Init" : { "config" : { "packages" : { "httpd" : ["2.4.12"] } "commands" : { "WriteDemoToFile" : { "command" : "echo "Demo" > test.txt" } } }, "UserData" : { "/opt/aws/bin/cfn-init -s<stackID> -r<ResourceID> --region <Region>" } •  Packages •  Groups •  Users •  Sources •  Files •  Commands •  Services
  • 8. How cfn-init works instance stack #> cfn-init -–stack <stackname> --resource <resourcename> "AWS::CloudFormation::Init" : { "config" : { "packages" : { "httpd" : ["2.4.12"] } "commands" : { "WriteDemoToFile" : { "command" : "echo "Demo" > test.txt" } } } } Get metadata, perform actions AWS CloudFormation
  • 9. Signaling instance configuration: creationPolicy "Resources" : { "WebServer": { "Type": "AWS::EC2::Instance", "CreationPolicy": { "ResourceSignal": { "Count": "1", "Timeout": "PT15M" } } }, "Metadata" : { "UserData" : { "/opt/aws/bin/cfn-signal –-stack <stackID> --resource <ResourceID> --success" } } •  Property of an EC2 instance or Auto Scaling Group •  Inform CloudFormation when configuration is complete
  • 10. Signaling instance configuration: creationPolicy "Resources" : { "WebServer": { "Type": "AWS::EC2::Instance", "CreationPolicy": { "ResourceSignal": { "Count": "1", "Timeout": "PT15M" } } }, "Metadata" : { "UserData" : { "/opt/aws/bin/cfn-signal –-stack <stackID> --resource <ResourceID> --success" } } •  Property of an EC2 instance or Auto Scaling Group •  Inform CloudFormation when configuration is complete
  • 11. How creationPolicy works #> cfn-signal --success --stack <stackname> --resource <resourcename> Send completion signal "AWS::CloudFormation::Init" : { "config" : { "packages" : { "httpd" : ["2.4.12"] } "commands" : { "WriteDemoToFile" : { "command" : "echo "Demo" > test.txt" } } } } instance stack AWS CloudFormation
  • 12. Completing instance configuration: WaitCondition "Resources" : { "WaitCondition" : { "Type" : "AWS::CloudFormation::WaitCondition", "DependsOn" : "WebServer", "Properties" : { "Handle" : {"Ref" : "WaitHandle"}, "Timeout" : "600" } }, "WebServer": { "Type": "AWS::EC2::Instance", "Metadata" : { "UserData" : { "/opt/aws/bin/cfn-signal –success <waitconditionhandle>" } } •  A separate resource
  • 13. Completing instance configuration: WaitCondition WaitCondition Resource "Count": "2" Instance A stackAWS CloudFormation Instance B #> cfn-signal –-success <URL> Send Completion signal #> cfn-signal –-success <URL>
  • 14. Create Templates from your environment with CloudFormer
  • 15. The love story so far... •  Repeatable deployments
  • 16. Versioning your infrastructure Users Web Server RDS Database MySQL security group security groupRoute 53
  • 17. •  Modify existing template •  Or create a new one –  Ensure all resources are present •  Infrastructure as Code: –  Store in version control –  Store with your code –  Git, Subversion, etc Update your template, apply it to the stack "Resources" : { "BrandNewDNSrecord" : { "Type" : "AWS::Route53::RecordSet", "Properties" : { "Comment" : "Demo for Summit 2015", "HostedZoneId" : "ABC123BUZZY", "Name" : "summit.buzzy.geek.nz.", "TTL" : "60", "Type" : "A" } } }
  • 18. Controlling stack updates: Resource updates
  • 19. Controlling stack updates: Resource updates
  • 20. •  Prevent updates to resources within the stack •  Explicitly override during updates –  A temporary change of policy Controlling stack updates: stack policies { "Statement" : [ { "Effect" : "Deny", "Action" : "Update:*", "Principal": "*", "Resource" : "*" } ] }
  • 21. Updating a stack where resource properties require replacement
  • 22. Controlling stack updates: DeletionPolicy "Resources" : { "myS3Bucket" : { "Type" : "AWS::S3::Bucket", "DeletionPolicy" : "Retain" } }
  • 24. The love story so far... •  Repeatable deployments •  Versioned Infrastructure as code
  • 25. Deploying different environments •  Multiple similar environments –  Production –  Test, Development –  Multiple AWS regions •  Avoid becoming a template factory –  Fewer, more adaptable templates
  • 26. Example: Production or Dev? stack Auto Scalingstack Elastic Load Balancing template Web Server security group RDS Database MySQL security group security group Instances RDS Database MySQL security group
  • 27. •  A parameter to specify the kind of stack Parameters and Conditions "Parameters" : { "EnvironmentType" : { "Description" : "Production or Development environment", "AllowedValues" : [ "Prod", "Dev" ], "ConstraintDescription" : "Must be Prod or Dev" } "Conditions" : { "UseProdCondition" : { "Fn::Equals" : [{"Ref" : "EnvironmentType"}, "Prod"] }, "UseDevCondition" : { "Fn::Equals" : [{"Ref" : "EnvironmentType"}, "Dev"] } "Resources": { "WebServer": { "Type": "AWS::EC2::Instance", "Condition": "useDevCondition", },
  • 28. •  A parameter to specify the kind of stack •  Conditions that will be evaluated Parameters and Conditions "Parameters" : { "EnvironmentType" : { "Description" : "Production or Development environment", "AllowedValues" : [ "Prod", "Dev" ], "ConstraintDescription" : "Must be Prod or Dev" } "Conditions" : { "UseProdCondition" : { "Fn::Equals" : [{"Ref" : "EnvironmentType"}, "Prod"] }, "UseDevCondition" : { "Fn::Equals" : [{"Ref" : "EnvironmentType"}, "Dev"] } "Resources": { "WebServer": { "Type": "AWS::EC2::Instance", "Condition": "UseDevCondition", },
  • 29. •  A parameter to specify the kind of stack •  Conditions that will be evaluated •  Determines whether a resource or property should be created Parameters and Conditions "Parameters" : { "EnvironmentType" : { "Description" : "Production or Development environment", "AllowedValues" : [ "Prod", "Dev" ], "ConstraintDescription" : "Must be Prod or Dev" } "Conditions" : { "UseProdCondition" : { "Fn::Equals" : [{"Ref" : "EnvironmentType"}, "Prod"] }, "UseDevCondition" : { "Fn::Equals" : [{"Ref" : "EnvironmentType"}, "Dev"] } "Resources": { "WebServer": { "Type": "AWS::EC2::Instance", "Condition": "UseDevCondition", },
  • 30. Example: Production or Dev? stack Auto Scalingstack Elastic Load Balancing template Web Server security group RDS Database MySQL security group security group Instances Parameter: Prod or Dev RDS Database MySQL security group
  • 31. •  Logic about how a resource will be created Mappings "Parameters" : { "EnvironmentType" : { "Description" : "Production or Development environment", "AllowedValues" : [ "Prod", "Dev" ], "ConstraintDescription" : "Must be Prod or Dev" }, "Mappings" : { "SourceAMI" : { "Prod" : { "ap-southeast-1" : "ami-d34db33f", "us-east-1" : "ami-12345678" }, "Dev" : { "ap-southeast-1" : "ami-d5f8fc0d", "us-east-1" : "ami-b6c63d8f" } } } "Resources": { "WebServer": { "ImageID" : { "Fn::FindInMap" : [ "SourceAMI", { "Ref" : "EnvironmentType" }, { "Ref" : "AWS::Region" ] }
  • 32. •  A mapping consists of two-level key:value pairs Mappings "Parameters" : { "EnvironmentType" : { "Description" : "Production or Development environment", "AllowedValues" : [ "Prod", "Dev" ], "ConstraintDescription" : "Must be Prod or Dev" }, "Mappings" : { "SourceAMI" : { "Prod" : { "ap-southeast-1" : "ami-d34db33f", "us-east-1" : "ami-12345678" }, "Dev" : { "ap-southeast-1" : "ami-d5f8fc0d", "us-east-1" : "ami-b6c63d8f" } } } "Resources": { "WebServer": { "ImageID" : { "Fn::FindInMap" : [ "SourceAMI", { "Ref" : "EnvironmentType" }, { "Ref" : "AWS::Region" ] }
  • 33. Looking up the mapping "Parameters" : { "EnvironmentType" : { "Description" : "Production or Development environment", "AllowedValues" : [ "Prod", "Dev" ], "ConstraintDescription" : "Must be Prod or Dev" }, "Mappings" : { "SourceAMI" : { "Prod" : { "ap-southeast-1" : "ami-d34db33f", "us-east-1" : "ami-12345678" }, "Dev" : { "ap-southeast-1" : "ami-d5f8fc0d", "us-east-1" : "ami-b6c63d8f" } } } "Resources": { "WebServer": { "ImageID" : { "Fn::FindInMap" : [ "SourceAMI", { "Ref" : "EnvironmentType" }, { "Ref" : "AWS::Region" ] } •  Referenced by a property
  • 35. The love story so far... •  Repeatable deployments •  Versioned Infrastructure as code •  Use-case specific deployments
  • 36. Expanding your use of CloudFormation: Working with multiple templates An inevitability as you grow •  Stack limits (60 outputs, 200 resources, 51200 bytes) •  Segregation of duties •  Velocity of change Layers of stacks •  Identity •  Network •  Shared services •  Back end services •  Front end services
  • 37. Nested stacks stack stack template Amazon VPC Auto Scaling Elastic Load Balancing RDS Database MySQL security group security group Instances
  • 38. Chaining stacks together stack stack template ”Outputs" : { ”VPCInfo" : { ”VPCName” : { ”Fn::GetAtt" : { ”VPC:Name”} } »VPCid" : { ”Fn::GetAtt" : { ”VPC::ID” } } } Outputs #> DeployComputeStack.rb Amazon VPC Auto Scaling Elastic Load Balancing security group Instances
  • 39. The love story so far... •  Repeatable deployments •  Versioned Infrastructure as code •  Use-case specific deployments •  Management at scale
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54. OpsWorks: Model your application
  • 55. OpsWorks lifecycle events setup configure deploy undeploy shutdown
  • 56. Chef recipe + Metadata = Command execute "mysql-connect" do command "/usr/bin/mysql -u#{node[:deploy][:myphpapp][:database][:username]} -p#{node[:deploy][:myphpapp][:database][:password]} #{node[:deploy][:myphpapp][:database][:database]} … "deploy": { "myphpapp": { "database": { "username": "root", "password": "abcxyz", … "/usr/bin/mysql -uroot –pabcxyz myphpapp … Configure with Chef recipes
  • 57. App Server RDS Database Setup Configure Deploy Execute recipes Shutdown App Server Attach recipes to events Setup Configure Deploy Change permissions Setup Configure Configure
  • 58. •  OpsWorks items as CloudFormation resources •  Automate deployment with CloudFormation •  Automate "Day 2" management tasks with OpsWorks Combining OpsWorks and CloudFormation "Resources" : { "WordPressStack" : { "Type" : "AWS::OpsWorks::Stack", "Properties" : { "Name" : "MyWordPressStack", "ServiceRoleArn" : "arn:aws:iam::0123456789:role/service- role", "DefaultSshKeyName" : {"Ref":"KeyName"} } }, "myLayer": { "Type": "AWS::OpsWorks::Layer", "Properties": { "StackId": {"Ref": "WordPressStack"}, "Name": "PHP App Server", "Type": "php-app" } }
  • 59. The love story… •  Repeatable deployments •  Versioned Infrastructure as code •  Use-case specific deployments •  Management at scale •  Application automation
  • 60. Next steps •  Get the templates used in this session: http://s3.buzzy.geek.nz/summit2015 •  Experiment!