The document discusses DevOps and how AWS OpsWorks can help with DevOps practices. It defines DevOps as alignment between development and operations teams through improved communication and collaboration. It discusses how OpsWorks can help with iterative development, treating infrastructure as code, automation, and practicing resilience. OpsWorks provides automated provisioning, deployment, scaling, and management of applications and their supporting infrastructure.
2. What is “DevOps”?
• A philosophy? Cultural change? Paradigm shift?
• Alignment of development and IT operations
with better communication and collaboration?
• Improvement in software deployment?
3. What is “DevOps”?
• A philosophy? Cultural change? Paradigm shift?
• Alignment of development and IT operations
with better communication and collaboration?
• Improvement in software deployment?
Yes!
6. Software development process
• Handoffs can cause trouble
– Who is responsible for scaling?
– How to troubleshoot issues that span teams?
– Coordination can cause delays.
Dev
Team
Test
Team
Ops
Team
Sustaining
Team
25. Why is it hard to scale apps?
• Receive capacity alarm
• Provision new server
• Install required software
• Deploy app
• Install database drivers
• Securely send database
connection info (e.g.,
passwords)
• Health check
• Add to load balancer
AppELB
AZAZ
Amazon RDS
DB
Auto Scaling
26. How OpsWorks scales apps
• What you do:
– Define application
– Define auto scaling
• What OpsWorks does:
– Receive capacity alarm
– Provision new server
– Install required software
– Deploy app
– Install database drivers
– Securely send database
connection info (e.g.,
passwords)
– Health check
– Add to load balancer
27. What about database scaling?
• Provision server
• Install HAProxy
• Create HAProxy
configuration file with RDS
instances
• Scale load balancer to
accommodate load
• Health check load balancer
• When add/remove RDS
read replicas, update
HAProxy configuration
AppELB
AZAZ
Auto Scaling
HAProxy
AZAZ
Amazon RDS
DB
28. How OpsWorks scales databases
• What you do:
– Create HAProxy layer
– Add/remove RDS read
replicas
• What OpsWorks does:
– Provision server
– Install HAProxy
– Create HAProxy
configuration file with RDS
instances
– Scale load balancer to
accommodate load
– Health check load balancer
– When add/remove RDS
instances, update HAProxy
configuration
29. What’s hard about deploying changes?
• For any change, such as
database credentials,
source code, package
updates, security fixes
– Authorize requestor
– Get change onto each
server
– Perform update
– Verify
– Make logs available
• OpsWorks handles these
tasks for you
35. With Dev, Test, and Prod
Amazon
S3
Prod-subnet
Web
server
App
server
Amazon RDS
ELB
Production
Dev-subnet
Auto Scaling group
Web
server
Auto Scaling group
App
server
Amazon RDS
ELB
Development
Test-subnet
Web
server
App
server
Amazon RDS
ELB
Test
CI/CD
Server
Project mgt
Ticketing
Server
Amazon
RDS
Version
Control
Shared Service Subnet
Automation
Master