Devops 10100 1

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 47

DevOps

@matthew_jones
mjones@itree.com.au
Dev or Ops?

6 Days after a successful deployment,


the server experiences high load.
Dev or Ops?

There is an issue with the build


server.
Code isn’t building.
Dev or Ops?

Software is deployed to the test


environment.
You can’t login to the application.
Dev vs. Ops
“It works on my machine...”
“It’s not the server, it’s your code.”
What is the role of Dev and Ops?
What are the roles of Devs and Ops?
• Dev
– Create change
– Add or modify features
• Ops
– Create stability
– Create or enhance services
What are the roles of Devs and Ops?
• Dev
– Create change
– Add or modify features
• Ops
– Create stability
– Create or enhance services
We Have A Problem...
The Problem
• Disconnect between the groups
• Results in conflict and inefficiencies

• Devs don’t deploy consistent software


• Ops are motivated to resist change

• Development process is Agile


• Operations process is Static
And we are missing the point of it all...
We are all here to ENABLE business
So What’s All This Change?
Change
• Is required for business
• Doesn’t mean outages
• Should be exploited and not feared
Change shouldn’t mean fire fighting
DevOps To The Rescue!
What is DevOps?
• “DevOps is an approach to bridge the gap
between agile software development and
operations” – agileweboperations.com
• Collaborative Mindset of Devs and Ops
• It’s what Agile is to software development
• C.A.M.S.
Culture
Culture
• Relationships
– Engage early, engage often
– Bust Silos TM
– Be open
– Stop finger pointing
– Eradicate “last-mile syndrome”
Culture
• Communication
– Talk is cheap (get out of your chair)
– Involve each other in core processes and decisions
– Ask Questions
– Don’t say “no”
– Invite everyone to stand-ups and retrospectives
Automation
Automation
• Machines are really good at doing the same
task over and over
• Consistent and Known State
• Fast and Efficient

• 5 mins/day = 2.6 days/year


Automation
• What can be automated?
– Builds
– Deployments
– Testings
– Monitoring
– Self-healing
– System rollouts
– System configuration
Metrics
Metrics
• Capture, learn, improve.
• Assists in:
– Capacity Planning
– Trend Analysis
– Fault Finding

• Simple as saving Tomcat access info


• Plotted on a graph over time
Metrics
Sharing
Sharing
• Share Ideas
• Share Metrics

• Ops: Give devs shell access


• Devs: See what technology can be leveraged
DevOps Lifecycle
Before
• Talk about functional requirements
• Talk about non-functional requirements
– Security
– Backups
– Availability
– Upgradeability
– Configuration Mgmt
– Monitoring
– Logging
– Metrics
During
• Communication
• Source Control
• Automate Builds
• Automate Tests
• Automate Deployments (Dev, Test and Prod)
• Collate App and System Metrics
After
• Release
– Retrospective Meetings
– Continue to Run Tests
– Monitor Applications and Systems
• Issues (Yes, they do happen)
– Post Mortem Meetings
What are we doing?
Puppet
Automated System Admin 101
Automated System Admin 101

Puppet Lives Here


Puppet
• Configuration Management Tool
• Open Source (FTW!)
• Infrastructure Is Code
• Confidence of System State

• Lather, Rinse, Repeat...


node default {
include sudo
include ntp
include ssh
}

node project-dev01 inherits default {


include jdk6
include tomcat55
include fonts
}
node project-test01 inherits default {
include jdk6
include tomcat6
include fonts
}
class sudo {

package { ["sudo"]:
ensure => latest,
}

file { "/etc/sudoers":
owner => root,
group => root,
mode => 440,
source => "puppet:///files/sudo/sudoers",
require => Package["sudo"];
}
}
Autobahn
Autobahn
• Continuous Deployment Tool
• Developed In-House

• Automates Deployment Process


– Grabs Builds from Hudson
– Deploys to App Server
Autobahn
Summary
• Bust Silos TM

• Culture
• Automation
• Metrics
• Sharing

• Ask yourself “Is my work creating business


value?”
More Info?
• Podcasts
– DevOps Cafe
– Agile Executive
• Presentations
– Velocity
– DevOps Days
• Other
– Twitter: #devops
– Google Groups: agile-system-administration, devops
Question Time

You might also like