What is DevOps?

Preview:

Citation preview

What is DevOps?WE HEAR A LOT ABOUT IT, BUT ARE WE SURE WE ALL REALLY UNDERSTAND WHAT IT ’S ABOUT?

The name may be new(ish), but the problems aren’tBELIEVE IT OR NOT, WE CAN’T SOLVE THEM ALL YET, EVEN THOUGH WE’VE GOT A NEW LABEL FOR OUR APPROACH!

DevOps isn’t a job roleYOU CAN’T DO THIS BY EMPLOYING A DEVOPS ENGINEER OR MAKING A TEAM COMBINING DEVS AND OPS.

Not one size fits allNO STRICT RULES AND NO BEST PRACTICE FOR A SET OF TOOLS TO USE.

CAMSCULTURE. AUTOMATION. MEASUREMENT. SHARING.

Involve all the stakeholdersPROTIP : FOR MANY PROJECTS THAT ’LL INCLUDE MOST SECTIONS OF THE BUSINESS, AND YOU NEED THEIR BUY -IN.

Work together from day oneIF OPS PEOPLE AREN’T INVOLVED UNTIL DEVS ARE READY TO DEPLOY, YOU’RE ASKING FOR TROUBLE.

Get everyone talking about…

What is the scale of the system?

How secure does it need to be?

When does the business need it deployed?

What does success look like and how do you monitor?

Requirements for backups and high availability.

Futures. What is the roadmap for upgrades likely to look like?

Support load. Include your helpdesk.

Focus on entire systemsNOT SILOS OR SPECIFIC WORK CENTRES. TRY TO INCREASE ENTIRE SYSTEM FLOW. NEVER PASS KNOWN DEFECTS DOWNSTREAM.

(THE FIRST WAY)

Practice makes perfectIF YOU’RE STRUGGLING TO DO DEPLOYMENTS, TRY DOING THEM MORE FREQUENTLY, NOT LESS.

You don’t have to do 10 releases a dayALTHOUGH DEVOPS SHOULD REDUCE THE COST AND RISK OF DOING SO, AND YOU GET CUSTOMER FEEDBACK QUICKER.

Reduce WIP and time to valueIDENTIFY BOTTLENECKS AND RUTHLESSLY REMOVE THEM.

Automate all that you canMAKE EVERYTHING REPRODUCIBLE – SUCCESS AND FAILURE.

Tools can helpBUT DON’T LET A PARTICULAR TOOL LEAD YOU DOWN A PATH IF IT ’S NOT RIGHT.

Use tooling across Dev & Ops for…

Version control.

Automating builds and deployment.

Tracking bugs.

Configuring consistent infrastructure platform across tiers.

Continuous integration.

Integrated testing.

Develop code and config hand in hand…BUT KEEP THEM SEPARATE. INFRASTRUCTURE AS CODE.

Avoid configuration in a GUIEVEN WITH A GOOD RUNBOOK, IF YOU RELY ON PEOPLE DOING THINGS MANUALLY THEY WILL MAKE MISTAKES.

Feedback loops for everythingMAKE SUCCESS/FAILURE OF EVERY FUNCTION VISIBLE TO EVERYONE. RAPID ITERATION SHORTENS AND AMPLIFIES FEEDBACK LOOPS.

(THE SECOND WAY)

Test continuouslyDON’T MAKE TESTING A PHASE THAT YOU PASS THROUGH AND SIGN OFF AS DONE.

Troubleshoot in the openUSE COLLABORATIVE TOOLS, SUCH AS IM, AND BE VERBOSE AS YOU WORK ON PROBLEMS. GOAL: MINIMIZE MTTR.

Experiment continuallyTAKE RISKS. FAIL QUICKLY. LEARN FROM FAILURES AND IMPROVE RESILIENCE OF THE SYSTEM. REWARD RISK TAKING.

(THE THIRD WAY)

Are your improvements really improvements?SOMETHING MAY BE FASTER/BETTER/MORE SECURE, BUT IS IT REALLY ADVANCING THE GOAL?

To DevOps, or not to DevOpsWEB/MOBILE APPS? CLOUD BASED? MISSION CRITICAL? LIFE CRITICAL?

So what is DevOps really?ESSENTIALLY IT ’S JUST ABOUT STREAMLINING AND CONTINUALLY IMPROVING FLOW OF THE VALUE STREAM

Recommended