Skip to main content
www.devopsguys.com | Phone: 0800 368 7378 | e-mail: team@devopsguys.com | 2016
3
Introductions
James Betteley
DevOps Evangelist & Coach.
DevOps Transformation
4
Agenda
Introductions (done!)
DevOps History
DevOps Defined
Why DevOps Happened
DevOps Principles
DevOps Practices
How do we do DevOps?
DevOps KPIs
5
DevOps History Lesson
• 2008 Patrick Dubois is a consultant working on a DC migration project for
the Belgian government
• 2008 Agile Systems Administration group formed by Dubois and Andrew
Shafer
• 2009 Velocity ‘09 – John Allspaw & Paul Hammond give talk on 10+
Deploys a day at Flickr
• 2009 First DevOpsDays conference
• 2010 First DevOpsDays US
• 2013 DevOps defined (sort of) as “an intimate understanding between the
development and operations teams”
6
DevOps Defined
Sysadmins who code
Recruiters
Optimised value delivery
DevOpsGuys
Automation
DevOps Engineers
7
The DevOps “calms” model
• Culture
• Automation
• Lean
• Measurement
• Sharing
Continuous Delivery
+ Operability
= DevOps
OPERABILITYScalability
Deployability
Resilience
Monitoring Alerting
Disaster Recovery
Supportability
Maintainability
10
why did DevOps happen?
11
why did DevOps happen?
“How do we keep up with the demand
for new features and new technologies
while maintaining stability and high
performance?”
We tried to answer this question:
12
Why did DevOps happen?
“How do we deliver maximum value to
our customers and shareholders?”
It was the wrong question 
The first ingredient of DevOps:
Shared Goals
DevOps Principles
15
The DevOps “calms” model
• Culture
• Automation
• Lean
• Measurement
• Sharing
16
The DevOps “calms” model
• Create a culture
of collaboration
and ownership.
• Start small and
scale out, not
up.
17
The DevOps “calms” model
• Fast feedback
through
automation.
• We need
information to
guide our
decisions
18
The DevOps “calms” model
• Lean approach
to system’s
thinking
• Localised
optimisations
are a mirage
• Being busy !=
being valuable
19
The DevOps “calms” model
• Measure the
right things
• Be empirical, let
the stats guide
you.
• Beware of the
cultural impact
20
The DevOps “calms” model
• Share goals to
create a
common
purpose
• Share
experiences to
encourage
learning
21
Gene Kim’s “3 Ways” of DevOps
22
Gene Kim’s “3 Ways” of DevOps
23
Gene Kim’s “3 Ways” of DevOps
DevOps Practices
25
Infrastructure as Code
workflow CreateWebVM
{
InlineScript {
"Creating VM $($Using:VMName)"
Select-AzureSubscription $Using:SubscriptionName
$VM = New-AzureVMConfig -Name $Using:VMName `
-InstanceSize "ExtraSmall" `
-ImageName $Using:imageName `
-AvailabilitySetName $Using:availgroup
$VMConfig = Add-AzureProvisioningConfig -Linux `
-VM $VM `
-LinuxUser $Using:username `
-SSHKeyPairs $Using:sshkey `
-password $Using:password
New-AzureVM -ServiceName $Using:CloudService.ServiceName -VM $VMConfig
}
}
 Declarative
 Reusable
 Automated
 Testable
26
Configuration as Code
package "apache2" do
case node[:platform]
when "centos","redhat","fedora","suse"
package_name "httpd"
when "debian","ubuntu"
package_name "apache2"
when "arch"
package_name "apache"
end
action :install
end
27
Cloud
“The Cloud”
Innovative Accessible
Cheap
Scalable
Configurable
Fast
Visible
Automated!
28
Test-driven
• As a lazy ops guy I want an Ansible role that will install Apache on an
Ubuntu Server So that I can host the best website ever
• Additional notes:
• Install whatever the latest version of Apache is, we're a bleeding edge company
• Must work on Ubuntu 14.04 (current) and 15.04 (future rollout)
• The external load balancer will route incoming http requests to port 55555 on all
machines
• The NSA wants their own root account on all our environments
• Please remove telnet for maximum security
29
Test-driven
require 'spec_helper'
describe package('apache2') do
it { should be_installed }
end
describe service('apache2') do
it { should be_running }
end
describe port(55555) do
it { should be_listening }
end
describe user('NSA') do
it { should exist }
it { should belong_to_group('root') }
end
30
Continuous Delivery
• “Our highest priority is to satisfy the customer through early and
continuous delivery of valuable software”
31
Microservices
32
Continuous Delivery
33
Continuous Delivery – 8 principles
1. The process for releasing/deploying software MUST be repeatable
and reliable
2. Automate everything!
3. If somethings difficult or painful, do it more often
4. Keep everything in source control
5. Done means “released”
6. Build quality in!
7. Everybody has responsibility for the release process
8. Improve continuously
34
Continuous Delivery – 4 practices
1. Build binaries only once
2. Use precisely the same mechanism to deploy to every environment
3. Smoke test your deployment
4. If anything fails, stop the line!
35
Tooling
DevOps Applied
How Do Organisations do DevOps?
37
What do these organisations have in common?
38
5 Steps to Doing DevOps
1. Establish your goals
1. What does DevOps mean to the team?
2. Build the platform
1. Environments
2. Continuous Delivery
3. Test Automation
3. Assemble the team
4. Be agile, not waterfall
5. Work together to achieve great things
1. Autonomy, mastery & purpose
39
How to change an organisation’s culture
DevOps Topologies
How Organisations organise their organisations
DevOps Solutions
DevOps Coaching
Workshops & Training
DevOps Engineering
Application Lifecyle
Automation
DevOps Consultancy
DevOps, Agile & Cloud
Strategy
ccelerateducate ransform
Measuring Success
47
Key Performance Indicators
48
Further reading
Questions?
50
50
www.devopsguys.com
Phone: 0800 368 7378 | e-mail: team@devopsguys.com
CONTACTS
Redgate Database DevOps Team
databasedevops@red-gate.com
DevOpsGuys
team@devopsguys.com