SlideShare a Scribd company logo
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

More Related Content

What's hot

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 AWS
Amazon 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 Delivery
Mikhail 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
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
Andrey Zhupanenko
 
Infrastructure as Code with Ansible
Infrastructure as Code with AnsibleInfrastructure as Code with Ansible
Infrastructure as Code with Ansible
Daniel 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
 
DevOps on AWS
DevOps on AWSDevOps on AWS
DevOps on AWS
Amazon Web Services
 
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
Amazon Web Services
 
Database deployments - dotnetsheff
Database deployments - dotnetsheffDatabase deployments - dotnetsheff
Database deployments - dotnetsheff
Giulio 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 AWS
Amazon 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 Practices
Shiva Narayanaswamy
 
Accelerating DevOps Pipelines with AWS
Accelerating DevOps Pipelines with AWSAccelerating DevOps Pipelines with AWS
Accelerating DevOps Pipelines with AWS
Amazon 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 Processes
Amazon 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 DSC
WinOps 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 Server
WinOps Conf
 
AWS CodeDeploy: Manage Deployment Complexity
AWS CodeDeploy: Manage Deployment ComplexityAWS CodeDeploy: Manage Deployment Complexity
AWS CodeDeploy: Manage Deployment Complexity
Amazon Web Services
 

What's hot (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
 

Viewers also liked

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
Robert McDermott
 
CI and CD with Jenkins
CI and CD with JenkinsCI and CD with Jenkins
CI and CD with Jenkins
Martin 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 2016
Amazon 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 Tools
Amazon 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 Processes
Amazon 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 Cassandra
DataStax 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 OpenStack
Bob 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 milliseconds
James Wickett
 
Chat ops .. a beginner's guide
Chat ops .. a beginner's guideChat ops .. a beginner's guide
Chat ops .. a beginner's guide
Jason Hand
 
Aws tools cicd
Aws tools cicdAws tools cicd
Aws tools cicd
Jai Prakash Dave
 
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 AWS
Alan 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 2015
James 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 practice
Dao 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 Gandhi
TriNimbus
 

Viewers also liked (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 to 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
 
Managing Your Cloud Assets
Managing Your Cloud AssetsManaging Your Cloud Assets
Managing Your Cloud Assets
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 Service
Amazon Web Services
 
AWS CodeDeploy Getting Started
AWS CodeDeploy Getting StartedAWS CodeDeploy Getting Started
AWS CodeDeploy Getting Started
Amazon Web Services
 
AWS January 2016 Webinar Series - Introduction to Deploying Applications on AWS
AWS January 2016 Webinar Series - Introduction to Deploying Applications on AWSAWS January 2016 Webinar Series - Introduction to Deploying Applications on AWS
AWS January 2016 Webinar Series - Introduction to Deploying Applications on AWS
Amazon 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 Series
Amazon Web Services
 
Continuous Delivery to Amazon ECS
Continuous Delivery to Amazon ECSContinuous Delivery to Amazon ECS
Continuous Delivery to Amazon ECS
Amazon Web Services
 
Transforming Software Development
Transforming Software DevelopmentTransforming Software Development
Transforming Software Development
Amazon 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 & CodePipeline
Julien 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 Service
Amazon 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_GAB2019
Kumton 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 2016
Paolo 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 Processes
Amazon 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 platform
Amazon 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 Presentation
Varun Manik
 
Continuous delivery and deployment on AWS
Continuous delivery and deployment on AWSContinuous delivery and deployment on AWS
Continuous delivery and deployment on AWS
Shiva Narayanaswamy
 

Similar to 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
 

More from Amazon Web Services

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Amazon Web Services
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Amazon Web Services
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
Amazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
Amazon 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
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
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 Workloads
Amazon Web Services
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
Amazon 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 sfatare
Amazon 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 NodeJS
Amazon 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 web
Amazon 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 sfatare
Amazon 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 Service
Amazon Web Services
 

More from Amazon Web Services (20)

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

Recently uploaded

The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 

Recently uploaded (20)

The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 

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/