introduction to devops on aws
TRANSCRIPT
![Page 1: Introduction to DevOps on AWS](https://reader036.vdocument.in/reader036/viewer/2022081422/586fd8bb1a28ab18428b56d7/html5/thumbnails/1.jpg)
Introduction to DevOps on AWSOctober 2014
![Page 2: Introduction to DevOps on AWS](https://reader036.vdocument.in/reader036/viewer/2022081422/586fd8bb1a28ab18428b56d7/html5/thumbnails/2.jpg)
Agenda• Intro to DevOps (evolution, principles, practices)
– Infrastructure as Code– Continuous Integration / Continuous Deployment CI/CD– IT/Infrastructure Automation
• DevOps on AWS– CloudFormation– Elastic Beanstalk– OpsWorks– BlueGreen deployment– Deployment Models (AMIs)
![Page 3: Introduction to DevOps on AWS](https://reader036.vdocument.in/reader036/viewer/2022081422/586fd8bb1a28ab18428b56d7/html5/thumbnails/3.jpg)
DevOps
What is it ?– A philosophy? Cultural change? Paradigm shift ?– Alignment of development and IT operations with better communication and collaboration ?– Improvement in software deployment ?– Breaking down the barriers between development and IT operations ?– Akin to Agile software development applied to infrastructure and IT operations
It’s all of the above !!!
Principles
Code
Wall
Developer IT Operations
![Page 4: Introduction to DevOps on AWS](https://reader036.vdocument.in/reader036/viewer/2022081422/586fd8bb1a28ab18428b56d7/html5/thumbnails/4.jpg)
Evolution of DevOps from Agile
Business Case Requirements Use Case Features Plan Go to market
Business
Design Code Refactor Unit Test Bug Fix Deploy
Developers(application)
Provision Configure Orchestrate Deploy Report Monitor
IT Operations(infrastructure)
Agile Development
DevOps• Continuous Integration• Continuous Deployment• IT Automation• Application Management
• Iterative development• Scrum, sprints, stories• Velocity
BusinessAgility
ITAgility
![Page 5: Introduction to DevOps on AWS](https://reader036.vdocument.in/reader036/viewer/2022081422/586fd8bb1a28ab18428b56d7/html5/thumbnails/5.jpg)
DevOps Principles• Collaboration• Breakdown the barriers• Work as one team end to end• Treat Infrastructure as code• Support business and IT agility• Automate everything• Test everything• Measure & monitor everything
![Page 6: Introduction to DevOps on AWS](https://reader036.vdocument.in/reader036/viewer/2022081422/586fd8bb1a28ab18428b56d7/html5/thumbnails/6.jpg)
DevOps Practices• Infrastructure as code• IT Automation• Continuous Integration
– Application• Compile, test, optimize (code coverage)
– Infrastructure• Logical, valid, secure
• Continuous Deployment– Application– Rollout & Rollback
• Version control integration• Application and Infrastructure version management• Monitoring and logging
![Page 7: Introduction to DevOps on AWS](https://reader036.vdocument.in/reader036/viewer/2022081422/586fd8bb1a28ab18428b56d7/html5/thumbnails/7.jpg)
Infrastructure as code – why ?• Scalability (anything manual is not scalable)• Reliability• Reproduction/Duplication• Environment consistency• Auditability/Record Keeping• Security• Governance
![Page 8: Introduction to DevOps on AWS](https://reader036.vdocument.in/reader036/viewer/2022081422/586fd8bb1a28ab18428b56d7/html5/thumbnails/8.jpg)
Here’s some infrastructure as Code"WebServer": { "Type": "AWS::EC2::Instance", "Metadata" : { "AWS::CloudFormation::Init" : { "config" : { "packages" : { "yum" : { "httpd" : [], "php" : [], "php-mysql" : [], "php-gd" : [], "php-xml" : [], "php-mbstring" : [], "mysql" : [] } }, "sources" : { "/var/www/html" : "http://ftp.drupal.org/files/projects/drupal-7.8.tar.gz", "/home/ec2-user" : "http://ftp.drupal.org/files/projects/drush-7.x-4.5.tar.gz" },
AWS CloudFormatio
n
template
![Page 9: Introduction to DevOps on AWS](https://reader036.vdocument.in/reader036/viewer/2022081422/586fd8bb1a28ab18428b56d7/html5/thumbnails/9.jpg)
Automation and configuration management
Declarative Approach to:– Provisioning– Configuration– Orchestration– Reporting
Elastic Beanstalk
CloudFormation
OpsWorks
![Page 10: Introduction to DevOps on AWS](https://reader036.vdocument.in/reader036/viewer/2022081422/586fd8bb1a28ab18428b56d7/html5/thumbnails/10.jpg)
Continuous Integration & Continuous Deployment• Application AND Infrastructure• Nothing Manual – Automate as much as possible• Define infrastructure declaratively• Architect infrastructure carefully including security• Treat definitions and configurations like application code• Store in version control • Infrastructure is part of the application• Automate testing (end to end)• Plan for rollback• Monitor, log and audit
![Page 11: Introduction to DevOps on AWS](https://reader036.vdocument.in/reader036/viewer/2022081422/586fd8bb1a28ab18428b56d7/html5/thumbnails/11.jpg)
Continuous Integration / Continuous Delivery• Help prove code quality and function repeatedly with predefined results• Lots of options; self hosted, open source, closed source, and SaaS• Monitoring, testing, validation• Plugins
![Page 12: Introduction to DevOps on AWS](https://reader036.vdocument.in/reader036/viewer/2022081422/586fd8bb1a28ab18428b56d7/html5/thumbnails/12.jpg)
Version Control
Build/Compile
CodeDev
Unit TestApp Code
IT Ops
DR Env
Test Env
Prod Env
Dev Env
Application
WriteApp Code
Infrastructure
CloudFormation
tar, war, zipyum, rpmDeploy
AppPackage
Application
Continuous Integration / Deployment & Automation
Deploy application only
Deploy infrastructure only
AMI
BuildAMIs
ValidateTemplates
WriteInfra Code
DeployInfras
AutomateDeployment
Artifact Repository
![Page 13: Introduction to DevOps on AWS](https://reader036.vdocument.in/reader036/viewer/2022081422/586fd8bb1a28ab18428b56d7/html5/thumbnails/13.jpg)
DevOps on AWS: Deployment & Management– Cloud Formation– Elastic Beanstalk– OpsWorks– BlueGreen deployment
![Page 14: Introduction to DevOps on AWS](https://reader036.vdocument.in/reader036/viewer/2022081422/586fd8bb1a28ab18428b56d7/html5/thumbnails/14.jpg)
Storage
S3 EBS Glacier StorageGateway
Foun
datio
nSe
rvic
es
Networking
VPC DirectConnect
ELB Route53
Databases
RDS ElastiCacheDynamo RedShift
Content Delivery
CloudFront
Analytics
DataPipelineEMR Kinesis
EC2
Compute
WorkSpaces
AWS Global InfrastructureDe
ploy
men
t &
Man
agem
ent
IAM Federation
Identity & AccessMonitoring
CloudWatch
Deployment & Management
BeanStalk CloudFormation
OpsWork CloudTrail
AWS Global Infrastructure
Appl
icat
ion
Serv
ices
Application Services
SES SNS SQS ElasticTranscoder
CloudSearch SWF AppStream
![Page 15: Introduction to DevOps on AWS](https://reader036.vdocument.in/reader036/viewer/2022081422/586fd8bb1a28ab18428b56d7/html5/thumbnails/15.jpg)
AWS OpsWorks AWS CloudFormationAWS Elastic Beanstalk
DevOps framework for application lifecycle management and
automation
Templates to deploy & update infrastructure
as code
Automated resource management – web
apps made easy
DIY / On DemandDIY, on demand
resources: EC2, S3, custom AMI’s, etc.
Control
Deployment and Management
Convenience Control
![Page 16: Introduction to DevOps on AWS](https://reader036.vdocument.in/reader036/viewer/2022081422/586fd8bb1a28ab18428b56d7/html5/thumbnails/16.jpg)
• IT automation – Built in and can be combined with 3rd party tools
• Version control Integration (Integration with Git, SVN)• Application version management• Infrastructure as code• Infrastructure version management• Deployment• Rollback• Monitoring & logging
Example Supported DevOps Practices on AWS
![Page 17: Introduction to DevOps on AWS](https://reader036.vdocument.in/reader036/viewer/2022081422/586fd8bb1a28ab18428b56d7/html5/thumbnails/17.jpg)
Amazon Elastic Beanstalk
AWS Elastic Beanstalk
• Automated infrastructure management & code
deployment for your application
• Includes:
• Load balancing
• Health monitoring
• Auto Scaling
• Application platform management
• Code deployment
![Page 18: Introduction to DevOps on AWS](https://reader036.vdocument.in/reader036/viewer/2022081422/586fd8bb1a28ab18428b56d7/html5/thumbnails/18.jpg)
Amazon Elastic Beanstalk
Java PHP Python Ruby .NET Node.js docker
Supports:
![Page 19: Introduction to DevOps on AWS](https://reader036.vdocument.in/reader036/viewer/2022081422/586fd8bb1a28ab18428b56d7/html5/thumbnails/19.jpg)
Example Elastic Beanstalk Architecture
Route 53 Hosted Zone
Availability Zone
Web Server
Web Server
Auto scaling Group
RDS DB Instance
Availability Zone
Web Server
Web Server
Auto scaling Group
RDS DB Instance Standby
Elastic LoadBalancing
S3 Bucket
![Page 20: Introduction to DevOps on AWS](https://reader036.vdocument.in/reader036/viewer/2022081422/586fd8bb1a28ab18428b56d7/html5/thumbnails/20.jpg)
Scalability
Security
Storage
Fault tolerance
Content delivery
Software updates
and patches
Amazon Elastic Beanstalk
Elastic Beanstalk
![Page 21: Introduction to DevOps on AWS](https://reader036.vdocument.in/reader036/viewer/2022081422/586fd8bb1a28ab18428b56d7/html5/thumbnails/21.jpg)
AWS OpsWorks
• Application infrastructure management
• Linux and Chef
• Primary components:
• Stacks
• Layers
• Instances
• Apps
AWS OpsWorks
![Page 22: Introduction to DevOps on AWS](https://reader036.vdocument.in/reader036/viewer/2022081422/586fd8bb1a28ab18428b56d7/html5/thumbnails/22.jpg)
Scalability• Auto healing• Auto scaling• Load balancing• Scaling – time• Scaling - load
Application Management - OpsWorks
Infrastructure Provisioning• Region• Availability Zone• Operating system• Keys
Application Architecture• Load balancers• Web layer• Elastic IP’s• Security groups• Database layer
Configure Application• Source of
packages• Git, svn, S3
Monitoring• Logs• Monitor
Deployment• Environments• Dev, Test, Prod
AWS OpsWorks
stack
layers
instances applications
deployments
monitoring
![Page 23: Introduction to DevOps on AWS](https://reader036.vdocument.in/reader036/viewer/2022081422/586fd8bb1a28ab18428b56d7/html5/thumbnails/23.jpg)
Amazon CloudFormation
• Infrastructure as Code
• Integrates with version control
• JSON format
• Templates
• Stacks
• Supports all AWS resource typesAWS CloudFormation
![Page 24: Introduction to DevOps on AWS](https://reader036.vdocument.in/reader036/viewer/2022081422/586fd8bb1a28ab18428b56d7/html5/thumbnails/24.jpg)
AWS CloudFormation: Model Your App
• Document, version control, and share your applications and infrastructure as a JSON document
• Provision app and other AWS resources (VPC, DynamoDB, etc) from a template
• Repeatable, reliable deployments for test/dev/prod in any AWS Region
![Page 25: Introduction to DevOps on AWS](https://reader036.vdocument.in/reader036/viewer/2022081422/586fd8bb1a28ab18428b56d7/html5/thumbnails/25.jpg)
Resource Property Types
• Autoscaling• CloudFront• CloudWatch• DynamoDB• EC2• Elastic Beanstalk
Architecting on AWS – Overview of Services for Web Applications
• Elastic Load Balancer• IAM• OpsWorks• RDS• S3• SNS/SQS
![Page 26: Introduction to DevOps on AWS](https://reader036.vdocument.in/reader036/viewer/2022081422/586fd8bb1a28ab18428b56d7/html5/thumbnails/26.jpg)
Example options for a VPC resource
• VPN Access• DHCP Options• Customer Gateways• Virtual Private Gateways• Network ACLs• Security Groups• More …
Architecting on AWS – Overview of Services for Web Applications
![Page 27: Introduction to DevOps on AWS](https://reader036.vdocument.in/reader036/viewer/2022081422/586fd8bb1a28ab18428b56d7/html5/thumbnails/27.jpg)
AWS CloudFormation: Application stack example
Architecting on AWS – Overview of Services for Web Applications
CloudFront Distribution
Amazon Route 53 Elastic Load Balancer
S3 BucketWeb ASG
Master
Standby
RR 1
RR 2
RR 3
RR 4
ElastiCache Cluster
Web Servers
Web Servers
Elastic Beanstalk
App
App
![Page 28: Introduction to DevOps on AWS](https://reader036.vdocument.in/reader036/viewer/2022081422/586fd8bb1a28ab18428b56d7/html5/thumbnails/28.jpg)
AWS CloudFormation: Application stack example (continue)
Architecting on AWS – Overview of Services for Web Applications
Template File Defining Stack
GitSubversionMercurial
Dev
Test
Prod
The entire application can be represented in an AWS CloudFormation template.
Use the version control system of your choice to store and track changes to this template
Build out multiple environments, such as for Development, Test, and Production using the template
![Page 29: Introduction to DevOps on AWS](https://reader036.vdocument.in/reader036/viewer/2022081422/586fd8bb1a28ab18428b56d7/html5/thumbnails/29.jpg)
{"Description" : "Create an EC2 instance running the Amazon Linux 32 bit AMI.”,"Parameters" : {
"KeyPair" : { "Description" : "The EC2 Key Pair to allow SSH access to the instance", "Type" : "String"
} },"Resources" : {
"Ec2Instance" : { "Type" : "AWS::EC2::Instance", "Properties" : {
"KeyName" : { "Ref" : "KeyPair" }, "ImageId" : "ami-75g0061f”,“InstanceType” : “m1.medium”
} }
}, "Outputs" : {
"InstanceId" : { "Description" : "The InstanceId of the newly created EC2 instance", "Value" : { "Ref" : "Ec2Instance” }
} }
}
AWS CloudFormation Example (1 of 3)
Architecting on AWS – Overview of Services for Web Applications
![Page 30: Introduction to DevOps on AWS](https://reader036.vdocument.in/reader036/viewer/2022081422/586fd8bb1a28ab18428b56d7/html5/thumbnails/30.jpg)
AWS CloudFormation Example (2 of 3){
"Description" : "Create an EC2 instance running the Amazon Linux 32 bit AMI.”,"Parameters" : {
"KeyPair" : { "Description" : "The EC2 Key Pair to allow SSH access to the instance", "Type" : "String"
} },"Resources" : {
"Ec2Instance" : { "Type" : "AWS::EC2::Instance", "Properties" : {
"KeyName" : { "Ref" : "KeyPair" }, "ImageId" : "ami-75g0061f”,“InstanceType” : “m1.medium”
} }
}, "Outputs" : {
"InstanceId" : { "Description" : "The InstanceId of the newly created EC2 instance", "Value" : { "Ref" : "Ec2Instance” }
} }
}
Architecting on AWS – Overview of Services for Web Applications
Notice that you need to use an EC2 KeyPair for the CloudFormation template to work.
![Page 31: Introduction to DevOps on AWS](https://reader036.vdocument.in/reader036/viewer/2022081422/586fd8bb1a28ab18428b56d7/html5/thumbnails/31.jpg)
AWS CloudFormation Example (3 of 3){
"Description" : "Create an EC2 instance running the Amazon Linux 32 bit AMI.”,"Parameters" : {
"KeyPair" : { "Description" : "The EC2 Key Pair to allow SSH access to the instance", "Type" : "String"
} },"Resources" : {
"Ec2Instance" : { "Type" : "AWS::EC2::Instance", "Properties" : {
"KeyName" : { "Ref" : "KeyPair" }, "ImageId" : "ami-75g0061f”,“InstanceType” : “m1.medium”
} }
}, "Outputs" : {
"InstanceId" : { "Description" : "The InstanceId of the newly created EC2 instance", "Value" : { "Ref" : "Ec2Instance” }
} }
}
Architecting on AWS – Overview of Services for Web Applications
You can define exactly what type of EC2 instance you want to launch.
![Page 32: Introduction to DevOps on AWS](https://reader036.vdocument.in/reader036/viewer/2022081422/586fd8bb1a28ab18428b56d7/html5/thumbnails/32.jpg)
Example - Putting it all together !!
![Page 33: Introduction to DevOps on AWS](https://reader036.vdocument.in/reader036/viewer/2022081422/586fd8bb1a28ab18428b56d7/html5/thumbnails/33.jpg)
Sample Architecture
![Page 34: Introduction to DevOps on AWS](https://reader036.vdocument.in/reader036/viewer/2022081422/586fd8bb1a28ab18428b56d7/html5/thumbnails/34.jpg)
Sample Architecture with CloudFormation
![Page 35: Introduction to DevOps on AWS](https://reader036.vdocument.in/reader036/viewer/2022081422/586fd8bb1a28ab18428b56d7/html5/thumbnails/35.jpg)
Sample Architecture with CloudFormation
![Page 36: Introduction to DevOps on AWS](https://reader036.vdocument.in/reader036/viewer/2022081422/586fd8bb1a28ab18428b56d7/html5/thumbnails/36.jpg)
AWS Elastic Beanstalk & OpsWorks
Elastic Beanstalk:• Application container framework similar to a PaaS• Deploy your application into Elastic Beanstalk and it takes care of building a self
healing, auto-scaling, multi-AZ infrastructure• Allows you to turn some of the knobs under the hood to tweak• Considered one of the easiest places to start with hosting an application on AWS
OpsWorks:• Build multi-layer application stacks• Ties in with Chef for a large degree of flexibility and customization• Makes deploying applications easier• More flexible than Elastic Beanstalk, but requires a bit more knowledge
![Page 37: Introduction to DevOps on AWS](https://reader036.vdocument.in/reader036/viewer/2022081422/586fd8bb1a28ab18428b56d7/html5/thumbnails/37.jpg)
Sample Architecture
OR
![Page 38: Introduction to DevOps on AWS](https://reader036.vdocument.in/reader036/viewer/2022081422/586fd8bb1a28ab18428b56d7/html5/thumbnails/38.jpg)
Deployment Models
![Page 39: Introduction to DevOps on AWS](https://reader036.vdocument.in/reader036/viewer/2022081422/586fd8bb1a28ab18428b56d7/html5/thumbnails/39.jpg)
AMI Deployment Method• Code gets bundled into an AMI, we then deploy that AMI
– Pluses• Very atomic• New shouldn’t effect older versions• Can deploy alongside current• Easy tools to automate
– Cons• Bit more work involved• Have to think about where your data is persisting• Schema updates potentially harder to package in
• Leverage configuration management tools in automation process
![Page 40: Introduction to DevOps on AWS](https://reader036.vdocument.in/reader036/viewer/2022081422/586fd8bb1a28ab18428b56d7/html5/thumbnails/40.jpg)
AMI Deployment Method - Building
![Page 41: Introduction to DevOps on AWS](https://reader036.vdocument.in/reader036/viewer/2022081422/586fd8bb1a28ab18428b56d7/html5/thumbnails/41.jpg)
AMI Deployment Method - Building
Fully Functional AMI OS-Only AMI
Partially Configured AMI
![Page 42: Introduction to DevOps on AWS](https://reader036.vdocument.in/reader036/viewer/2022081422/586fd8bb1a28ab18428b56d7/html5/thumbnails/42.jpg)
AMI Deployment Method - Building
Fully Functional AMI OS-Only AMI
Partially Configured AMI
Least flexibleto maintain
![Page 43: Introduction to DevOps on AWS](https://reader036.vdocument.in/reader036/viewer/2022081422/586fd8bb1a28ab18428b56d7/html5/thumbnails/43.jpg)
AMI Deployment Method - Building
Fully Functional AMI OS-Only AMI
Partially Configured AMI
Most amount of post-boot work
Least flexibleto maintain
![Page 44: Introduction to DevOps on AWS](https://reader036.vdocument.in/reader036/viewer/2022081422/586fd8bb1a28ab18428b56d7/html5/thumbnails/44.jpg)
AMI Deployment Method - Building
Fully Functional AMI OS-Only AMI
Partially Configured AMI
Most amount of post-boot work
Least flexibleto maintain
Try and find a happy medium here
![Page 45: Introduction to DevOps on AWS](https://reader036.vdocument.in/reader036/viewer/2022081422/586fd8bb1a28ab18428b56d7/html5/thumbnails/45.jpg)
AMI Deployment Method - DeployingBlue/Green Deploys
– We stand up a duplicate part of our infrastructure and slowly cut traffic over to it
• Shift via DNS• Makes it easy to do testing of new
features• Makes it easy to roll back
– As we shift more traffic over, let auto-scaling grow/shrink our instances of the new or old application
• Shut down the old when no traffic there
Amazon Route 53
EC2 Instances
ELB
100%
DynamoDB MySQL RDSInstance
ElastiCache Cache Node
![Page 46: Introduction to DevOps on AWS](https://reader036.vdocument.in/reader036/viewer/2022081422/586fd8bb1a28ab18428b56d7/html5/thumbnails/46.jpg)
AMI Deployment Method - DeployingBlue/Green Deploys
– We stand up a duplicate part of our infrastructure and slowly cut traffic over to it
• Shift via DNS• Makes it easy to do testing of new
features• Makes it easy to roll back
– As we shift more traffic over, let auto-scaling grow/shrink our instances of the new or old application
• Shut down the old when no traffic there
Amazon Route 53
EC2 Instances
ELB
EC2 Instances
ELB
90% 10%
DynamoDB MySQL RDSInstance
ElastiCache Cache Node
![Page 47: Introduction to DevOps on AWS](https://reader036.vdocument.in/reader036/viewer/2022081422/586fd8bb1a28ab18428b56d7/html5/thumbnails/47.jpg)
AMI Deployment Method - DeployingBlue/Green Deploys
– We stand up a duplicate part of our infrastructure and slowly cut traffic over to it
• Shift via DNS• Makes it easy to do testing of new
features• Makes it easy to roll back
– As we shift more traffic over, let auto-scaling grow/shrink our instances of the new or old application
• Shut down the old when no traffic there
Amazon Route 53
EC2 Instances
ELB
EC2 Instances
ELB
50% 50%
DynamoDB MySQL RDSInstance
ElastiCache Cache Node
![Page 48: Introduction to DevOps on AWS](https://reader036.vdocument.in/reader036/viewer/2022081422/586fd8bb1a28ab18428b56d7/html5/thumbnails/48.jpg)
AMI Deployment Method - DeployingBlue/Green Deploys
– We stand up a duplicate part of our infrastructure and slowly cut traffic over to it
• Shift via DNS• Makes it easy to do testing of new
features• Makes it easy to roll back
– As we shift more traffic over, let auto-scaling grow/shrink our instances of the new or old application
• Shut down the old when no traffic there
Amazon Route 53
EC2 Instances
ELB
EC2 Instances
ELB
0% 100%
DynamoDB MySQL RDSInstance
ElastiCache Cache Node
![Page 49: Introduction to DevOps on AWS](https://reader036.vdocument.in/reader036/viewer/2022081422/586fd8bb1a28ab18428b56d7/html5/thumbnails/49.jpg)
AMI Deployment Method - DeployingBlue/Green Deploys
– We stand up a duplicate part of our infrastructure and slowly cut traffic over to it
• Shift via DNS• Makes it easy to do testing of new
features• Makes it easy to roll back
– As we shift more traffic over, let auto-scaling grow/shrink our instances of the new or old application
• Shut down the old when no traffic there
Amazon Route 53
EC2 Instances
ELB
EC2 Instances
ELB
0% 100%
DynamoDB MySQL RDSInstance
ElastiCache Cache Node
![Page 50: Introduction to DevOps on AWS](https://reader036.vdocument.in/reader036/viewer/2022081422/586fd8bb1a28ab18428b56d7/html5/thumbnails/50.jpg)
AMI Deployment Method - DeployingBlue/Green Deploys
– We stand up a duplicate part of our infrastructure and slowly cut traffic over to it
• Shift via DNS• Makes it easy to do testing of new
features• Makes it easy to roll back
– As we shift more traffic over, let auto-scaling grow/shrink our instances of the new or old application
• Shut down the old when no traffic there
Amazon Route 53
EC2 Instances
ELB
100%
DynamoDB MySQL RDSInstance
ElastiCache Cache Node
![Page 51: Introduction to DevOps on AWS](https://reader036.vdocument.in/reader036/viewer/2022081422/586fd8bb1a28ab18428b56d7/html5/thumbnails/51.jpg)
AMI Deployment Method - DeployingBlue/Green Deploys
– We stand up a duplicate part of our infrastructure and slowly cut traffic over to it
• Shift via DNS• Makes it easy to do testing of new
features• Makes it easy to roll back
– As we shift more traffic over, let auto-scaling grow/shrink our instances of the new or old application
• Shut down the old when no traffic there
Amazon Route 53
EC2 Instances
ELB
100%
DynamoDB MySQL RDSInstance
ElastiCache Cache Node
![Page 52: Introduction to DevOps on AWS](https://reader036.vdocument.in/reader036/viewer/2022081422/586fd8bb1a28ab18428b56d7/html5/thumbnails/52.jpg)
Further Reading
• AWS Documentation - http://aws.amazon.com/documentation
• AWS Technical Whitepapers – http://aws.amazon.com/whitepapers
• AWS Architecture Center – http://aws.amazon.com/architecture