2. Goals
• Provide a ‘deep dive’ on DevOps on AWS
• Target the enterprise market (startups should
know how to do this)
• Provide demo’s, CF templates and scripts so
people can re-create what they saw in the
demo
• Use 3rd Party products as we cannot do this
just on AWS
3. Sessions
1. DevOps for the Enterprise
– Overview exec level session on what devops solves, and why enterprises
should take note
2. The DevOps ALM Environment
– Walkthrough the different elements of the stack and the products that are
available.
3. Continuous Integration
– Get a 101 environment up and running that allows a developer to check-in
code and build. All other sessions get built on this
4. Automating Deployments
– Understand how to do automated deployments, the tools and options
available
5. Automated Testing and Monitoring
– Now we can deploy automatically, we need to add in testing an monitoring so
we can ensure quality
6. Continuous Deployment
– Pulling all the stages above together, and talking about some of the other
things to consider like database development etc
4. 1. DevOps for the Enterprise
• Target
– Exec Teams, IT Development Manager
• Goal
– A high level deck that will educate executive teams on why
DevOps can help an enterprise development organisation
increase its agility, whilst lowering costs and friction. Can also
be used in conference / overview presentations
• Description
– In this session we will outline how DevOps is improving the
agility of enterprise development organisation, that is allowing
them to meet the demands of the business. We will cover off
why DevOps is such a powerful tool to increasing agility, and
some examples of enterprise organisations that have
successfully adopted it.
5. 2. The DevOps ALM Environment
• Target
– IT Development Manager, Development and Test Teams
• Goal
– The first technical part of the series will outline the different processes that
are used as part of DevOps and the tools that are used to deliver it. This will
give people who are new to DevOps a good understanding of its parts and the
key concepts behind it.
• Description
– In this session we will drill down into the core principals of DevOps and the
tools and techniques that teams use. It will give a good grounding on these
tools and techniques which we will be exploring in more depth in future
sessions. Note: This session assumed that you already understand the
following AWS Services: EC2, EBS, CloudFormation, RDS, VPC
• Demo
– No Demo needed, however we will walk through the architecture of the
environment
6. 3. Continuous Integration
• Target
– IT Development Manager, Development and Test Teams
• Goal
– The first stage in any development environment is to be able to check in code,
successfully build it and run unit tests against it. In this session we will show
how we built the environment (CloudFormation) and demonstrate a simple
check-in, build and unit test run
• Description
– In this session we will show how we have built our development environment
using CloudFormation, and show how we can run a build and unit tests after
altering the source code. In later sessions we will demonstrate how to extend
this environment to start supporting DevOps
• Demo
– We will need to:
• Build the environment using CloudFormation
• Check out code, alter it and check it back in again
• Show a continuous build fire, and automatically run unit tests
7. 4. Automating Deployments
• Target
– IT Development Manager, Development and Test Teams
• Goal
– The key step between continuous integration and moving to DevOps is getting
automated deployments up and running. This session will talk through the
various technologies that are available, and demonstrate extending our
existing system to automate deployments.
• Description
– In this session we will talk through the different options that are available to
automate deployments on AWS. We will then demonstrate how we have
extended our test system to support automated deployments using
CloudFormation, PowerShell and puppet.
• Demo
– We will need to:
• Build the automated Build Environment
• Configure CloudFront, PowerShell, Puppet
• Show how we can automate from check-in to deployment of a test system
8. 5. Automated Testing and Monitoring
• Target
– IT Development Manager, Development and Test Teams
• Goal
– Once people have continuous development up and running they need to understand the
different testing that is available as this is often the key to successful DevOps. We will
cover off topics such as A-B testing, performance testing, functional testing. We will also
cover monitoring as part of this as this is key to having a health system functioning
• Description
– In this session we will talk through the different types of testing that you should be
thinking of to enable a full Continuous Deployment environment. This session will cover
off topics such as functional testing, performance testing, A/B testing. In addition we
will cover some of the benefits of Monitoring in a DevOps world and some of the
technologies behind it.
• Demo
– We will need to:
• Build the automated testing environment
• Run an A/B test
• Show monitoring..?
9. 6. Continuous Deployment
• Target
– IT Development Manager, Development and Test Teams
• Goal
– This is when we pull together all the previous sessions into showing
how we have enabled continuous deployment. It is going to cover off
some of the ‘other’ topics like what to do with databases, rolling back
installations, branching.
• Description
– In this session we will talk through how the environment we have built
supports Continuous Deployment, and some of the other areas that
need consideration like how to manage database updated, rolling back
installations, security and source code branching
• Demo
– We will need to:
• Demonstrate rolling back an installation