poka yoke and devops
DESCRIPTION
Ignite talk at Devopdays Barcelona 2013 about Poka yoke and how it's inspire and can be implemented in a Devops cultureTRANSCRIPT
Pokayoke and DevOpsUlf Månsson @ulfmansson Recorded Future AB
Pokayoke failure proof
PokaYoke is a system that, after being implemented, makes the creation of a defect in the manufacturing process impossible to happen.
ポカヨケ
Quality term developed in Japan
Helps an equipment operator avoid (yokeru) mistakes (poka)
Origin in lean manufacturing system
Example of Pokayoke
Type of pokayoke
Control pokayoke
Warning pokayoke
Pokayoke failure proof
PokaYoke is a system that, after being implemented, makes the creation of a defect in the manufacturing process impossible to happen.
DevOps
About culture
Involving everyone
Deliver
Devops + Pokayoke = true
Make processes fail proofs
Safer for everyone to do tasks by them self
Everyone should be able to do simple tasks as a deploy
Automation
One of the build blocks in DevOps
Reduce human errors
DeploymentEasy to deploy for everyone – developers are deploying
At Recorded Future, just set the revision number of the component
Component depending are automatically restarted
Continuous delivery
Continuous delivery treats the commonplace notion of a deployment pipeline as a lean PokaYoke: a set of validations through which a piece of software must pass on its way to release
Source Wikipedia
Continous delivery safeguard
Image from Wikipedia
Test everything
Application code
Infra code
Use tools like test kitchen
Test full deployment
Simple to use toolsrfknife_upload apache
Logstash
Graphite
Sensu
Auto scaling
Problem with a server, just shut it down, you will get a new for free
Think about your servers as cattle not individual cows
Same language for all infra code
Standardized all infra codes in one common language, eq Ruby
Bash, Perl, Python etc is banned
Easy for developers to understand and change
Easy for operation people to understand and maintain
Code
All code is code Keep the code in the same repository
Treat all code in the same way, it doesn’t matter if it’s application code, infra code,
test code or whatever
Same processes, same tools
We all use JIRA
Use the same name for components etc
We run the same sprints
Internal tools
Web based to prefer
Few tools
Should warn if there is a major impact of the command
help should always work
Should be error prone, take care of the user
DevOps and Pokayoke
Makes everyday life easier
Share
Automation