Poka yoke and Devops

Post on 26-Jun-2015

3.542 views 1 download

description

Ignite talk at Devopdays Barcelona 2013 about Poka yoke and how it's inspire and can be implemented in a Devops culture

Transcript of Poka yoke and Devops

Poka­yoke and DevOpsUlf Månsson  ­  @ulfmansson  ­  Recorded Future AB

Poka­yoke ­ failure proof

Poka­Yoke 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 Poka­yoke

Type of poka­yoke

Control poka­yoke

                  Warning poka­yoke

Poka­yoke ­ failure proof

Poka­Yoke 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 + Poka­yoke = 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 Poka­Yoke: 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 Poka­yoke

Makes everyday life easier

               Share

                               Automation