SlideShare una empresa de Scribd logo
1 de 83
AWS Government, Education, &
Nonprofits Symposium
Canberra, Australia | May 6, 2015
Continuous Integration and Deployment Best Practices
on AWS
Adrian White
Solutions Architect
Amazon Web Services
What are we covering today?
• Consistency through the development, test and
release lifecycle
• Improve quality over time
• Increase velocity of application change
• AWS deployment and management approaches
• What does deployment look like in the future?
Task tracker
Continuous integration /
Automated testing /
Release management
Artifact repository
Source code
management
Deployment service
AWS OpsWorks
Elastic Beanstalk
AWS
CloudFormation
AWS
CodeDeploy
Local
development
Application lifecycle management workflow
AWS Code and Deployment Tools
MonitorProvisionDeployTestBuildCode
Elastic Beanstalk
OpsWorks
Cloud
Watch
Cloud
Formation
Code
Deploy
Code
Commit
Code
Pipeline
Local development challenges
• Source code management design
• “But it works on my machine”
• Portable development environments
• Distributed teams work on tasks in parallel
Source code management features
• Fast and easy branching
• Pull requests for distributed development workflows
• Code review
• Audit, logging, security
Feature branching, Gitflow and Pull requests
Inspired by https://www.atlassian.com/git/tutorials/comparing-workflows/feature-branch-workflow/
Master Develop Release Feature Hotfix
Container image factories

(for consistency)
…
CodeCommit
• Private Git on AWS
• Massive scaled version controlled projects
• High service availability and resiliency
• Encrypted at rest
• Pay as you go pricing
• Import from SVN, Git, Microsoft TFS
• Use IAM to control access to repositories
CodeCommit workflow
git clone
create repository Create repository
Receive clone request
Sync local / remote repos
modify local files
git add / commit / push
Receive push request
Update remote repo
git pull
Receive push request
Update remote repo
List repos, list branches
Display response
Receive requests
Send responses
Why use a release automation service?
Automate
workflow
Release
quickly
Ensure
quality
CodePipeline
• Customizable workflow engine
• Integrate with partner and custom systems
• Visual editor and status
Continuous delivery and release automation, just like Amazon
Build
1) Build
2) Unit test
1) Deploy
2) UI test
Source Beta Production
1) Deploy
2) Load test
Gamma
1) Deploy region1
2) Deploy region2
3) Deploy region3
How do you ship application changes?
• Deployment approaches
– In place vs discrete stacks
• Where is state in the system?
– Stateless vs stateful application components
• Frequency and speed of change
Why use a deployment service?
Automate
deployments
Manage
complexity
Avoid
downtime
CodeDeploy
• Scale from 1 instance to thousands
• Deploy without downtime
• Centralize deployment control and monitoring
Staging
CodeDeployv1, v2, v3
Production
Dev
Coordinate automated deployments, just like Amazon
Application
revisions
Deployment groups
Step 1: Package your application (with an AppSpec
file)
version: 0.0
os: linux
files:
- source: chef/
destination: /etc/chef/codedeploy
- source: target/hello.war
destination: /var/lib/tomcat6/webapps
hooks:
ApplicationStop:
- location: deploy_hooks/stop-tomcat.sh
BeforeInstall:
- location: deploy_hooks/install-chef.sh
AfterInstall:
- location: deploy_hooks/librarian-install.sh
ApplicationStart:
- location: deploy_hooks/chef-solo.sh
ValidateService:
- location: deploy_hooks/verify_service.sh
Step 1: Package your application (with an AppSpec
file)
version: 0.0
os: linux
files:
- source: chef/
destination: /etc/chef/codedeploy
- source: target/hello.war
destination: /var/lib/tomcat6/webapps
hooks:
ApplicationStop:
- location: deploy_hooks/stop-tomcat.sh
BeforeInstall:
- location: deploy_hooks/install-chef.sh
AfterInstall:
- location: deploy_hooks/librarian-install.sh
ApplicationStart:
- location: deploy_hooks/chef-solo.sh
ValidateService:
- location: deploy_hooks/verify_service.sh
Step 1: Package your application (with an AppSpec
file)
version: 0.0
os: linux
files:
- source: chef/
destination: /etc/chef/codedeploy
- source: target/hello.war
destination: /var/lib/tomcat6/webapps
hooks:
ApplicationStop:
- location: deploy_hooks/stop-tomcat.sh
BeforeInstall:
- location: deploy_hooks/install-chef.sh
AfterInstall:
- location: deploy_hooks/librarian-install.sh
ApplicationStart:
- location: deploy_hooks/chef-solo.sh
ValidateService:
- location: deploy_hooks/verify_service.sh
Step 2: Set up your target environments
Agent Agent Agent
Staging
Agent Agent
Agent Agent
Agent
Agent
Production
Deployment groupDeployment group
Group instances by:
• Auto Scaling group
• Amazon EC2 tag
• On-premises tag
Step 3: Deploy!
aws deploy create-deployment 
--application-name MyApp 
--deployment-group-name TargetGroup 
--s3-location bucket=MyBucket,key=MyApp.zip
AWS CLI & SDKs
AWS Console
CI / CD Partners
GitHub
Deployment config – Choose speed
v2 v1 v1 v1 v1 v1 v1 v1
v2 v2 v2 v2 v1 v1 v1 v1
v2 v2 v2 v2 v2 v2 v2 v2
One-at-a-time
Half-at-a-time
All-at-once
Rolling update – Deploy without downtime
v1v1 v1
Load Balancer
Rolling update – Deploy without downtime
v1v2 v1
Load Balancer
Rolling update – Deploy without downtime
v2v2 v1
Load Balancer
Rolling update – Deploy without downtime
v2v2v2
Load Balancer
Rolling update – Deploy without downtime
v2v2 v2
Load Balancer
Health Tracking – Catch deployment problems
v2v2 v2
Load Balancer
Health tracking – Catch deployment problems
v3 v2 v2Stop
Load Balancer
Health tracking – Catch deployment problems
v2v2 v2
Load Balancer
Rollback
Product integrations
Demo: CodeDeploy & Atlassian Bamboo
Shipping artifacts to new environments
• What if we can quickly and easily build new environments
every time?
• CloudFormation
– Deploying AMIs
– Deploying containers
• CodeDeploy to manage discrete application versions
Shipping artifacts – Discrete environments
Tasks for AWS
AWS CloudFormation
Discrete stacks
Shipping artifacts – Immutability via containers
ECS cluster
Amazon EC2
Container Service
Immutable infrastructure with Docker and
Amazon EC2 Container Service (ECS)
Tasks for AWS
Shipping artifacts – Immutability via containers
Tasks for AWS
ECS now supports ELB, health checks,
scale-up and scale-down and update
management
ECS Task
Definition
ECS cluster with tasks
ECS Task Definitions
{
"containerDefinitions": [
{
"name": "wordpress",
"links": [
"mysql"
],
"image": "wordpress",
"essential": true,
"portMappings": [
{
"containerPort": 80,
"hostPort": 80
}
],
"memory": 500,
"cpu": 10
},
{
"environment": [
{
"name": "MYSQL_ROOT_PASSWORD",
"value": "password"
}
],
"name": "mysql",
"image": "mysql",
"cpu": 10,
"memory": 500,
"essential": true
}
],
"family": "hello_world"
}
CLASSIFICATION: INTERNAL
Cameron Gough, General Manager – Digital Delivery Centre
Andrew Dilenis, Head of Digital Systems
Moving to AWS – our story
Cameron.gough@auspost.com.au, @cam_gough
Andrew.Dilenis@auspost.com.au
© 2015 Australia Post
60 Applications
2.4M Registered Users
140M Visits Per year
250 Digital Natives
15 Agile teams
3 Tribes
© 2015 Australia Post
Demonstration
© 2015 Australia Post
The
Opportunity
Bundesarchiv, B 145 Bild-F038791-0035 / Schaack, Lothar / CC-BY-SA [CC BY-SA 3.0 de (http://creativecommons.org/licenses/by-sa/3.0/de/deed.en)], via Wikimedia Commons
© 2015 Australia Post
AWS Pilot
3 tier simple app
Time boxed
3 smart people
Allowed 8 weeks
No plan, just go
© 2015 Australia Post
What we found – the good
>95% time and cost saving
9 days to 15 minutes
Automation
New Way of Working
Quality
Quick entry
© 2015 Australia Post
What we found – gotchas
Design in cost controls
Security
Licencing
Re-architect
New thinking
© 2015 Australia Post
Approach
Start doing, stop planning
Agile
Rework = learning
Think devops
AWS help
Ask “Why?” – often
Be brave!
© 2015 Australia Post
From Pets…
…to Cattle
© 2015 Australia Post
Two Artefacts
repo automation-code configuration
artefact automation-code-2.3.0.tgz configuration-2.3.0-1.tgz
purpose Automation logic Configuration that describes the
stack and its environment
technologies • AWS CloudFormation for
infrastructure provisioning
• Puppet for Configuration
Management
• Python scripts for deployment
process
• Puppet Hiera
Automation
Config
2.3.0-1
Automation
Code
2.3.0
© 2015 Australia Post
Streamlined Processes
I want to deploy my application including
infrastructure changes
2.1 2.1
© 2015 Australia Post
Streamlined Processes
I want to deploy my application including
infrastructure changes
1.Code – commit, push and pull request
2.1 2.1
© 2015 Australia Post
Streamlined Processes
I want to deploy my application including
infrastructure changes
1.Code – commit, push and pull request
2.Update stack with new versions of artefacts
2.1 2.1
© 2015 Australia Post
Streamlined Processes
I want to deploy my application including
infrastructure changes
1.Code – commit, push and pull request
2.Update stack with new versions of artefacts
3.Scale up autoscale group (2 > 4)
2.1 2.1 2.2 2.2
© 2015 Australia Post
Streamlined Processes
I want to deploy my application including
infrastructure changes
1.Code – commit, push and pull request
2.Update stack with new versions of artefacts
3.Scale up autoscale group (2 > 4)
4.Scale down autoscale group (4 > 2)2.1 2.1 2.2 2.2
© 2015 Australia Post
Streamlined Processes
I want to deploy my application including
infrastructure changes
1.Code – commit, push and pull request
2.Update stack with new versions of artefacts
3.Scale up autoscale group (2 > 4)
4.Scale down autoscale group (4 > 2)
5.Done!
2.2 2.2
© 2015 Australia Post
Streamlined Processes
I want to deploy my application including
infrastructure changes
1.Code – commit, push and pull request
2.Update stack with new versions of artefacts
3.Scale up autoscale group (2 > 4)
4.Scale down autoscale group (4 > 2)
5.Done!
2.2 2.2
Exact same process for:
© 2015 Australia Post
Streamlined Processes
I want to deploy my application including
infrastructure changes
1.Code – commit, push and pull request
2.Update stack with new versions of artefacts
3.Scale up autoscale group (2 > 4)
4.Scale down autoscale group (4 > 2)
5.Done!
2.2 2.2
Exact same process for:
© 2015 Australia Post
Streamlined Processes
I want to deploy my application including
infrastructure changes
1.Code – commit, push and pull request
2.Update stack with new versions of artefacts
3.Scale up autoscale group (2 > 4)
4.Scale down autoscale group (4 > 2)
5.Done!
2.2 2.2
Exact same process for:
• Modifying application configuration
© 2015 Australia Post
Streamlined Processes
I want to deploy my application including
infrastructure changes
1.Code – commit, push and pull request
2.Update stack with new versions of artefacts
3.Scale up autoscale group (2 > 4)
4.Scale down autoscale group (4 > 2)
5.Done!
2.2 2.2
Exact same process for:
• Modifying application configuration
• Patching for security vulnerabilities
© 2015 Australia Post
Streamlined Processes
I want to deploy my application including
infrastructure changes
1.Code – commit, push and pull request
2.Update stack with new versions of artefacts
3.Scale up autoscale group (2 > 4)
4.Scale down autoscale group (4 > 2)
5.Done!
2.2 2.2
Exact same process for:
• Modifying application configuration
• Patching for security vulnerabilities
• Certificate rotation
© 2015 Australia Post
Streamlined Processes
I want to deploy my application including
infrastructure changes
1.Code – commit, push and pull request
2.Update stack with new versions of artefacts
3.Scale up autoscale group (2 > 4)
4.Scale down autoscale group (4 > 2)
5.Done!
2.2 2.2
Exact same process for:
• Modifying application configuration
• Patching for security vulnerabilities
• Certificate rotation
• Stack enhancements
© 2015 Australia Post
Provisioning, how it fits…
© 2015 Australia Post
Provisioning, how it fits…
© 2015 Australia Post
Provisioning, how it fits…
© 2015 Australia Post
Provisioning, how it fits…
© 2015 Australia Post
Provisioning, how it fits…
© 2015 Australia Post
Provisioning, how it fits…
© 2015 Australia Post
Provisioning, how it fits…
© 2015 Australia Post
Provisions “application stacks”
© 2015 Australia Post
Provisions “application stacks”
Web Stack
with Nginx
© 2015 Australia Post
Provisions “application stacks”
Web Stack
with Nginx
Web Stack with
Apache
© 2015 Australia Post
Provisions “application stacks”
Web Stack
with Nginx
Web Stack with
Apache
App Stack with
Tomcat/JRE
Amazon
S3
Dynamo DB
© 2015 Australia Post
Provisions “application stacks”
Web Stack
with Nginx
Web Stack with
Apache
Every Stack…
App Stack with
Tomcat/JRE
Amazon
S3
Dynamo DB
© 2015 Australia Post
Provisions “application stacks”
Web Stack
with Nginx
Web Stack with
Apache
Every Stack…
CloudWatch
Monitoring, metrics… Logging…
In-transit
encryption…
App Stack with
Tomcat/JRE
Amazon
S3
Dynamo DB
© 2015 Australia Post
Results
All apps in AWS
500+ full stacks per month
Consistent Environments
Patching
Variable spend
Teams self-serve
0
400
800
1200
1600
2013-11 2014-01 2014-03 2014-05 2014-07 2014-09 2014-11 2015-01
Production Stacks
Transient Stacks
© 2015 Australia Post
Demonstration
© 2015 Australia Post
Working Differently
Safe to experiment
Iterate and release more often
Micro-services
Focus on value creation
© 2015 Australia Post
Customer Outcomes
Better experiences,
delivered more often
For further information, please contact:
Thank you
© 2015 Australia Post
Cameron Gough, General Manager – Digital Delivery Centre
cameron.gough@auspost.com.au
@cam_gough
Andrew Dilenis, Head of Digital Systems
andrew.dilenis@auspost.com.au
The Future – what are you really deploying?
• Application bundles?
• AMIs?
• Docker containers?
• Lambda functions?
• Microservices architectures…
• Service-Oriented
Architecture (SOA)

• Everything gets a
service interface

• Primitives

• “Microservices”
Thousands of teams +



Microservices architecture +
Multiple environments +
Continuous delivery





= 50 million deployments a year
Thousands of teams +



Microservices architecture +
Multiple environments +
Continuous delivery





Where to go next…
• AWS Training & Certification
– http://aws.amazon.com/training/
• Deployment and Management at AWS
– http://aws.amazon.com/application-management/
• Code Management and Deployment
– https://aws.amazon.com/blogs/aws/code-management-and-
deployment/
• Amazon EC2 Container Service
– http://aws.amazon.com/ecs/
Thank You

Más contenido relacionado

La actualidad más candente

Day 3 - DevOps Culture - Continuous Integration & Continuous Deployment on th...
Day 3 - DevOps Culture - Continuous Integration & Continuous Deployment on th...Day 3 - DevOps Culture - Continuous Integration & Continuous Deployment on th...
Day 3 - DevOps Culture - Continuous Integration & Continuous Deployment on th...Amazon Web Services
 
A tale of two pizzas: Developer tools at AWS
A tale of two pizzas: Developer tools at AWSA tale of two pizzas: Developer tools at AWS
A tale of two pizzas: Developer tools at AWSAmazon Web Services
 
AWS re:Invent 2016: Enabling DevOps for an Enterprise with AWS Service Catalo...
AWS re:Invent 2016: Enabling DevOps for an Enterprise with AWS Service Catalo...AWS re:Invent 2016: Enabling DevOps for an Enterprise with AWS Service Catalo...
AWS re:Invent 2016: Enabling DevOps for an Enterprise with AWS Service Catalo...Amazon Web Services
 
DevOps On AWS - Deep Dive on Continuous Delivery
DevOps On AWS - Deep Dive on Continuous DeliveryDevOps On AWS - Deep Dive on Continuous Delivery
DevOps On AWS - Deep Dive on Continuous DeliveryMikhail Prudnikov
 
AWS Summit Sydney 2014 | Continuous Integration and Deployment Best Practices...
AWS Summit Sydney 2014 | Continuous Integration and Deployment Best Practices...AWS Summit Sydney 2014 | Continuous Integration and Deployment Best Practices...
AWS Summit Sydney 2014 | Continuous Integration and Deployment Best Practices...Amazon Web Services
 
Infrastructure as Code with Ansible
Infrastructure as Code with AnsibleInfrastructure as Code with Ansible
Infrastructure as Code with AnsibleDaniel Bezerra
 
Devops with Amazon Web Services (January 2017)
Devops with Amazon Web Services (January 2017)Devops with Amazon Web Services (January 2017)
Devops with Amazon Web Services (January 2017)Julien SIMON
 
AWS CodeDeploy, AWS CodePipeline, and AWS CodeCommit: Transforming Software D...
AWS CodeDeploy, AWS CodePipeline, and AWS CodeCommit: Transforming Software D...AWS CodeDeploy, AWS CodePipeline, and AWS CodeCommit: Transforming Software D...
AWS CodeDeploy, AWS CodePipeline, and AWS CodeCommit: Transforming Software D...Amazon Web Services
 
Test-Driven Infrastructure with CloudFormation and Cucumber.
Test-Driven Infrastructure with CloudFormation and Cucumber. Test-Driven Infrastructure with CloudFormation and Cucumber.
Test-Driven Infrastructure with CloudFormation and Cucumber. Stelligent
 
Building a CI/CD Pipeline for Containers - DevDay Los Angeles 2017
Building a CI/CD Pipeline for Containers - DevDay Los Angeles 2017Building a CI/CD Pipeline for Containers - DevDay Los Angeles 2017
Building a CI/CD Pipeline for Containers - DevDay Los Angeles 2017Amazon Web Services
 
Database deployments - dotnetsheff
Database deployments - dotnetsheffDatabase deployments - dotnetsheff
Database deployments - dotnetsheffGiulio Vian
 
DevOps, Continuous Integration and Deployment on AWS
DevOps, Continuous Integration and Deployment on AWSDevOps, Continuous Integration and Deployment on AWS
DevOps, Continuous Integration and Deployment on AWSAmazon Web Services
 
DevOps, Common use cases, Architectures, Best Practices
DevOps, Common use cases, Architectures, Best PracticesDevOps, Common use cases, Architectures, Best Practices
DevOps, Common use cases, Architectures, Best PracticesShiva Narayanaswamy
 
Accelerating DevOps Pipelines with AWS
Accelerating DevOps Pipelines with AWSAccelerating DevOps Pipelines with AWS
Accelerating DevOps Pipelines with AWSAmazon Web Services
 
DevOps at Amazon: A Look at Our Tools and Processes
DevOps at Amazon: A Look at Our Tools and ProcessesDevOps at Amazon: A Look at Our Tools and Processes
DevOps at Amazon: A Look at Our Tools and ProcessesAmazon Web Services
 
WinOps Conf 2016 - Ed Wilson - Configuration Management with Azure DSC
WinOps Conf 2016 - Ed Wilson - Configuration Management with Azure DSCWinOps Conf 2016 - Ed Wilson - Configuration Management with Azure DSC
WinOps Conf 2016 - Ed Wilson - Configuration Management with Azure DSCWinOps Conf
 
WinOps Conf 2016 - Jeffrey Snover - The DevOpsification of Windows Server
WinOps Conf 2016 - Jeffrey Snover - The DevOpsification of Windows ServerWinOps Conf 2016 - Jeffrey Snover - The DevOpsification of Windows Server
WinOps Conf 2016 - Jeffrey Snover - The DevOpsification of Windows ServerWinOps Conf
 
AWS CodeDeploy: Manage Deployment Complexity
AWS CodeDeploy: Manage Deployment ComplexityAWS CodeDeploy: Manage Deployment Complexity
AWS CodeDeploy: Manage Deployment ComplexityAmazon Web Services
 

La actualidad más candente (20)

Day 3 - DevOps Culture - Continuous Integration & Continuous Deployment on th...
Day 3 - DevOps Culture - Continuous Integration & Continuous Deployment on th...Day 3 - DevOps Culture - Continuous Integration & Continuous Deployment on th...
Day 3 - DevOps Culture - Continuous Integration & Continuous Deployment on th...
 
A tale of two pizzas: Developer tools at AWS
A tale of two pizzas: Developer tools at AWSA tale of two pizzas: Developer tools at AWS
A tale of two pizzas: Developer tools at AWS
 
AWS re:Invent 2016: Enabling DevOps for an Enterprise with AWS Service Catalo...
AWS re:Invent 2016: Enabling DevOps for an Enterprise with AWS Service Catalo...AWS re:Invent 2016: Enabling DevOps for an Enterprise with AWS Service Catalo...
AWS re:Invent 2016: Enabling DevOps for an Enterprise with AWS Service Catalo...
 
DevOps On AWS - Deep Dive on Continuous Delivery
DevOps On AWS - Deep Dive on Continuous DeliveryDevOps On AWS - Deep Dive on Continuous Delivery
DevOps On AWS - Deep Dive on Continuous Delivery
 
AWS Summit Sydney 2014 | Continuous Integration and Deployment Best Practices...
AWS Summit Sydney 2014 | Continuous Integration and Deployment Best Practices...AWS Summit Sydney 2014 | Continuous Integration and Deployment Best Practices...
AWS Summit Sydney 2014 | Continuous Integration and Deployment Best Practices...
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
Infrastructure as Code with Ansible
Infrastructure as Code with AnsibleInfrastructure as Code with Ansible
Infrastructure as Code with Ansible
 
Devops with Amazon Web Services (January 2017)
Devops with Amazon Web Services (January 2017)Devops with Amazon Web Services (January 2017)
Devops with Amazon Web Services (January 2017)
 
AWS CodeDeploy, AWS CodePipeline, and AWS CodeCommit: Transforming Software D...
AWS CodeDeploy, AWS CodePipeline, and AWS CodeCommit: Transforming Software D...AWS CodeDeploy, AWS CodePipeline, and AWS CodeCommit: Transforming Software D...
AWS CodeDeploy, AWS CodePipeline, and AWS CodeCommit: Transforming Software D...
 
Test-Driven Infrastructure with CloudFormation and Cucumber.
Test-Driven Infrastructure with CloudFormation and Cucumber. Test-Driven Infrastructure with CloudFormation and Cucumber.
Test-Driven Infrastructure with CloudFormation and Cucumber.
 
DevOps on AWS
DevOps on AWSDevOps on AWS
DevOps on AWS
 
Building a CI/CD Pipeline for Containers - DevDay Los Angeles 2017
Building a CI/CD Pipeline for Containers - DevDay Los Angeles 2017Building a CI/CD Pipeline for Containers - DevDay Los Angeles 2017
Building a CI/CD Pipeline for Containers - DevDay Los Angeles 2017
 
Database deployments - dotnetsheff
Database deployments - dotnetsheffDatabase deployments - dotnetsheff
Database deployments - dotnetsheff
 
DevOps, Continuous Integration and Deployment on AWS
DevOps, Continuous Integration and Deployment on AWSDevOps, Continuous Integration and Deployment on AWS
DevOps, Continuous Integration and Deployment on AWS
 
DevOps, Common use cases, Architectures, Best Practices
DevOps, Common use cases, Architectures, Best PracticesDevOps, Common use cases, Architectures, Best Practices
DevOps, Common use cases, Architectures, Best Practices
 
Accelerating DevOps Pipelines with AWS
Accelerating DevOps Pipelines with AWSAccelerating DevOps Pipelines with AWS
Accelerating DevOps Pipelines with AWS
 
DevOps at Amazon: A Look at Our Tools and Processes
DevOps at Amazon: A Look at Our Tools and ProcessesDevOps at Amazon: A Look at Our Tools and Processes
DevOps at Amazon: A Look at Our Tools and Processes
 
WinOps Conf 2016 - Ed Wilson - Configuration Management with Azure DSC
WinOps Conf 2016 - Ed Wilson - Configuration Management with Azure DSCWinOps Conf 2016 - Ed Wilson - Configuration Management with Azure DSC
WinOps Conf 2016 - Ed Wilson - Configuration Management with Azure DSC
 
WinOps Conf 2016 - Jeffrey Snover - The DevOpsification of Windows Server
WinOps Conf 2016 - Jeffrey Snover - The DevOpsification of Windows ServerWinOps Conf 2016 - Jeffrey Snover - The DevOpsification of Windows Server
WinOps Conf 2016 - Jeffrey Snover - The DevOpsification of Windows Server
 
AWS CodeDeploy: Manage Deployment Complexity
AWS CodeDeploy: Manage Deployment ComplexityAWS CodeDeploy: Manage Deployment Complexity
AWS CodeDeploy: Manage Deployment Complexity
 

Destacado

Anatomy of a Continuous Integration and Delivery (CICD) Pipeline
Anatomy of a Continuous Integration and Delivery (CICD) PipelineAnatomy of a Continuous Integration and Delivery (CICD) Pipeline
Anatomy of a Continuous Integration and Delivery (CICD) PipelineRobert McDermott
 
CI and CD with Jenkins
CI and CD with JenkinsCI and CD with Jenkins
CI and CD with JenkinsMartin Málek
 
CI/CD on AWS: Deploy Everything All the Time | AWS Public Sector Summit 2016
CI/CD on AWS: Deploy Everything All the Time | AWS Public Sector Summit 2016CI/CD on AWS: Deploy Everything All the Time | AWS Public Sector Summit 2016
CI/CD on AWS: Deploy Everything All the Time | AWS Public Sector Summit 2016Amazon Web Services
 
DevOps on AWS: Accelerating Software Delivery with the AWS Developer Tools
DevOps on AWS: Accelerating Software Delivery with the AWS Developer ToolsDevOps on AWS: Accelerating Software Delivery with the AWS Developer Tools
DevOps on AWS: Accelerating Software Delivery with the AWS Developer ToolsAmazon Web Services
 
DevOps at Amazon: A Look at Our Tools and Processes
DevOps at Amazon: A Look at Our Tools and ProcessesDevOps at Amazon: A Look at Our Tools and Processes
DevOps at Amazon: A Look at Our Tools and ProcessesAmazon Web Services
 
AWS re:Invent 2016: Serverless Architectural Patterns and Best Practices (ARC...
AWS re:Invent 2016: Serverless Architectural Patterns and Best Practices (ARC...AWS re:Invent 2016: Serverless Architectural Patterns and Best Practices (ARC...
AWS re:Invent 2016: Serverless Architectural Patterns and Best Practices (ARC...Amazon Web Services
 
Becoming Friends with Cassandra
Becoming Friends with Cassandra Becoming Friends with Cassandra
Becoming Friends with Cassandra DataStax
 
Continuous Deployment with Cassandra
Continuous Deployment with CassandraContinuous Deployment with Cassandra
Continuous Deployment with CassandraDataStax Academy
 
AWS Code{Commit,Deploy,Pipeline} (June 2016)
 AWS Code{Commit,Deploy,Pipeline} (June 2016) AWS Code{Commit,Deploy,Pipeline} (June 2016)
AWS Code{Commit,Deploy,Pipeline} (June 2016)Julien SIMON
 
Accelerating the Software Delivery Pipelinewith Mirantis OpenStack
Accelerating the Software Delivery Pipelinewith Mirantis OpenStackAccelerating the Software Delivery Pipelinewith Mirantis OpenStack
Accelerating the Software Delivery Pipelinewith Mirantis OpenStackBob Sokol
 
Scaling Crashlytics: Building Analytics on Redis 2.6
Scaling Crashlytics: Building Analytics on Redis 2.6Scaling Crashlytics: Building Analytics on Redis 2.6
Scaling Crashlytics: Building Analytics on Redis 2.6Crashlytics
 
Continuous Delivery in a Complex S.O.A.
Continuous Delivery in a Complex S.O.A.Continuous Delivery in a Complex S.O.A.
Continuous Delivery in a Complex S.O.A.Richard Lennox
 
Serverless Security: Doing Security in 100 milliseconds
Serverless Security: Doing Security in 100 millisecondsServerless Security: Doing Security in 100 milliseconds
Serverless Security: Doing Security in 100 millisecondsJames Wickett
 
Chat ops .. a beginner's guide
Chat ops .. a beginner's guideChat ops .. a beginner's guide
Chat ops .. a beginner's guideJason Hand
 
Pre-Con Ed: Simplify Administration and Reporting in CA Application Performan...
Pre-Con Ed: Simplify Administration and Reporting in CA Application Performan...Pre-Con Ed: Simplify Administration and Reporting in CA Application Performan...
Pre-Con Ed: Simplify Administration and Reporting in CA Application Performan...CA Technologies
 
How Autodesk Leverages Splunk as an Assurance Platform on AWS
How Autodesk Leverages Splunk as an Assurance Platform on AWSHow Autodesk Leverages Splunk as an Assurance Platform on AWS
How Autodesk Leverages Splunk as an Assurance Platform on AWSAlan Williams
 
Pragmatic Security and Rugged DevOps - SXSW 2015
Pragmatic Security and Rugged DevOps - SXSW 2015Pragmatic Security and Rugged DevOps - SXSW 2015
Pragmatic Security and Rugged DevOps - SXSW 2015James Wickett
 
Continuous Integration (CI) - An effective development practice
Continuous Integration (CI) - An effective development practiceContinuous Integration (CI) - An effective development practice
Continuous Integration (CI) - An effective development practiceDao Ngoc Kien
 
DevOps in the Amazon Warehouse - Shawn Gandhi
DevOps in the Amazon Warehouse - Shawn GandhiDevOps in the Amazon Warehouse - Shawn Gandhi
DevOps in the Amazon Warehouse - Shawn GandhiTriNimbus
 

Destacado (20)

Anatomy of a Continuous Integration and Delivery (CICD) Pipeline
Anatomy of a Continuous Integration and Delivery (CICD) PipelineAnatomy of a Continuous Integration and Delivery (CICD) Pipeline
Anatomy of a Continuous Integration and Delivery (CICD) Pipeline
 
CI and CD with Jenkins
CI and CD with JenkinsCI and CD with Jenkins
CI and CD with Jenkins
 
CI/CD on AWS: Deploy Everything All the Time | AWS Public Sector Summit 2016
CI/CD on AWS: Deploy Everything All the Time | AWS Public Sector Summit 2016CI/CD on AWS: Deploy Everything All the Time | AWS Public Sector Summit 2016
CI/CD on AWS: Deploy Everything All the Time | AWS Public Sector Summit 2016
 
DevOps on AWS: Accelerating Software Delivery with the AWS Developer Tools
DevOps on AWS: Accelerating Software Delivery with the AWS Developer ToolsDevOps on AWS: Accelerating Software Delivery with the AWS Developer Tools
DevOps on AWS: Accelerating Software Delivery with the AWS Developer Tools
 
DevOps at Amazon: A Look at Our Tools and Processes
DevOps at Amazon: A Look at Our Tools and ProcessesDevOps at Amazon: A Look at Our Tools and Processes
DevOps at Amazon: A Look at Our Tools and Processes
 
AWS re:Invent 2016: Serverless Architectural Patterns and Best Practices (ARC...
AWS re:Invent 2016: Serverless Architectural Patterns and Best Practices (ARC...AWS re:Invent 2016: Serverless Architectural Patterns and Best Practices (ARC...
AWS re:Invent 2016: Serverless Architectural Patterns and Best Practices (ARC...
 
Becoming Friends with Cassandra
Becoming Friends with Cassandra Becoming Friends with Cassandra
Becoming Friends with Cassandra
 
Continuous Deployment with Cassandra
Continuous Deployment with CassandraContinuous Deployment with Cassandra
Continuous Deployment with Cassandra
 
AWS Code{Commit,Deploy,Pipeline} (June 2016)
 AWS Code{Commit,Deploy,Pipeline} (June 2016) AWS Code{Commit,Deploy,Pipeline} (June 2016)
AWS Code{Commit,Deploy,Pipeline} (June 2016)
 
Accelerating the Software Delivery Pipelinewith Mirantis OpenStack
Accelerating the Software Delivery Pipelinewith Mirantis OpenStackAccelerating the Software Delivery Pipelinewith Mirantis OpenStack
Accelerating the Software Delivery Pipelinewith Mirantis OpenStack
 
Scaling Crashlytics: Building Analytics on Redis 2.6
Scaling Crashlytics: Building Analytics on Redis 2.6Scaling Crashlytics: Building Analytics on Redis 2.6
Scaling Crashlytics: Building Analytics on Redis 2.6
 
Continuous Delivery in a Complex S.O.A.
Continuous Delivery in a Complex S.O.A.Continuous Delivery in a Complex S.O.A.
Continuous Delivery in a Complex S.O.A.
 
Serverless Security: Doing Security in 100 milliseconds
Serverless Security: Doing Security in 100 millisecondsServerless Security: Doing Security in 100 milliseconds
Serverless Security: Doing Security in 100 milliseconds
 
Chat ops .. a beginner's guide
Chat ops .. a beginner's guideChat ops .. a beginner's guide
Chat ops .. a beginner's guide
 
Aws tools cicd
Aws tools cicdAws tools cicd
Aws tools cicd
 
Pre-Con Ed: Simplify Administration and Reporting in CA Application Performan...
Pre-Con Ed: Simplify Administration and Reporting in CA Application Performan...Pre-Con Ed: Simplify Administration and Reporting in CA Application Performan...
Pre-Con Ed: Simplify Administration and Reporting in CA Application Performan...
 
How Autodesk Leverages Splunk as an Assurance Platform on AWS
How Autodesk Leverages Splunk as an Assurance Platform on AWSHow Autodesk Leverages Splunk as an Assurance Platform on AWS
How Autodesk Leverages Splunk as an Assurance Platform on AWS
 
Pragmatic Security and Rugged DevOps - SXSW 2015
Pragmatic Security and Rugged DevOps - SXSW 2015Pragmatic Security and Rugged DevOps - SXSW 2015
Pragmatic Security and Rugged DevOps - SXSW 2015
 
Continuous Integration (CI) - An effective development practice
Continuous Integration (CI) - An effective development practiceContinuous Integration (CI) - An effective development practice
Continuous Integration (CI) - An effective development practice
 
DevOps in the Amazon Warehouse - Shawn Gandhi
DevOps in the Amazon Warehouse - Shawn GandhiDevOps in the Amazon Warehouse - Shawn Gandhi
DevOps in the Amazon Warehouse - Shawn Gandhi
 

Similar a Continuous Integration and Deployment Best Practices on AWS

Managing Your Application Lifecycle on AWS: Continuous Integration and Deploy...
Managing Your Application Lifecycle on AWS: Continuous Integration and Deploy...Managing Your Application Lifecycle on AWS: Continuous Integration and Deploy...
Managing Your Application Lifecycle on AWS: Continuous Integration and Deploy...Amazon Web Services
 
Continuous Delivery to Amazon EC2 Container Service
Continuous Delivery to Amazon EC2 Container ServiceContinuous Delivery to Amazon EC2 Container Service
Continuous Delivery to Amazon EC2 Container ServiceAmazon Web Services
 
AWS January 2016 Webinar Series - Introduction to Deploying Applications on AWS
AWS January 2016 Webinar Series - Introduction to Deploying Applications on AWSAWS January 2016 Webinar Series - Introduction to Deploying Applications on AWS
AWS January 2016 Webinar Series - Introduction to Deploying Applications on AWSAmazon Web Services
 
Continuous Delivery to Amazon ECS - AWS August Webinar Series
Continuous Delivery to Amazon ECS - AWS August Webinar SeriesContinuous Delivery to Amazon ECS - AWS August Webinar Series
Continuous Delivery to Amazon ECS - AWS August Webinar SeriesAmazon Web Services
 
Continuous Delivery to Amazon ECS
Continuous Delivery to Amazon ECSContinuous Delivery to Amazon ECS
Continuous Delivery to Amazon ECSAmazon Web Services
 
Transforming Software Development
Transforming Software DevelopmentTransforming Software Development
Transforming Software DevelopmentAmazon Web Services
 
Using Azure DevOps to continuously build, test, and deploy containerized appl...
Using Azure DevOps to continuously build, test, and deploy containerized appl...Using Azure DevOps to continuously build, test, and deploy containerized appl...
Using Azure DevOps to continuously build, test, and deploy containerized appl...Adrian Todorov
 
AWS CodeCommit, CodeDeploy & CodePipeline
AWS CodeCommit, CodeDeploy & CodePipelineAWS CodeCommit, CodeDeploy & CodePipeline
AWS CodeCommit, CodeDeploy & CodePipelineJulien SIMON
 
Continuous Delivery to Amazon EC2 Container Service
Continuous Delivery to Amazon EC2 Container ServiceContinuous Delivery to Amazon EC2 Container Service
Continuous Delivery to Amazon EC2 Container ServiceAmazon Web Services
 
04_Azure Kubernetes Service: Basic Practices for Developers_GAB2019
04_Azure Kubernetes Service: Basic Practices for Developers_GAB201904_Azure Kubernetes Service: Basic Practices for Developers_GAB2019
04_Azure Kubernetes Service: Basic Practices for Developers_GAB2019Kumton Suttiraksiri
 
AWS re:Invent 2016: Development Workflow with Docker and Amazon ECS (CON302)
AWS re:Invent 2016: Development Workflow with Docker and Amazon ECS (CON302)AWS re:Invent 2016: Development Workflow with Docker and Amazon ECS (CON302)
AWS re:Invent 2016: Development Workflow with Docker and Amazon ECS (CON302)Amazon Web Services
 
CI&CD on AWS - Meetup Roma Oct 2016
CI&CD on AWS - Meetup Roma Oct 2016CI&CD on AWS - Meetup Roma Oct 2016
CI&CD on AWS - Meetup Roma Oct 2016Paolo latella
 
DevOps at Amazon: A Look at Our Tools and Processes
DevOps at Amazon: A Look at Our Tools and ProcessesDevOps at Amazon: A Look at Our Tools and Processes
DevOps at Amazon: A Look at Our Tools and ProcessesAmazon Web Services
 
基于Aws的持续集成、交付和部署 代闻
基于Aws的持续集成、交付和部署 代闻基于Aws的持续集成、交付和部署 代闻
基于Aws的持续集成、交付和部署 代闻Mason Mei
 
Introducing AWS OpsWorks, a DevOps application management platform
Introducing AWS OpsWorks, a DevOps application management platformIntroducing AWS OpsWorks, a DevOps application management platform
Introducing AWS OpsWorks, a DevOps application management platformAmazon Web Services
 
Transforming Software Development
Transforming Software Development Transforming Software Development
Transforming Software Development Amazon Web Services
 
AWS ECS Copilot DevOps Presentation
AWS ECS Copilot DevOps PresentationAWS ECS Copilot DevOps Presentation
AWS ECS Copilot DevOps PresentationVarun Manik
 
Continuous delivery and deployment on AWS
Continuous delivery and deployment on AWSContinuous delivery and deployment on AWS
Continuous delivery and deployment on AWSShiva Narayanaswamy
 

Similar a Continuous Integration and Deployment Best Practices on AWS (20)

Managing Your Application Lifecycle on AWS: Continuous Integration and Deploy...
Managing Your Application Lifecycle on AWS: Continuous Integration and Deploy...Managing Your Application Lifecycle on AWS: Continuous Integration and Deploy...
Managing Your Application Lifecycle on AWS: Continuous Integration and Deploy...
 
Managing Your Cloud Assets
Managing Your Cloud AssetsManaging Your Cloud Assets
Managing Your Cloud Assets
 
Continuous Delivery to Amazon EC2 Container Service
Continuous Delivery to Amazon EC2 Container ServiceContinuous Delivery to Amazon EC2 Container Service
Continuous Delivery to Amazon EC2 Container Service
 
AWS CodeDeploy Getting Started
AWS CodeDeploy Getting StartedAWS CodeDeploy Getting Started
AWS CodeDeploy Getting Started
 
AWS January 2016 Webinar Series - Introduction to Deploying Applications on AWS
AWS January 2016 Webinar Series - Introduction to Deploying Applications on AWSAWS January 2016 Webinar Series - Introduction to Deploying Applications on AWS
AWS January 2016 Webinar Series - Introduction to Deploying Applications on AWS
 
Continuous Delivery to Amazon ECS - AWS August Webinar Series
Continuous Delivery to Amazon ECS - AWS August Webinar SeriesContinuous Delivery to Amazon ECS - AWS August Webinar Series
Continuous Delivery to Amazon ECS - AWS August Webinar Series
 
Continuous Delivery to Amazon ECS
Continuous Delivery to Amazon ECSContinuous Delivery to Amazon ECS
Continuous Delivery to Amazon ECS
 
Transforming Software Development
Transforming Software DevelopmentTransforming Software Development
Transforming Software Development
 
Using Azure DevOps to continuously build, test, and deploy containerized appl...
Using Azure DevOps to continuously build, test, and deploy containerized appl...Using Azure DevOps to continuously build, test, and deploy containerized appl...
Using Azure DevOps to continuously build, test, and deploy containerized appl...
 
AWS CodeCommit, CodeDeploy & CodePipeline
AWS CodeCommit, CodeDeploy & CodePipelineAWS CodeCommit, CodeDeploy & CodePipeline
AWS CodeCommit, CodeDeploy & CodePipeline
 
Continuous Delivery to Amazon EC2 Container Service
Continuous Delivery to Amazon EC2 Container ServiceContinuous Delivery to Amazon EC2 Container Service
Continuous Delivery to Amazon EC2 Container Service
 
04_Azure Kubernetes Service: Basic Practices for Developers_GAB2019
04_Azure Kubernetes Service: Basic Practices for Developers_GAB201904_Azure Kubernetes Service: Basic Practices for Developers_GAB2019
04_Azure Kubernetes Service: Basic Practices for Developers_GAB2019
 
AWS re:Invent 2016: Development Workflow with Docker and Amazon ECS (CON302)
AWS re:Invent 2016: Development Workflow with Docker and Amazon ECS (CON302)AWS re:Invent 2016: Development Workflow with Docker and Amazon ECS (CON302)
AWS re:Invent 2016: Development Workflow with Docker and Amazon ECS (CON302)
 
CI&CD on AWS - Meetup Roma Oct 2016
CI&CD on AWS - Meetup Roma Oct 2016CI&CD on AWS - Meetup Roma Oct 2016
CI&CD on AWS - Meetup Roma Oct 2016
 
DevOps at Amazon: A Look at Our Tools and Processes
DevOps at Amazon: A Look at Our Tools and ProcessesDevOps at Amazon: A Look at Our Tools and Processes
DevOps at Amazon: A Look at Our Tools and Processes
 
基于Aws的持续集成、交付和部署 代闻
基于Aws的持续集成、交付和部署 代闻基于Aws的持续集成、交付和部署 代闻
基于Aws的持续集成、交付和部署 代闻
 
Introducing AWS OpsWorks, a DevOps application management platform
Introducing AWS OpsWorks, a DevOps application management platformIntroducing AWS OpsWorks, a DevOps application management platform
Introducing AWS OpsWorks, a DevOps application management platform
 
Transforming Software Development
Transforming Software Development Transforming Software Development
Transforming Software Development
 
AWS ECS Copilot DevOps Presentation
AWS ECS Copilot DevOps PresentationAWS ECS Copilot DevOps Presentation
AWS ECS Copilot DevOps Presentation
 
Continuous delivery and deployment on AWS
Continuous delivery and deployment on AWSContinuous delivery and deployment on AWS
Continuous delivery and deployment on AWS
 

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

Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
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
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKJago de Vreede
 

Último (20)

Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
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...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 

Continuous Integration and Deployment Best Practices on AWS

  • 1. AWS Government, Education, & Nonprofits Symposium Canberra, Australia | May 6, 2015 Continuous Integration and Deployment Best Practices on AWS Adrian White Solutions Architect Amazon Web Services
  • 2. What are we covering today? • Consistency through the development, test and release lifecycle • Improve quality over time • Increase velocity of application change • AWS deployment and management approaches • What does deployment look like in the future?
  • 3. Task tracker Continuous integration / Automated testing / Release management Artifact repository Source code management Deployment service AWS OpsWorks Elastic Beanstalk AWS CloudFormation AWS CodeDeploy Local development Application lifecycle management workflow
  • 4. AWS Code and Deployment Tools MonitorProvisionDeployTestBuildCode Elastic Beanstalk OpsWorks Cloud Watch Cloud Formation Code Deploy Code Commit Code Pipeline
  • 5. Local development challenges • Source code management design • “But it works on my machine” • Portable development environments • Distributed teams work on tasks in parallel
  • 6. Source code management features • Fast and easy branching • Pull requests for distributed development workflows • Code review • Audit, logging, security
  • 7. Feature branching, Gitflow and Pull requests Inspired by https://www.atlassian.com/git/tutorials/comparing-workflows/feature-branch-workflow/ Master Develop Release Feature Hotfix
  • 9. CodeCommit • Private Git on AWS • Massive scaled version controlled projects • High service availability and resiliency • Encrypted at rest • Pay as you go pricing • Import from SVN, Git, Microsoft TFS • Use IAM to control access to repositories
  • 10. CodeCommit workflow git clone create repository Create repository Receive clone request Sync local / remote repos modify local files git add / commit / push Receive push request Update remote repo git pull Receive push request Update remote repo List repos, list branches Display response Receive requests Send responses
  • 11. Why use a release automation service? Automate workflow Release quickly Ensure quality
  • 12. CodePipeline • Customizable workflow engine • Integrate with partner and custom systems • Visual editor and status Continuous delivery and release automation, just like Amazon Build 1) Build 2) Unit test 1) Deploy 2) UI test Source Beta Production 1) Deploy 2) Load test Gamma 1) Deploy region1 2) Deploy region2 3) Deploy region3
  • 13. How do you ship application changes? • Deployment approaches – In place vs discrete stacks • Where is state in the system? – Stateless vs stateful application components • Frequency and speed of change
  • 14. Why use a deployment service? Automate deployments Manage complexity Avoid downtime
  • 15. CodeDeploy • Scale from 1 instance to thousands • Deploy without downtime • Centralize deployment control and monitoring Staging CodeDeployv1, v2, v3 Production Dev Coordinate automated deployments, just like Amazon Application revisions Deployment groups
  • 16. Step 1: Package your application (with an AppSpec file) version: 0.0 os: linux files: - source: chef/ destination: /etc/chef/codedeploy - source: target/hello.war destination: /var/lib/tomcat6/webapps hooks: ApplicationStop: - location: deploy_hooks/stop-tomcat.sh BeforeInstall: - location: deploy_hooks/install-chef.sh AfterInstall: - location: deploy_hooks/librarian-install.sh ApplicationStart: - location: deploy_hooks/chef-solo.sh ValidateService: - location: deploy_hooks/verify_service.sh
  • 17. Step 1: Package your application (with an AppSpec file) version: 0.0 os: linux files: - source: chef/ destination: /etc/chef/codedeploy - source: target/hello.war destination: /var/lib/tomcat6/webapps hooks: ApplicationStop: - location: deploy_hooks/stop-tomcat.sh BeforeInstall: - location: deploy_hooks/install-chef.sh AfterInstall: - location: deploy_hooks/librarian-install.sh ApplicationStart: - location: deploy_hooks/chef-solo.sh ValidateService: - location: deploy_hooks/verify_service.sh
  • 18. Step 1: Package your application (with an AppSpec file) version: 0.0 os: linux files: - source: chef/ destination: /etc/chef/codedeploy - source: target/hello.war destination: /var/lib/tomcat6/webapps hooks: ApplicationStop: - location: deploy_hooks/stop-tomcat.sh BeforeInstall: - location: deploy_hooks/install-chef.sh AfterInstall: - location: deploy_hooks/librarian-install.sh ApplicationStart: - location: deploy_hooks/chef-solo.sh ValidateService: - location: deploy_hooks/verify_service.sh
  • 19. Step 2: Set up your target environments Agent Agent Agent Staging Agent Agent Agent Agent Agent Agent Production Deployment groupDeployment group Group instances by: • Auto Scaling group • Amazon EC2 tag • On-premises tag
  • 20. Step 3: Deploy! aws deploy create-deployment --application-name MyApp --deployment-group-name TargetGroup --s3-location bucket=MyBucket,key=MyApp.zip AWS CLI & SDKs AWS Console CI / CD Partners GitHub
  • 21. Deployment config – Choose speed v2 v1 v1 v1 v1 v1 v1 v1 v2 v2 v2 v2 v1 v1 v1 v1 v2 v2 v2 v2 v2 v2 v2 v2 One-at-a-time Half-at-a-time All-at-once
  • 22. Rolling update – Deploy without downtime v1v1 v1 Load Balancer
  • 23. Rolling update – Deploy without downtime v1v2 v1 Load Balancer
  • 24. Rolling update – Deploy without downtime v2v2 v1 Load Balancer
  • 25. Rolling update – Deploy without downtime v2v2v2 Load Balancer
  • 26. Rolling update – Deploy without downtime v2v2 v2 Load Balancer
  • 27. Health Tracking – Catch deployment problems v2v2 v2 Load Balancer
  • 28. Health tracking – Catch deployment problems v3 v2 v2Stop Load Balancer
  • 29. Health tracking – Catch deployment problems v2v2 v2 Load Balancer Rollback
  • 31. Demo: CodeDeploy & Atlassian Bamboo
  • 32. Shipping artifacts to new environments • What if we can quickly and easily build new environments every time? • CloudFormation – Deploying AMIs – Deploying containers • CodeDeploy to manage discrete application versions
  • 33. Shipping artifacts – Discrete environments Tasks for AWS AWS CloudFormation Discrete stacks
  • 34. Shipping artifacts – Immutability via containers ECS cluster Amazon EC2 Container Service Immutable infrastructure with Docker and Amazon EC2 Container Service (ECS) Tasks for AWS
  • 35. Shipping artifacts – Immutability via containers Tasks for AWS ECS now supports ELB, health checks, scale-up and scale-down and update management ECS Task Definition ECS cluster with tasks
  • 36. ECS Task Definitions { "containerDefinitions": [ { "name": "wordpress", "links": [ "mysql" ], "image": "wordpress", "essential": true, "portMappings": [ { "containerPort": 80, "hostPort": 80 } ], "memory": 500, "cpu": 10 }, { "environment": [ { "name": "MYSQL_ROOT_PASSWORD", "value": "password" } ], "name": "mysql", "image": "mysql", "cpu": 10, "memory": 500, "essential": true } ], "family": "hello_world" }
  • 37. CLASSIFICATION: INTERNAL Cameron Gough, General Manager – Digital Delivery Centre Andrew Dilenis, Head of Digital Systems Moving to AWS – our story Cameron.gough@auspost.com.au, @cam_gough Andrew.Dilenis@auspost.com.au
  • 38. © 2015 Australia Post 60 Applications 2.4M Registered Users 140M Visits Per year 250 Digital Natives 15 Agile teams 3 Tribes
  • 39. © 2015 Australia Post Demonstration
  • 40. © 2015 Australia Post The Opportunity Bundesarchiv, B 145 Bild-F038791-0035 / Schaack, Lothar / CC-BY-SA [CC BY-SA 3.0 de (http://creativecommons.org/licenses/by-sa/3.0/de/deed.en)], via Wikimedia Commons
  • 41. © 2015 Australia Post AWS Pilot 3 tier simple app Time boxed 3 smart people Allowed 8 weeks No plan, just go
  • 42. © 2015 Australia Post What we found – the good >95% time and cost saving 9 days to 15 minutes Automation New Way of Working Quality Quick entry
  • 43. © 2015 Australia Post What we found – gotchas Design in cost controls Security Licencing Re-architect New thinking
  • 44. © 2015 Australia Post Approach Start doing, stop planning Agile Rework = learning Think devops AWS help Ask “Why?” – often Be brave!
  • 45. © 2015 Australia Post From Pets… …to Cattle
  • 46. © 2015 Australia Post Two Artefacts repo automation-code configuration artefact automation-code-2.3.0.tgz configuration-2.3.0-1.tgz purpose Automation logic Configuration that describes the stack and its environment technologies • AWS CloudFormation for infrastructure provisioning • Puppet for Configuration Management • Python scripts for deployment process • Puppet Hiera Automation Config 2.3.0-1 Automation Code 2.3.0
  • 47. © 2015 Australia Post Streamlined Processes I want to deploy my application including infrastructure changes 2.1 2.1
  • 48. © 2015 Australia Post Streamlined Processes I want to deploy my application including infrastructure changes 1.Code – commit, push and pull request 2.1 2.1
  • 49. © 2015 Australia Post Streamlined Processes I want to deploy my application including infrastructure changes 1.Code – commit, push and pull request 2.Update stack with new versions of artefacts 2.1 2.1
  • 50. © 2015 Australia Post Streamlined Processes I want to deploy my application including infrastructure changes 1.Code – commit, push and pull request 2.Update stack with new versions of artefacts 3.Scale up autoscale group (2 > 4) 2.1 2.1 2.2 2.2
  • 51. © 2015 Australia Post Streamlined Processes I want to deploy my application including infrastructure changes 1.Code – commit, push and pull request 2.Update stack with new versions of artefacts 3.Scale up autoscale group (2 > 4) 4.Scale down autoscale group (4 > 2)2.1 2.1 2.2 2.2
  • 52. © 2015 Australia Post Streamlined Processes I want to deploy my application including infrastructure changes 1.Code – commit, push and pull request 2.Update stack with new versions of artefacts 3.Scale up autoscale group (2 > 4) 4.Scale down autoscale group (4 > 2) 5.Done! 2.2 2.2
  • 53. © 2015 Australia Post Streamlined Processes I want to deploy my application including infrastructure changes 1.Code – commit, push and pull request 2.Update stack with new versions of artefacts 3.Scale up autoscale group (2 > 4) 4.Scale down autoscale group (4 > 2) 5.Done! 2.2 2.2 Exact same process for:
  • 54. © 2015 Australia Post Streamlined Processes I want to deploy my application including infrastructure changes 1.Code – commit, push and pull request 2.Update stack with new versions of artefacts 3.Scale up autoscale group (2 > 4) 4.Scale down autoscale group (4 > 2) 5.Done! 2.2 2.2 Exact same process for:
  • 55. © 2015 Australia Post Streamlined Processes I want to deploy my application including infrastructure changes 1.Code – commit, push and pull request 2.Update stack with new versions of artefacts 3.Scale up autoscale group (2 > 4) 4.Scale down autoscale group (4 > 2) 5.Done! 2.2 2.2 Exact same process for: • Modifying application configuration
  • 56. © 2015 Australia Post Streamlined Processes I want to deploy my application including infrastructure changes 1.Code – commit, push and pull request 2.Update stack with new versions of artefacts 3.Scale up autoscale group (2 > 4) 4.Scale down autoscale group (4 > 2) 5.Done! 2.2 2.2 Exact same process for: • Modifying application configuration • Patching for security vulnerabilities
  • 57. © 2015 Australia Post Streamlined Processes I want to deploy my application including infrastructure changes 1.Code – commit, push and pull request 2.Update stack with new versions of artefacts 3.Scale up autoscale group (2 > 4) 4.Scale down autoscale group (4 > 2) 5.Done! 2.2 2.2 Exact same process for: • Modifying application configuration • Patching for security vulnerabilities • Certificate rotation
  • 58. © 2015 Australia Post Streamlined Processes I want to deploy my application including infrastructure changes 1.Code – commit, push and pull request 2.Update stack with new versions of artefacts 3.Scale up autoscale group (2 > 4) 4.Scale down autoscale group (4 > 2) 5.Done! 2.2 2.2 Exact same process for: • Modifying application configuration • Patching for security vulnerabilities • Certificate rotation • Stack enhancements
  • 59. © 2015 Australia Post Provisioning, how it fits…
  • 60. © 2015 Australia Post Provisioning, how it fits…
  • 61. © 2015 Australia Post Provisioning, how it fits…
  • 62. © 2015 Australia Post Provisioning, how it fits…
  • 63. © 2015 Australia Post Provisioning, how it fits…
  • 64. © 2015 Australia Post Provisioning, how it fits…
  • 65. © 2015 Australia Post Provisioning, how it fits…
  • 66. © 2015 Australia Post Provisions “application stacks”
  • 67. © 2015 Australia Post Provisions “application stacks” Web Stack with Nginx
  • 68. © 2015 Australia Post Provisions “application stacks” Web Stack with Nginx Web Stack with Apache
  • 69. © 2015 Australia Post Provisions “application stacks” Web Stack with Nginx Web Stack with Apache App Stack with Tomcat/JRE Amazon S3 Dynamo DB
  • 70. © 2015 Australia Post Provisions “application stacks” Web Stack with Nginx Web Stack with Apache Every Stack… App Stack with Tomcat/JRE Amazon S3 Dynamo DB
  • 71. © 2015 Australia Post Provisions “application stacks” Web Stack with Nginx Web Stack with Apache Every Stack… CloudWatch Monitoring, metrics… Logging… In-transit encryption… App Stack with Tomcat/JRE Amazon S3 Dynamo DB
  • 72. © 2015 Australia Post Results All apps in AWS 500+ full stacks per month Consistent Environments Patching Variable spend Teams self-serve 0 400 800 1200 1600 2013-11 2014-01 2014-03 2014-05 2014-07 2014-09 2014-11 2015-01 Production Stacks Transient Stacks
  • 73. © 2015 Australia Post Demonstration
  • 74. © 2015 Australia Post Working Differently Safe to experiment Iterate and release more often Micro-services Focus on value creation
  • 75. © 2015 Australia Post Customer Outcomes Better experiences, delivered more often
  • 76. For further information, please contact: Thank you © 2015 Australia Post Cameron Gough, General Manager – Digital Delivery Centre cameron.gough@auspost.com.au @cam_gough Andrew Dilenis, Head of Digital Systems andrew.dilenis@auspost.com.au
  • 77. The Future – what are you really deploying? • Application bundles? • AMIs? • Docker containers? • Lambda functions? • Microservices architectures…
  • 78. • Service-Oriented Architecture (SOA)
 • Everything gets a service interface
 • Primitives
 • “Microservices”
  • 79.
  • 80. Thousands of teams +
 
 Microservices architecture + Multiple environments + Continuous delivery
 
 

  • 81. = 50 million deployments a year Thousands of teams +
 
 Microservices architecture + Multiple environments + Continuous delivery
 
 

  • 82. Where to go next… • AWS Training & Certification – http://aws.amazon.com/training/ • Deployment and Management at AWS – http://aws.amazon.com/application-management/ • Code Management and Deployment – https://aws.amazon.com/blogs/aws/code-management-and- deployment/ • Amazon EC2 Container Service – http://aws.amazon.com/ecs/