SlideShare a Scribd company logo
Dev-Friendly Ops 
or how OpsWorks has made my life way better
A Little Background 
โ€ข Hi, Iโ€™m Josh 
โ€ข Iโ€™m not an Ops guy 
โ€ข Mostly a Ruby on Rails Dev 
โ€ข .Net in a previous life but OpsWorks doesnโ€™t 
really support it 
โ€ข Iโ€™ve become an Ops guy by necessity
โ€œYouโ€™re doing everything wrong.โ€ 
โ€“Every Programmer on Twitter
How We Use It 
โ€ข I Work There -> 
โ€ข We have ~8 clients on 
OpsWorks 
โ€ข This presentation is about how 
weโ€™ve done things. Not always 
the โ€œrightโ€ way. 
โ€ข Tell me why Iโ€™m wrong
OpsWorks 101 
โ€ข Hosted Infrastructure on Amazon Web Services 
โ€ข Free* 
โ€ข Chef Solo / Chef Client (based on chef version) 
โ€ข Evolving really really quickly 
* (with purchase of everything else)
Four Structures 
1. Stack 
2. Layer 
3. App 
4. Instance
Stack 
โ€ข Stacks are supposed to represent your entire 
application and all of itโ€™s infrastructure dependencies. 
โ€ข In general each environment will be a different stack 
โ€ข Production / Staging / QA / etc. 
โ€ข This is not how L7 is doing it. Iโ€™ll explain why in a bit. 
โ€ข Stacks set default values for future layers and 
instances
Dev-Friendly Ops
Dev-Friendly Ops
โ€ข Custom JSON 
โ€ข This is how you define config points for your 
app. 
โ€ข Thereโ€™s a bunch of default JSON hooks that tie 
into opsworks recipes 
โ€ข You can use this in custom recipes 
โ€ข How you configure your database if youโ€™re NOT 
using RDS
Custom Cookbook
Mysql??? WTF
Layer 
โ€ข This is a slice of your application 
โ€ข Application Server / Web Server / Database / 
Task Server / etc. 
โ€ข OpsWorks predefines a bunch (including Rails) 
โ€ข Only 1 of each (except custom) 
โ€ข This is why we donโ€™t use stacks correctly
โ€ข Layer is where you setup individual chef recipes 
to run 
โ€ข You can also configure settings for the layer type 
โ€ข Ruby version, passenger vs nginx, bundler, 
load balancer and other resources 
โ€ข This will change based on the layer type and be 
pretty lean on custom layers
Dev-Friendly Ops
Dev-Friendly Ops
Dev-Friendly Ops
App 
โ€ข Details your specific App Settings 
โ€ข You CAN have multiple apps but they should rely 
on the same layer settings 
โ€ข aka same ruby version, web server, etc. 
โ€ข Git Settings, Environment Variables, Domains, SSL 
Certificates, Database Connection all goes here 
โ€ข Questions vary based on layer type
Dev-Friendly Ops
Dev-Friendly Ops
Instances 
โ€ข This defines the metal youโ€™ll be running on 
โ€ข Inherits from Stack settings 
โ€ข Size, Name, Availability Zone, SSH Access, OS all 
configured here 
โ€ข You can also setup autoscaling here 
โ€ข Automatically spin up and down boxes based on 
load or time
Dev-Friendly Ops
Dev-Friendly Ops
Dev-Friendly Ops
Chef 
โ€ข Every Stack can define a Custom Cookbooks Repo 
โ€ข You can also use Berkshelf 
โ€ข If you donโ€™t use Berkshelf Iโ€™d make each recipe an 
individual repo and submodule them in 
โ€ข Also: Make your cookbooks public if you can and keep 
sensitive info in environment variables 
โ€ข Getting a private repo to work is possible but a total 
PITA
โ€ข OpsWorks publishes their default cookbooks 
here: 
โ€ข https://github.com/aws/opsworks-cookbooks 
โ€ข Check the branch, master is useless the 
branches map to chef version 
โ€ข We fork this for each project and then edit 
โ€ข Matt Case told me Iโ€™m a bad person for doing 
this
Deployment 
โ€ข Goodbye Capistrano, hello mediocre Capistrano 
clone. 
โ€ข Same folder structure as cap 
โ€ข Terrible command line support. Working on rake 
tasks for this but who knows when weโ€™ll be able to 
post them 
โ€ข 0 downtime deploys either need custom code or 
use the Web UI
โ€ข Deploy Hooks - /deploy folder in project, use for 
asset compile 
โ€ข Tasks - Create chef cookbook, execute as 
command 
โ€ข OpsWorks deploys are slower than other tools 
(getting better)
Dev-Friendly Ops
The Good 
โ€ข DevOps for Dummies (or developers like me) 
โ€ข Free* 
โ€ข Great integration with AWS (obviously) 
โ€ข Comprehensive API 
โ€ข Really detailed documentation
โ€ข Default server configs are pretty solid. (Iโ€™ve used 
Rails and Node) 
โ€ข Security Updates 
โ€ข Sidenote: Heartbleed and Shellshock 
โ€ข Amazon is actively improving the tool 
โ€ข RDS, Environment Vars both added recently
The Bad 
โ€ข Documentation is confusing at times 
โ€ข Reads like a technical manual because, well, it 
is a technical manual 
โ€ข Quick obsolescence 
โ€ข Chef updates, new features, etc.
AWS Integration 
โ€ข Recently added RDS support so no more giant JSON 
blocks 
โ€ข CloudWatch for monitoring as well as autoscaling 
โ€ข New Relic is still better for monitoring though 
โ€ข IAM Security makes it easier to control access 
โ€ข Servers are EC2, so you get all that stuff too 
โ€ข Can map resources within opsworks (load balancers, EBS 
volumes, etc.)
Questions? 
โ€ข Josh Schramm 
โ€ข @JoshReedSchramm on the twitters 
โ€ข josh.schramm@gmail.com 
โ€ข Slides on slideshare and Iโ€™ll try and remember to 
tweet that.
Ad

More Related Content

What's hot (20)

ITB2016 - Mixing up the front end with ColdBox elixir
ITB2016 - Mixing up the front end with ColdBox elixirITB2016 - Mixing up the front end with ColdBox elixir
ITB2016 - Mixing up the front end with ColdBox elixir
Ortus Solutions, Corp
ย 
Webinar: Queues with RabbitMQ - Lorna Mitchell
Webinar: Queues with RabbitMQ - Lorna MitchellWebinar: Queues with RabbitMQ - Lorna Mitchell
Webinar: Queues with RabbitMQ - Lorna Mitchell
Codemotion
ย 
Intro To Serverless ClojureScript
Intro To Serverless ClojureScriptIntro To Serverless ClojureScript
Intro To Serverless ClojureScript
Jim Lynch
ย 
Ceylon From Here to Infinity: The Big Picture and What's Coming
Ceylon From Here to Infinity: The Big Picture and What's Coming Ceylon From Here to Infinity: The Big Picture and What's Coming
Ceylon From Here to Infinity: The Big Picture and What's Coming
Virtual JBoss User Group
ย 
Managing Distributed Systems with Chef
Managing Distributed Systems with ChefManaging Distributed Systems with Chef
Managing Distributed Systems with Chef
Mandi Walls
ย 
Creating SaltStack State data with Pyobjects
Creating SaltStack State data with PyobjectsCreating SaltStack State data with Pyobjects
Creating SaltStack State data with Pyobjects
Evan Borgstrom
ย 
Rainbows, Unicorns, and other Fairy Tales in the Land of Serverless Dreams
Rainbows, Unicorns, and other Fairy Tales in the Land of Serverless DreamsRainbows, Unicorns, and other Fairy Tales in the Land of Serverless Dreams
Rainbows, Unicorns, and other Fairy Tales in the Land of Serverless Dreams
Josh Carlisle
ย 
Armada - the way to ship microservices
Armada - the way to ship microservicesArmada - the way to ship microservices
Armada - the way to ship microservices
GameDesire Company
ย 
NDev Talk - Serverless Design Patterns
NDev Talk - Serverless Design PatternsNDev Talk - Serverless Design Patterns
NDev Talk - Serverless Design Patterns
Ryan Green
ย 
RavenDB 4.0
RavenDB 4.0RavenDB 4.0
RavenDB 4.0
Oren Eini
ย 
20131002
2013100220131002
20131002
Jocelyn
ย 
SaltConf2015: SaltStack at Scale Automating Your Automation
SaltConf2015: SaltStack at Scale Automating Your AutomationSaltConf2015: SaltStack at Scale Automating Your Automation
SaltConf2015: SaltStack at Scale Automating Your Automation
Steven Gonzales
ย 
Beyond Apache: Faster Web Servers
Beyond Apache: Faster Web ServersBeyond Apache: Faster Web Servers
Beyond Apache: Faster Web Servers
webhostingguy
ย 
User-percieved performance
User-percieved performanceUser-percieved performance
User-percieved performance
Mike North
ย 
Java to scala
Java to scalaJava to scala
Java to scala
GiltTech
ย 
RavenDB 3.5
RavenDB 3.5RavenDB 3.5
RavenDB 3.5
Oren Eini
ย 
Extending ansible
Extending ansibleExtending ansible
Extending ansible
Yan Kurniawan
ย 
A Brief Intro to Microsoft Orleans
A Brief Intro to Microsoft OrleansA Brief Intro to Microsoft Orleans
A Brief Intro to Microsoft Orleans
Uri Goldstein
ย 
Hacking on WildFly 9
Hacking on WildFly 9Hacking on WildFly 9
Hacking on WildFly 9
Virtual JBoss User Group
ย 
Ruby Setup
Ruby SetupRuby Setup
Ruby Setup
Alan Hecht
ย 
ITB2016 - Mixing up the front end with ColdBox elixir
ITB2016 - Mixing up the front end with ColdBox elixirITB2016 - Mixing up the front end with ColdBox elixir
ITB2016 - Mixing up the front end with ColdBox elixir
Ortus Solutions, Corp
ย 
Webinar: Queues with RabbitMQ - Lorna Mitchell
Webinar: Queues with RabbitMQ - Lorna MitchellWebinar: Queues with RabbitMQ - Lorna Mitchell
Webinar: Queues with RabbitMQ - Lorna Mitchell
Codemotion
ย 
Intro To Serverless ClojureScript
Intro To Serverless ClojureScriptIntro To Serverless ClojureScript
Intro To Serverless ClojureScript
Jim Lynch
ย 
Ceylon From Here to Infinity: The Big Picture and What's Coming
Ceylon From Here to Infinity: The Big Picture and What's Coming Ceylon From Here to Infinity: The Big Picture and What's Coming
Ceylon From Here to Infinity: The Big Picture and What's Coming
Virtual JBoss User Group
ย 
Managing Distributed Systems with Chef
Managing Distributed Systems with ChefManaging Distributed Systems with Chef
Managing Distributed Systems with Chef
Mandi Walls
ย 
Creating SaltStack State data with Pyobjects
Creating SaltStack State data with PyobjectsCreating SaltStack State data with Pyobjects
Creating SaltStack State data with Pyobjects
Evan Borgstrom
ย 
Rainbows, Unicorns, and other Fairy Tales in the Land of Serverless Dreams
Rainbows, Unicorns, and other Fairy Tales in the Land of Serverless DreamsRainbows, Unicorns, and other Fairy Tales in the Land of Serverless Dreams
Rainbows, Unicorns, and other Fairy Tales in the Land of Serverless Dreams
Josh Carlisle
ย 
Armada - the way to ship microservices
Armada - the way to ship microservicesArmada - the way to ship microservices
Armada - the way to ship microservices
GameDesire Company
ย 
NDev Talk - Serverless Design Patterns
NDev Talk - Serverless Design PatternsNDev Talk - Serverless Design Patterns
NDev Talk - Serverless Design Patterns
Ryan Green
ย 
RavenDB 4.0
RavenDB 4.0RavenDB 4.0
RavenDB 4.0
Oren Eini
ย 
20131002
2013100220131002
20131002
Jocelyn
ย 
SaltConf2015: SaltStack at Scale Automating Your Automation
SaltConf2015: SaltStack at Scale Automating Your AutomationSaltConf2015: SaltStack at Scale Automating Your Automation
SaltConf2015: SaltStack at Scale Automating Your Automation
Steven Gonzales
ย 
Beyond Apache: Faster Web Servers
Beyond Apache: Faster Web ServersBeyond Apache: Faster Web Servers
Beyond Apache: Faster Web Servers
webhostingguy
ย 
User-percieved performance
User-percieved performanceUser-percieved performance
User-percieved performance
Mike North
ย 
Java to scala
Java to scalaJava to scala
Java to scala
GiltTech
ย 
RavenDB 3.5
RavenDB 3.5RavenDB 3.5
RavenDB 3.5
Oren Eini
ย 
Extending ansible
Extending ansibleExtending ansible
Extending ansible
Yan Kurniawan
ย 
A Brief Intro to Microsoft Orleans
A Brief Intro to Microsoft OrleansA Brief Intro to Microsoft Orleans
A Brief Intro to Microsoft Orleans
Uri Goldstein
ย 
Ruby Setup
Ruby SetupRuby Setup
Ruby Setup
Alan Hecht
ย 

Similar to Dev-Friendly Ops (20)

Introduction to Cooking with Chef
Introduction to Cooking with ChefIntroduction to Cooking with Chef
Introduction to Cooking with Chef
John Osborne
ย 
Scaling with swagger
Scaling with swaggerScaling with swagger
Scaling with swagger
Tony Tam
ย 
Chef for Openstack
Chef for OpenstackChef for Openstack
Chef for Openstack
Mohit Sethi
ย 
Perl in Teh Cloud
Perl in Teh CloudPerl in Teh Cloud
Perl in Teh Cloud
Pedro Figueiredo
ย 
Chef for openstack
Chef for openstackChef for openstack
Chef for openstack
openstackindia
ย 
Chef: Smart infrastructure automation
Chef: Smart infrastructure automationChef: Smart infrastructure automation
Chef: Smart infrastructure automation
Johannes H. P. Skov Frandsen
ย 
Chef Fundamentals Training Series Module 1: Overview of Chef
Chef Fundamentals Training Series Module 1: Overview of ChefChef Fundamentals Training Series Module 1: Overview of Chef
Chef Fundamentals Training Series Module 1: Overview of Chef
Chef Software, Inc.
ย 
Opscode Chef for Dummies
Opscode Chef for DummiesOpscode Chef for Dummies
Opscode Chef for Dummies
dilippanwar
ย 
Service-Oriented Design and Implement with Rails3
Service-Oriented Design and Implement with Rails3Service-Oriented Design and Implement with Rails3
Service-Oriented Design and Implement with Rails3
Wen-Tien Chang
ย 
Full-Stack CakePHP Deployment
Full-Stack CakePHP DeploymentFull-Stack CakePHP Deployment
Full-Stack CakePHP Deployment
Jose Diaz-Gonzalez
ย 
Velocity 2011 Chef OpenStack Workshop
Velocity 2011 Chef OpenStack WorkshopVelocity 2011 Chef OpenStack Workshop
Velocity 2011 Chef OpenStack Workshop
Chef Software, Inc.
ย 
Chef Jumpstart
Chef JumpstartChef Jumpstart
Chef Jumpstart
Kimball Johnson
ย 
Opscode Webinar: Managing Your VMware Infrastructure with Chef
Opscode Webinar: Managing Your VMware Infrastructure with ChefOpscode Webinar: Managing Your VMware Infrastructure with Chef
Opscode Webinar: Managing Your VMware Infrastructure with Chef
Chef Software, Inc.
ย 
Introduction to Chef: Automate Your Infrastructure by Modeling It In Code
Introduction to Chef: Automate Your Infrastructure by Modeling It In CodeIntroduction to Chef: Automate Your Infrastructure by Modeling It In Code
Introduction to Chef: Automate Your Infrastructure by Modeling It In Code
Josh Padnick
ย 
NLUUG print conference May 26 2016
NLUUG print conference May 26 2016NLUUG print conference May 26 2016
NLUUG print conference May 26 2016
Igmar Palsenberg
ย 
Workflow Engines for Hadoop
Workflow Engines for HadoopWorkflow Engines for Hadoop
Workflow Engines for Hadoop
Joe Crobak
ย 
Scaling Django Apps using AWS Elastic Beanstalk
Scaling Django Apps using AWS Elastic BeanstalkScaling Django Apps using AWS Elastic Beanstalk
Scaling Django Apps using AWS Elastic Beanstalk
Lushen Wu
ย 
Why ruby and rails
Why ruby and railsWhy ruby and rails
Why ruby and rails
Reuven Lerner
ย 
Overview of PaaS: Java experience
Overview of PaaS: Java experienceOverview of PaaS: Java experience
Overview of PaaS: Java experience
Alex Tumanoff
ย 
Overview of PaaS: Java experience
Overview of PaaS: Java experienceOverview of PaaS: Java experience
Overview of PaaS: Java experience
Igor Anishchenko
ย 
Introduction to Cooking with Chef
Introduction to Cooking with ChefIntroduction to Cooking with Chef
Introduction to Cooking with Chef
John Osborne
ย 
Scaling with swagger
Scaling with swaggerScaling with swagger
Scaling with swagger
Tony Tam
ย 
Chef for Openstack
Chef for OpenstackChef for Openstack
Chef for Openstack
Mohit Sethi
ย 
Perl in Teh Cloud
Perl in Teh CloudPerl in Teh Cloud
Perl in Teh Cloud
Pedro Figueiredo
ย 
Chef for openstack
Chef for openstackChef for openstack
Chef for openstack
openstackindia
ย 
Chef Fundamentals Training Series Module 1: Overview of Chef
Chef Fundamentals Training Series Module 1: Overview of ChefChef Fundamentals Training Series Module 1: Overview of Chef
Chef Fundamentals Training Series Module 1: Overview of Chef
Chef Software, Inc.
ย 
Opscode Chef for Dummies
Opscode Chef for DummiesOpscode Chef for Dummies
Opscode Chef for Dummies
dilippanwar
ย 
Service-Oriented Design and Implement with Rails3
Service-Oriented Design and Implement with Rails3Service-Oriented Design and Implement with Rails3
Service-Oriented Design and Implement with Rails3
Wen-Tien Chang
ย 
Full-Stack CakePHP Deployment
Full-Stack CakePHP DeploymentFull-Stack CakePHP Deployment
Full-Stack CakePHP Deployment
Jose Diaz-Gonzalez
ย 
Velocity 2011 Chef OpenStack Workshop
Velocity 2011 Chef OpenStack WorkshopVelocity 2011 Chef OpenStack Workshop
Velocity 2011 Chef OpenStack Workshop
Chef Software, Inc.
ย 
Opscode Webinar: Managing Your VMware Infrastructure with Chef
Opscode Webinar: Managing Your VMware Infrastructure with ChefOpscode Webinar: Managing Your VMware Infrastructure with Chef
Opscode Webinar: Managing Your VMware Infrastructure with Chef
Chef Software, Inc.
ย 
Introduction to Chef: Automate Your Infrastructure by Modeling It In Code
Introduction to Chef: Automate Your Infrastructure by Modeling It In CodeIntroduction to Chef: Automate Your Infrastructure by Modeling It In Code
Introduction to Chef: Automate Your Infrastructure by Modeling It In Code
Josh Padnick
ย 
NLUUG print conference May 26 2016
NLUUG print conference May 26 2016NLUUG print conference May 26 2016
NLUUG print conference May 26 2016
Igmar Palsenberg
ย 
Workflow Engines for Hadoop
Workflow Engines for HadoopWorkflow Engines for Hadoop
Workflow Engines for Hadoop
Joe Crobak
ย 
Scaling Django Apps using AWS Elastic Beanstalk
Scaling Django Apps using AWS Elastic BeanstalkScaling Django Apps using AWS Elastic Beanstalk
Scaling Django Apps using AWS Elastic Beanstalk
Lushen Wu
ย 
Why ruby and rails
Why ruby and railsWhy ruby and rails
Why ruby and rails
Reuven Lerner
ย 
Overview of PaaS: Java experience
Overview of PaaS: Java experienceOverview of PaaS: Java experience
Overview of PaaS: Java experience
Alex Tumanoff
ย 
Overview of PaaS: Java experience
Overview of PaaS: Java experienceOverview of PaaS: Java experience
Overview of PaaS: Java experience
Igor Anishchenko
ย 
Ad

Recently uploaded (20)

How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
ย 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
ย 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
ย 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
ย 
AI Changes Everything โ€“ Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything โ€“ Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything โ€“ Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything โ€“ Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
ย 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
ย 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
ย 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
ย 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
ย 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
ย 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
ย 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
ย 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
ย 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
ย 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
ย 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
ย 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
ย 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
ย 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
ย 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
ย 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
ย 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
ย 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
ย 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
ย 
AI Changes Everything โ€“ Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything โ€“ Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything โ€“ Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything โ€“ Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
ย 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
ย 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
ย 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
ย 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
ย 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
ย 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
ย 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
ย 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
ย 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
ย 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
ย 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
ย 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
ย 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
ย 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
ย 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
ย 
Ad

Dev-Friendly Ops

  • 1. Dev-Friendly Ops or how OpsWorks has made my life way better
  • 2. A Little Background โ€ข Hi, Iโ€™m Josh โ€ข Iโ€™m not an Ops guy โ€ข Mostly a Ruby on Rails Dev โ€ข .Net in a previous life but OpsWorks doesnโ€™t really support it โ€ข Iโ€™ve become an Ops guy by necessity
  • 3. โ€œYouโ€™re doing everything wrong.โ€ โ€“Every Programmer on Twitter
  • 4. How We Use It โ€ข I Work There -> โ€ข We have ~8 clients on OpsWorks โ€ข This presentation is about how weโ€™ve done things. Not always the โ€œrightโ€ way. โ€ข Tell me why Iโ€™m wrong
  • 5. OpsWorks 101 โ€ข Hosted Infrastructure on Amazon Web Services โ€ข Free* โ€ข Chef Solo / Chef Client (based on chef version) โ€ข Evolving really really quickly * (with purchase of everything else)
  • 6. Four Structures 1. Stack 2. Layer 3. App 4. Instance
  • 7. Stack โ€ข Stacks are supposed to represent your entire application and all of itโ€™s infrastructure dependencies. โ€ข In general each environment will be a different stack โ€ข Production / Staging / QA / etc. โ€ข This is not how L7 is doing it. Iโ€™ll explain why in a bit. โ€ข Stacks set default values for future layers and instances
  • 10. โ€ข Custom JSON โ€ข This is how you define config points for your app. โ€ข Thereโ€™s a bunch of default JSON hooks that tie into opsworks recipes โ€ข You can use this in custom recipes โ€ข How you configure your database if youโ€™re NOT using RDS
  • 13. Layer โ€ข This is a slice of your application โ€ข Application Server / Web Server / Database / Task Server / etc. โ€ข OpsWorks predefines a bunch (including Rails) โ€ข Only 1 of each (except custom) โ€ข This is why we donโ€™t use stacks correctly
  • 14. โ€ข Layer is where you setup individual chef recipes to run โ€ข You can also configure settings for the layer type โ€ข Ruby version, passenger vs nginx, bundler, load balancer and other resources โ€ข This will change based on the layer type and be pretty lean on custom layers
  • 18. App โ€ข Details your specific App Settings โ€ข You CAN have multiple apps but they should rely on the same layer settings โ€ข aka same ruby version, web server, etc. โ€ข Git Settings, Environment Variables, Domains, SSL Certificates, Database Connection all goes here โ€ข Questions vary based on layer type
  • 21. Instances โ€ข This defines the metal youโ€™ll be running on โ€ข Inherits from Stack settings โ€ข Size, Name, Availability Zone, SSH Access, OS all configured here โ€ข You can also setup autoscaling here โ€ข Automatically spin up and down boxes based on load or time
  • 25. Chef โ€ข Every Stack can define a Custom Cookbooks Repo โ€ข You can also use Berkshelf โ€ข If you donโ€™t use Berkshelf Iโ€™d make each recipe an individual repo and submodule them in โ€ข Also: Make your cookbooks public if you can and keep sensitive info in environment variables โ€ข Getting a private repo to work is possible but a total PITA
  • 26. โ€ข OpsWorks publishes their default cookbooks here: โ€ข https://github.com/aws/opsworks-cookbooks โ€ข Check the branch, master is useless the branches map to chef version โ€ข We fork this for each project and then edit โ€ข Matt Case told me Iโ€™m a bad person for doing this
  • 27. Deployment โ€ข Goodbye Capistrano, hello mediocre Capistrano clone. โ€ข Same folder structure as cap โ€ข Terrible command line support. Working on rake tasks for this but who knows when weโ€™ll be able to post them โ€ข 0 downtime deploys either need custom code or use the Web UI
  • 28. โ€ข Deploy Hooks - /deploy folder in project, use for asset compile โ€ข Tasks - Create chef cookbook, execute as command โ€ข OpsWorks deploys are slower than other tools (getting better)
  • 30. The Good โ€ข DevOps for Dummies (or developers like me) โ€ข Free* โ€ข Great integration with AWS (obviously) โ€ข Comprehensive API โ€ข Really detailed documentation
  • 31. โ€ข Default server configs are pretty solid. (Iโ€™ve used Rails and Node) โ€ข Security Updates โ€ข Sidenote: Heartbleed and Shellshock โ€ข Amazon is actively improving the tool โ€ข RDS, Environment Vars both added recently
  • 32. The Bad โ€ข Documentation is confusing at times โ€ข Reads like a technical manual because, well, it is a technical manual โ€ข Quick obsolescence โ€ข Chef updates, new features, etc.
  • 33. AWS Integration โ€ข Recently added RDS support so no more giant JSON blocks โ€ข CloudWatch for monitoring as well as autoscaling โ€ข New Relic is still better for monitoring though โ€ข IAM Security makes it easier to control access โ€ข Servers are EC2, so you get all that stuff too โ€ข Can map resources within opsworks (load balancers, EBS volumes, etc.)
  • 34. Questions? โ€ข Josh Schramm โ€ข @JoshReedSchramm on the twitters โ€ข [email protected] โ€ข Slides on slideshare and Iโ€™ll try and remember to tweet that.