With AWS companies now have the ability to develop and run their applications with speed and flexibility like never before. Working with an infrastructure that can be 100% API driven enables businesses to use lean methodologies and realize these benefits. This in turn leads to greater success for those who make use of these practices. In this session we'll talk about some key concepts and design patterns for Continuous Deployment and Continuous Integration, two elements of lean development of applications and infrastructures.
40. “…AWS seemed to be the best solution
available to allow a small, independent
company to rapidly develop and test a
completely new infrastructure, and host it.
We also loved the flexibility that AWS
allowed us, when spinning up smaller test
environments, for beta trials, QA,
localization, and during development. The
low initial cost was also crucial.”
Alex Evans, CTO
59. A stack represents
your application. One
stack might be used
for staging and
another for production.
Tell OpsWorks where
it can find your code
and define any
additional deployment
tasks. OpsWorks will
take care of deploying
your app.
Scale your stack
based on time or
load. Clone your
production stack to a
different region.
Automate workflows
for common tasks.
A layer defines how to
setup and configure a
set of instances and
related resources such
as volumes
and software.
60. A stack represents
your application. One
stack might be used
for staging and
another for production.
Tell OpsWorks where
it can find your code
and define any
additional deployment
tasks. OpsWorks will
take care of deploying
your app.
Scale your stack
based on time or
load. Clone your
production stack to a
different region.
Automate workflows
for common tasks.
A layer defines how to
setup and configure a
set of instances and
related resources such
as volumes
and software.
61. A stack represents
your application. One
stack might be used
for staging and
another for production.
Tell OpsWorks where
it can find your code
and define any
additional deployment
tasks. OpsWorks will
take care of deploying
your app.
Scale your stack
based on time or
load. Clone your
production stack to a
different region.
Automate workflows
for common tasks.
A layer defines how to
setup and configure a
set of instances and
related resources such
as volumes
and software.
62. A stack represents
your application. One
stack might be used
for staging and
another for production.
A layer defines how to
setup and configure a
set of instances and
related resources such
as volumes
and software.
Tell OpsWorks where
it can find your code
and define any
additional deployment
tasks. OpsWorks will
take care of deploying
your app.
Scale your stack
based on time or
load. Clone your
production stack to a
different region.
Automate workflows
for common tasks.
72. 11.6s
Mean time between
deployments
(weekday)
1,079
Max number of
deployments in a
single hour
10,000
Mean number of
hosts
simultaneously
receiving a
deployment
30,000
Max number of
hosts
simultaneously
receiving a
deployment
DEPLOYMENTS AT
AMAZON.COM
83. Introduction to OpsWorks
• OpsWorks is a deployment platform, like Elastic Beanstalk & CloudFormation
• A Stack contains EC2 instances that represent a deployment environment
• A Layer consists of instances that play a certain role in the stack
• Built on Chef, a configuration management tool
• Instances are configured via Chef Recipes
• You deploy Applications to Layer instances
84.
85. OpsWorks & Chef
• Open Source recipes and enthusiastic fledgling community
• Full Stack optimized for standard web apps
• But easily configurable and extendable via Chef recipes
• Visibility of Chef recipes to allow for rapid extensibility and configuration
• Life cycle, adding nodes to a stack is easy to configure through chef recipes,
callbacks and hooks
• Chef Recipes are triggered on lifecycle events
• Scale by schedule and capacity
86.
87.
88.
89. Business Benefits
• Zero downtime (mostly)
• Small team, no SysAdmins, prefer DevOps-orientated solutions
90.
91. Business Benefits
• Zero downtime (mostly)
• Small team, no SysAdmins, prefer DevOps-orientated solutions
• OpsWorks gives you the same cost/benefit as EC2
• Schedule & capacity scaling
92.
93. Business Benefits
• Zero downtime (mostly)
• Small team, no SysAdmins, prefer DevOps-orientated solutions
• OpsWorks gives you the same cost/benefit as EC2
• Schedule & capacity scaling
• Development production parity, quickly and cheaply deploy new test
environments
• Responsive development process
94.
95.
96. Integrating with AWS
• Basic IAM integration & EC2 security groups
• While RDS and ElastiCache may be coming soon. They are still configurable
out of the box with OpsWorks and are available as services.
• CricHQ has successfully integrated both services without much hassle
• Recently added ELB support shows active improvements
• No integration with CloudFormation
• Access to Raw EC2 instances, and ability to extend default functionality
97. The Future
• Its early days, but things look very promising
• OpsWorks isn’t perfect, but it is powerful enough to easily configure for your
own business requirements
• Wish list: More services, layers, flexibility & better scaling
98.
99. The Future
• It’s early days, but things look very promising
• OpsWorks isn’t perfect, but it is powerful enough to easily configure for your
own business requirements
• Wish list: More services, layers, flexibility & better scaling
• Our Arduino continuous deployment, build failure, staff targeting nerf missile
launcher
• Come chat to us…