Building a DevOps Team that isn't Evil
-
Upload
ibm-urbancode-products -
Category
Technology
-
view
2.929 -
download
2
Transcript of Building a DevOps Team that isn't Evil
Webinar starts at 1:00 ET You shouldn’t be hearing anything yet
Starting in less than 15 min You shouldn’t be hearing anything yet
Starting in less than 10 min You shouldn’t be hearing anything yet
(I’m ge6ng excited, are you?)
Building a DevOps Team (That isn’t Evil)
UrbanCode Inc. ©2013
Presenting Today
Eric Minick Technical Evangelist [email protected]
§ Background as a developer, tester and tools guy
§ Last 9 years: Helping customers implement build, deploy, release automaPon
@EricMinick
UrbanCode Inc. ©2013
The Plan
§ Why DevOps (very briefly) § Why would the teams be seen as evil? § A template for non-‐evil DevOps teams § AddiPonal Resources, Q&A
UrbanCode Inc. ©2013
The Dev /Ops Problem
BA / EA App Dev Test Ops
• A big wall hurts communicaPon & trust • Knowledge mostly flows one way • Feedback is limited
• Processes and tools vary wildly via silos
Image credit: h`p://www.flickr.com/photos/68518558@N00/426688160/sizes/z/in/photostream/
UrbanCode Inc. ©2013
Idealized solution: blow up the silos
DevOps
Dev Test Ops
Image credit: h`p://www.geograph.org.uk/profile/19979
UrbanCode Inc. ©2013
Idealized ‘DevOps Team’
Business, Dev and Ops work as one to deliver awesomeness*!
Biz
Idea!
Dev
♫
Codes /Tests
Agile Reqs.
Ops
Faster / Safer
Release / Monitor
FeedbackLoops
Everywhere
* Awesomeness (n): Rapid flow of business value to the customer
UrbanCode Inc. ©2013
But “DevOps team” is a hated term
UrbanCode Inc. ©2013
But “DevOps team” is a hated term
* h`p://conPnuousdelivery.com/2012/10/theres-‐no-‐such-‐thing-‐as-‐a-‐devops-‐team/
The Devops movement addresses the dysfuncPon that results from organizaPons composed of funcPonal silos. Thus, crea+ng another func+onal silo that sits between dev and ops is clearly a poor (and ironic) way to try and
solve these problems*
UrbanCode Inc. ©2013
But “DevOps team” is a hated term
The Devops movement addresses the dysfuncPon that results from organizaPons composed of funcPonal silos. Thus, crea+ng another func+onal silo that sits between dev and ops is clearly a poor (and ironic) way to try and
solve these problems*
UrbanCode Inc. ©2013
No more silos
Dev DevOps Ops Bad
UrbanCode Inc. ©2013
Non-Evil (Enterprise) DevOps Teams are Hard
§ Silos are tough to bust Just what do you expect from the VPs of Dev and Ops?
§ No, we’re not le6ng Devs break producPon
§ Limited # of people in enterprises who “get” DevOps When trying something new, involve people who care
§ Want to start small and learn something to apply big
UrbanCode Inc. ©2013
Basic Strategy
Dev Ops
DevOps Team
Facilitate be`er Dev / Ops CollaboraPon Fight silo’d thinking
UrbanCode Inc. ©2013
Step 1: Assemble your team § Goal: Improve delivery
Reduce duplicaPon of effort, Improve consistency, embrace change
§ Members Developers Testers Change Management Release Managers Release Engineers Infrastructure / Cloud People
§ Advisors SkepPcs and the “Grumpy Team” (security, audit, etc)
§ Team may be full-‐+me or virtual / matrix
h`p://www.fotopedia.com/items/flickr-‐2133752097
UrbanCode Inc. ©2013
Step 2: Identify pilot project* teams § Willing § Capable § High rates of change § Moderate complexity § Highly visible
* 3a: Start referring to them as ‘ApplicaPon’ or ‘Product’ teams rather than ‘Project’. Project teams that disband auer delivery are counter-‐DevOps.
UrbanCode Inc. ©2013
Step 3: Audit the delivery pipeline § Look for things that cause errors and slowdowns
§ Inconsistent Environments, tools, communicaPon
§ Slow or expensive Handoffs Se6ng up / deploying to test environments
§ If you aren’t constantly tesPng the latest in environments that are similar to producPon, there will be stuff to fix.
UrbanCode Inc. ©2013
Step 4: Updated SDLC & toolchain design
PackageRepo
DeploymentChain
Test 1
Test ...
Test n
Prod
VersionMeta-data
ProvisioningController
SourceRepos Env. Def
Images
IaaSProvisioning
ServerConfiguration
EnvironmentConfig
EnvironmentInventory
CMDB
SourceRepos
Continuous Integration & Build
Mgmt. Build
PackageRepo
Build Registeredwith Package
Repo
TriggersVersion
Meta-data
DeploymentSystem
Builds
Test 1
Test ...
Test n
Prod
FunctionalTests
PerformanceTests
Monitoring
EventCorrelation
Rollback
UC Webinar: “Building a DevOps Toolchain”
MVP Minimum Viable Process
UrbanCode Inc. ©2013
Step 5: Begin executing with pilot teams
UrbanCode Inc. ©2013
Step 6: Post-mortems / retrospectives No ba&le plan ever survives contact with the enemy.
-‐ Moltke the Elder
§ Meet and update regularly With every major producPon release Host Dev / Ops post-‐mortems for outages. The teams own the event and outcomes. You facilitate and learn.
UrbanCode Inc. ©2013
Step 7: Roll out to more teams § Give up ownership of everything Build and release -‐> applicaPon teams Tooling -‐> Infrastructure and/or Development Support
(if no appropriate group exists, lobby for one)
§ Evangelize successes, recruiPng more teams Expand scope beyond web apps & mobile as appropriate
UrbanCode Inc. ©2013
7 steps to a Good DevOps Team 1. Assemble a team with diverse skills & backgrounds 2. IdenPfy pilot teams to work with 3. Audit the exisPng value delivery chain 4. Create a plan of a`ack including process and tools 5. Try it 6. Learn and replan 7. OperaPonalize (give up ownership and scale)
UrbanCode Inc. ©2013
Dealing with defenders of the wall § IdenPfy them early § Co-‐opt them with advisors
They are either members of the “grumpy team” or cite those people.
§ Avoid them when picking pilot teams
§ Build a business case with your value delivery chain audit. It starts and ends with the business.
UrbanCode Inc. ©2013
Summary § DevOps is firmly anP-‐silo
§ Do Not create a DevOps silo rename the ops silo “DevOps”
§ Do create a team to facilitate DevOps adopPon work to tear down walls and blur silos
UrbanCode Inc. ©2013
References h`p://urbancode.com/resources
§ Deployment AutomaPon Basics § Lean Build & Deployment AutomaPon § ITIL Release Management and AutomaPon
Blogs.urbancode.com Twi`er.com/UrbanCode
UrbanCode Inc. ©2013
Speaking of DevOps toolchains… Urbancode is a vendor of these types of tools: § uBuild Build automaPon on an enterprise scale
§ uDeploy ApplicaPon Release AutomaPon
§ uRelease Release management and release weekend execuPon
§ TerraForm Open source environment provisioning tool
Slideshare.net/Urbancode @EricMinick
Linked-‐in group: “AutomaPng Deployment and Release”