devops is not a culture. it is about responsibility
TRANSCRIPT
DevOpsAll slides and pictures in this presentation,
even those based on real presentations and ideas,are entirely an opinionated view of devops by a
single person and does not speak for any sane groupof people, vendor, cthulhu or the giant spaghetti monster
DevOps is not a Cultureor a job description
or a methodologyor a tool
Developer’s job description:
Take requirements and build software
They are:
Experts coders, modelers, problem resolvers, adapting to change, complex systems, etc.
Developer’s responsibilities:
• Write the software• Model data schema• Design system architecture• Prepare shippable software• Fixing bugs• “It works on my machine!”
Operation’s job description:
Make sure the product runs and stays running.
They are:
Experts at managing clouds, networking, storage, security, handling failures,preventing attacks.
Operation’s responsibilities:
• Ensure production is running• Minimize risk to production
– Risk from change– Risk from malfunctions– Risk from attacks
• Mitigate problems
Ever seen NASA Mission Control?
Operations are measured by production stability
Stabilize production minimize riskRisk caused by malfunctions, attacks, changeChange introduced by developers
Operations are measured by production stability
Stabilize production minimize riskRisk caused by malfunctions, attacks, changeChange introduced by developers
Operations responsibility is to prevent developers from introducing change
We want stability!Developers Operations
We want change!
We want stability!
We are measured by our stability. It is our job!
Developers OperationsWe want change!
We are measured by our changes. It is our job!
Change the Responsibility
Developer’s responsibilities (devops):
• Write the software, etc.• Prepare shippable software• Fixing bugs• Mitigate risk due to changes• Ensure stability due to changes
Developer’s responsibilities (devops):
Developers own the change and its impact to production
Which means for the developer
• Pre-deployment guards – compilers, unit tests, integration tests,
tests…
• Predictable deployment– Automated deployment, immutable
servers
• Post-deployment guards– Monitoring, alerting, auto-rollback, etc.
Operation’s responsibilities (devops):
• Ensure production is running• Minimize risk to production
– Risk from change– Risk from malfunctions– Risk from attacks
• Mitigate some problems
Operations enable developers to take ownership of changes
Which means for the operations
• Focus on malfunctions and attacks
• Focus on system topology
• Help developers build guards– Pre-deployment guards– Predictable deployment– Post-deployment guards
DevOps is an organizational structure at which professional responsibility is distributed by
owners and enablers
It’s about responsibility
Does the same applies to other functions in the organization?
Not only developers and operations?