Blog post here http://www.itskeptic.org/content/how-devops-messes-your-head
This presentation looks at how DevOps turns some fundamental principles of IT and ITSM on their heads, with new concepts such as high velocity change, fail fast, infrastructure as code, people over process, servers as cattle, and empowered developers. DevOps is a strong leading indicator of our IT future: sooner or later we will all need to make the lateral shift in mindset required by these challenging concepts.Your IT fundamental axioms will be challenged.
Welcome to a world where nothing is quite what you thought it was
A lightning romp through the far side of DevOps
Lean
Agile Manifesto
Reduced formality: close teamwork; a culture of trust, empowerment, professionalism, and accountability; flexibility over process.
Lean
Agile Manifesto
Reduced formality: close teamwork; a culture of trust, empowerment, professionalism, and accountability; flexibility over process.
be able to fix failures so quickly that it is more efficient than preventing them
Be prepared to fail: experiment and learn. My term: noble failure.
Antifragility
Kata
when you hear the phrase we need more time for this release, your response should be to release more often – Adrian Cockcroft
Infrastructure as code is the ability to build some or all of an environment for an application/system (from Dev to Prod) using software (usually scripts and command lines), from the bare metal up: server, storage, operating system, database, metadata, data, network, shared services, code, identities, authorisations… The ideal is for a single package to contain the code for an application and an environment to run that application.
Trust
Empowerment
Change facilitation
Improved flow
Let them do their own risk assessment
Development owns as much of the lifecycle as possible, possibly including deployment to production.
Toolsmiths and boilermen
Rugged DevOps
Operations move to more of a supervisory capability, setting policy and controls and overseeing environments, with execution of many operational tasks performed by Development teams.
Operationally ready code
Automation is key to increasing deployment speed and frequency without sacrificing quality: automation of merge, build, test, approve, release, deploy. The extreme ideal is a "deploy" button which allows a developer to deploy through all environments, tests, and controls into production without intervention.
Automation
Unicorns
Continuous Deployment means code is released at any time, unconstrained by windows or schedules.
Stop the production line
Deming: make toast: you burn I’ll scrape
Google Orb (?)
Space shuttle designed for 99.9% reliability = only 27,000 components expected to fail
Check in to trunk
Test against a prod-like image
Always ready to deploy
Continuous integration is the ability to test code against a production-like image at all stages of the lifecycle from early unit development so it is always guaranteed to work in Production (for some defined meaning of "always" and "guaranteed")
...and no forks: no branching of cide; one version; no merges; no regression
Continuous Delivery means code is always ready to deploy (for some defined meaning of "always" and "ready")
Trash your servers and burn your code
Immutable architecture
Simian army
Chaos monkey
Sharing
Peering
Loop people in
Greater collaboration between Dev and Ops: united team, shared knowledge and tools, shared ownership of the production system, shared accountability for service...
Teamwork
Measure and reward the team
Implement over the weekend
Humane IT
Burnout
Slow IT
Sharing
Transparency
Doing the best for the customer
Unreasonableness as waste
Death of cynicism
Leading with the heart
So what if I told you these things?
A lightning romp through the far side of DevOps