INtroduction to DevOps Being one with the flow Wednesday, February 6, 13
Jul 14, 2015
INtroduction to DevOps
Being one with the flow
Wednesday, February 6, 13
Introduction G. Ryan Fawcett
• Trained Agile Scrum / Kanban Master from 2004 - Today
• 20 years of System Engineering / System Administration experience
• Pervious engagements Kontera , Yahoo , Safeway and others big and small
Wednesday, February 6, 13
DevOpsWhat does it mean to us
• Infra-structure as code
• Reproducible Environments ( Dev, QA, Production)
• Kanban Change Management and Project Management
• Meeting Business needs with Development Agile processes
• Automated build environment
• Continuous Integration / Deployment
• Its all about FLOW
Wednesday, February 6, 13
What is Chef ?
• Chef is a infrastructure configuration management platform to create infrastructure as code
• Configuration policy enforcement tool
• Continuous integration tool
Wednesday, February 6, 13
Chef Client Server Architecture
Wednesday, February 6, 13
Chef Structures
• Roles: is a grouping of cookbooks and recipes shared between a type of node
• Node: is a machine that has roles and attributes assigned to it
• Cookbook: a collection of recipes
• Recipe: a collection of resources
• Resource: basic unit of work, package, service, template, file, exec, etc
• Attributes: node data such as IP address, Hostname, any value you set
• Data-bag: data store of globally available JSON data
Wednesday, February 6, 13
RecipeSimple Example of a Recipe
yum_package "autofs" do action :installend
service "autofs" do supports :restart => true, :status => true, :reload => true action [:enable, :start]end
template "/etc/auto.master" do source "auto.master.erb" owner "root" mode "0644" notifies :restart, resources(:service => "autofs" )end
template "/etc/auto.home" do source "auto.home.erb" owner "root" mode "0644" variables({! :fqdn => node[:fqdn],! :autofs_server => node[:autofs_server],! }) notifies :restart, resources(:service => "autofs" )end
Wednesday, February 6, 13
ERB Templates
<%= if node[:domain] == "dc1.company.org" node.set['autofs_server'] = '10.1.4.120'end
if node[:domain] == "dc2.company.org" node.set['autofs_server'] = '10.100.0.11'end%>
* -fstype=nfs,rw,nosuid,nodev,intr,soft <%= node[:autofs_server] %>:/home_vol_01/&
Wednesday, February 6, 13
Live DEMO
Wednesday, February 6, 13
Kanban & OpsWhat it accomplishes
• Knowledge Share ( Stand up / Documentation )
• Project Management ( Status of WIP for resource planning )
• Change Management ( Dashboard for what is changing )
• Operational Transparency ( Status of Projects / Deployments )
• Business Performance Metrics ( Reporting tools to see how low it takes to make changes and deploy code)
Wednesday, February 6, 13
Operations Kanban
Wednesday, February 6, 13
Jenkins and Branching
• Automated Build process daily or hourly ?
• Roll forward methodology a rollback is a push forward in version but pervious production push.
• Ability to build a release or tree in under 30 mins.
Wednesday, February 6, 13
Managed environments
• Need for Environments to Sync up
• That process of building is the same on QA, Staging, and Production Machines
• A centralized Chef source code repository shared company wide
• Virtualization of QA and Staging Environments to imitate production
• Automation / Configuration Meetings to discuss this with Dev,QA on an ongoing basis.
Wednesday, February 6, 13
Continuous deployment pipeline
• QA Promotes the Build to Staging
• Smoke and Load performance testing in a Staging Environment
• Build is promoted to Production Ready
• Chef server picks up the build and Places it in CCDeploy Repository
• Chef-clients checks for updates and updates the deployed packages on the servers
• Chef continues to run and configures the application based on its configuration files in the chef server.
Wednesday, February 6, 13
Continuous Deployment
Wednesday, February 6, 13
QUESTIONS ?Contact Me @
[email protected] www.linkedin.com/in/gryanfawcett/
More on Chef http://www.slideshare.net/gryanfawcett/cooking-5-star-
infrastructure-with-chef
Wednesday, February 6, 13