devops awareness - wordpress.com...course book | devops awareness sample material - not for resale...

18
Course Book DevOps Awareness

Upload: others

Post on 14-Mar-2020

20 views

Category:

Documents


0 download

TRANSCRIPT

Course Book

DevOps Awareness

Sample Material - Not for Resale

DevOps Awareness

Sample Material - Not for Resale

Copyright and Disclaimer

DevOps Awareness | r1.0.0

CopyrightCopyright © Devops Agile Skills Association LLC 2018. All rights reserved.

This is a commercial confidential publication. All rights reserved. This document may not, in a whole or in part, be copied, reproduced, translated, photocopied, or reduced to any medium without prior and express written consent from the publisher.

This course includes copyrightable work under license and is protected by copyright. No part of this publication may be reproduced, distributed, or transmitted in any form or by any means, including photocopying, recording, or other electronic or mechanical methods, without the prior written permission of the publisher, except in the case of brief quotations embodied in critical reviews and certain other noncommercial uses permitted by copyright law or further disseminated without the express and written permission of the legal holder of that particular copyright. The Publisher reserves the right to revoke that permission at any time. Permission is not given for any commercial use or sale of this material.

Trade MarksDevOps Awareness® is a registered trademark of DASA Limited.

DisclaimerInformation provided about the course, modules, topics and any services for courses including simulations or handouts, are an expression of intent only and are not to be taken as a firm offer or undertaking. The Publisher reserves the right to discontinue or vary or maintain such course, modules, topics, or services at any time without notice and to impose limitations on enrolment in any course.

The course materials provided may have hypertext links to a number of other web sites as a reference to users. This service does not mean that the publisher endorses those sites or material on them in any way. The publisher is not responsible for the use of a hypertext link for which a commercial charge applies. Individual users are responsible for any charges that their use may incur.

The information in this course is written using a blend of British and American English. Although every effort has been made regarding the usage of correct spelling, punctuation, vocabulary, and grammar with regard to the Standard English, the publisher accepts no responsibility for any loss or inconvenience caused due to the regional differences in the usage of the English language.

ii  │ Copyright © 2018Sample Material - Not for Resale

ContentsACknowLeDgeMenTS v

MoDuLe 1: CourSe InTroDuCTIon 1Let’s Get to Know Each Other 1Course Overview 1DASA Competence Framework 1Knowledge Areas and Skill Areas 2Competence Framework in Practice 4Course Objectives 5DASA: Mastering DevOps in Practice (Knowledge and Skills) 5Course Agenda 6Type of Activities 7Course Book 7Activity: Group Activity 7Module Summary 7

MoDuLe 2: DevopS InTroDuCTIon 9Module Topics 9Emergence of Devops 9Activity: Group Discussion 11Core Principles Of Devops 17Activity: Group Discussion 20Activity: Group Discussion 25Module Summary 26Module End Questions 27

MoDuLe 3: DevopS AnD IT ASpeCTS 29Module Topics 29Culture 29Activity: Group Discussion 33Organization 33Processes 39Activity: Group Discussion 43Activity: Task Switching/Game 47Automation 51Module Summary 63Module End Questions 65

AppenDIx A: MoDuLe enD queSTIonS AnSwerS 67

AppenDIx B: reLeASe noTeS 69

AppenDIx C: pArTICIpAnT FeeDBACk ForM 71

Copyright © 2018 │  iiiSample Material - Not for Resale

Sample Material - Not for Resale

AcknowledgementsWe would like to sincerely thank the experts who have contributed to the development of the DevOps Awareness.

Lead Authors

Marcel Foederer

Master Trainer@ITpreneurs (ITIL/Cobit 5/ISo20k/prInCe2/kepner Tregoe/DASA Devops Fundamentals and practitioner/Cloud Service Management)

Marcel is responsible for developing this Awareness program based on DASA DevOps Fundamentals course. As an IT Service Management trainer, consultant and line manager with over twenty five years’ experience in IT, Marcel has performed strategic and tactical assignments in a wide variety of areas. His experience includes project and program management including process design, product management, requirements analysis and training delivery related to the IT Service Management international best practice, in both the private and public sectors on a global scale. His area of consulting expertise is in advising organizations on IT Service Management, based on ITIL® (IT Infrastructure Library) best practices, and in the management of these initiatives to improve organizational and operational efficiencies and service delivery quality. He also excels as an experienced facilitator, trainer and lecturer. He is committed to the successful delivery of total solutions to his client base, achieved through respect for the management of change issues involved in the resulting integration of people, process and technology.

rik Farenhorst

Business unit Manager at xebia

Rik has a PhD in software engineering and more than 10 years of experience in the business-IT domain. He has worked as Enterprise/IT Architect, Consultant, Trainer and Coach, and has later grown into Sr. Management positions. He guides organizations and individuals in raising their bar by making IT simpler, better, and of higher quality. Rik works as Business Unit Manager at Xebia, a specialized international IT consultancy, solutions and training company specialized in high-performance IT, digital transformation, and thought leader in DevOps. Rik is a member of the editorial board of the DevOps Agile Skills Association (DASA).

Copyright © 2018 │  vSample Material - Not for Resale

Michiel Sens

Solution Architect at xebia

Michiel Sens has worked in the IT Industry for over 18 years, is co-writer of the book ‘Continuous Delivery for Managers’ and works as a Principal Consultant/Solution Architect at Xebia in The Netherlands. Michiel specializes in Continuous Delivery and full lifecycle software development programs and as such focuses on coaching Agile Teams, setting up central build environments, automating tests, automating deployment over multiple environments and implementing fully automated PaaS platforms. He advocates the use of Continuous Delivery at seminars and meetups and remains in touch with details by performing actual implementations as well.

Frederik Schukken

Managing Consultant at quint wellington redwood

Frederik is a Managing Consultant at Quint Wellington Redwood where he and his team help businesses to adopt disruptive thinking and create high-performance IT. He is passionate about helping others to adopt Lean and DevOps methodologies and break out of rigid, traditional ways of working.

Thomas kruitbosch

Devops Consultant at xebia

Thomas is specialized in Continuous Delivery and optimizing IT for fast adoption of new technologies. Thomas has extensive experience and in-depth knowledge of both development and operations. As Consultant, Trainer, and Conference Speaker, Thomas advocates the use of Agile and Automation Delivery principles. Also, he performs technical implementations of Continuous Delivery Automation and (cloud) platforms.

niels Loader

Managing Consultant at quint wellington redwood

As an advisor to 10 of IT organizations, Niels has extensive knowledge and experience in implementing IT Service Management, IT Performance Management, Lean IT, and DevOps within IT organizations. In 2010 and 2011, he was one of the initiators of the Lean IT Foundation certification and spent four years as the Chief Examiner for the APMG Lean IT certification. He is the Lead of the Content team of the Lean IT Association.

vi  │ Copyright © 2018

Course Book | DevOps Awareness

Sample Material - Not for Resale

Course IntroduCtIonLet’s Get to Know Each OtherIntroduce yourself in the following format:

� Name

� Company

� Role and background

� Familiarity with DevOps concepts and their practice

� Experience in application development, infrastructure development, and/or operations

� Expectations from this course

Course OverviewWhat is DevOps? Is it for the Development and Operations teams? How it is helpful for the IT professionals? What are the opportunities or career path in the DevOps field? The DevOps Awareness course helps you know the answers of those questions. DevOps Awareness is a 1-day course that is designed to provide the basic education required to build your DevOps vocabulary and understand its principles and practices.

DASA Competence FrameworkThis 1-day course provides learners an extensive introduction to the core Agile DevOps principles. It covers all 12 key knowledge and skill competences that have been defined by the DevOps Agile Skills Association (DASA).

1

Copyright © 2018 │ 1Sample Material - Not for Resale

2Copyright © 2018 |

DevOps

Awareness

This 1-day course provides learners an extensive introduction to the core Agile DevOps principles. It covers all 12 key knowledge and skill competences that have been defined by the DevOps Agile Skills Association (DASA).

DASA Competence Framework

Business Value Optimization

Business Analysis

Test Specification

Programming Continuous Delivery

Security, Risk, and Compliance

Infrastructure Engineering

Architecture and Design

Courage Teambuilding

Continuous Improvement

DevOps Leadership

1

2

3

4

5

1- Novice/ 2- Competent / 3- Proficient / 4 - Expert / 5 - Master

The course objectives and subsequently the module objectives in this course are built around the DASA Competence Framework. So, before you learn about the objectives of the course, it is important to understand the DASA Competence Framework.

Knowledge Areas and Skill AreasThe DASA Competence Framework identifies (8) Knowledge Areas and (4) Skill Areas that are relevant in DevOps.

3Copyright © 2018 |

DevOps

Awareness

The DASA Competence Framework identifies (8) Knowledge Areas and (4) Skill Areasthat are relevant in DevOps.

Knowledge Areas and Skill Areas

Courage

Teambuilding

DevOps Leadership

Continuous improvement

Business Value Optimization

Business Analysis

Architecture & Design

Programming

Continuous Delivery

Test Specification

Infrastructure Engineering

Security, Risk & Compliance

Knowledge Areas Skills Areas

The following points suggest what is meant by each skill area: � Courage covers more  than  just having  the confidence to act. 

It is also about trusting team members, being open, and being prepared to speak out.

2  │ Copyright © 2018

Course Book | DevOps Awareness

Sample Material - Not for Resale

� Teambuilding focuses on ensuring the team bonds to a set of people that interact effectively in a common cause. In the course of doing so, they hold each other accountable and support each other.

� Devops Leadership is not reserved for management or other formal leadership positions. It is fundamentally about facilitating teams to reach at high performance through formal and informal leaders.

� Continuous Improvement is a built-in desire to do better today than the team did yesterday. At the same time, it includes recognizing successes and failures, celebrating both for what they are/or opportunities to learn. This skill is also the basis for creating an autonomous team with all the knowledge necessary to serve the customer.

The following points suggest what is meant by each knowledge area: � Business value optimization is to look at the use of the IT

service in real life. The DevOps team should know about the usage of their IT service in practice and its impact on the further development of the service. It is vital to understand the business process the IT service supports to be able to build a business case for improvements.

� Business Analysis is to analyze data and processes to determine what improvements have the maximum effect on the business. It is about detailing the requirements but also doing Value Stream Mapping. It also includes the ability to refine the backlog of desired improvements.

� Architecture and Design encompasses, principally, the overall design of the IT service including creating a view of the direction in which the service is developing. In other words, it involves defining architectural scenarios.

� programming is the core knowledge area for all DevOps team members. Programming is essential to develop applications. However, with the creation of infrastructure as code, programming has found its way into the infrastructure domain. In both the cases, application and infrastructure, it is crucial for people managing the Production environment to have strong programming knowledge.

� Continuous Delivery covers the central DevOps process of getting the newly developed code from the development environment into production using a solid set of tests with reliable version control.

� Test Specification is closely related to Business Value Optimization and Business Analysis. Developing a set of tests is a good way to specify the functionality to be developed. Test Driven Development (TDD) is an example of a method that

Copyright © 2018 │ 3

Module 1 | Course Introduction

Sample Material - Not for Resale

promotes this way of developing applications, i.e. describe the required business value in terms of the tests that need to be passed and then develop the code.

� Infrastructure engineering includes knowledge of load balancing and other such performance management aspects. It also means building effective monitoring solutions that work as predictors for incidents or problems. Capacity and availability management are part of this knowledge area.

� Security, risk, and Compliance is vital for all IT products and services. It is essential to integrate this knowledge into the DevOps team rather than relying on outside knowledge. This knowledge area plays a vital role in building Quality at the Source.

Competence Framework in PracticeDASA’s Competence Framework guides organizations to develop high performing teams.

Every individual operating in a DevOps team should be at: � Level 2 - Competent in the (8) Knowledge Areas;

� Level 3 - Proficient in the (4) Skill Areas.

DevOps teams should strive for � Level 4 - expert level in all 12 Areas.

4Copyright © 2018 |

DevOps

Awareness

DASA’s Competence Framework guides organizations to develop high performing teams.

Every individual operating in a DevOps team should be at:

Level 2 - Competent in the (8) Knowledge Areas.

Level 3 - Proficient in the (4) Skill Areas.

DevOps teams should strive for

Level 4 - Expert level in all 12 Areas.

Competence Framework in Practice

1- Novice / 2- Competent / 3- Proficient / 4 - Expert / 5 - Master

Knowledge Areas

Skill Areas

Each member contributes their skills and knowledge to the overall competences of the DevOps team.

4  │ Copyright © 2018

Course Book | DevOps Awareness

Sample Material - Not for Resale

5Copyright © 2018 |

DevOps

Awareness

Each member contributes their skills and knowledge to the overall competences of the DevOps team.

Competence Framework in Practice (Contd.)

KatjaOps Admin

TomOps Engineer

GerardProduct Owner

DaveEngineer

KaitlinEngineer

DheerajProduct Owner

Business Value Optimization

Business Analysis

Architecture and Design

Continuous Delivery

Programming

Programming

Test Specification

Security, Risk, Compliance

Infrastructure Engineering

Infrastructure Engineering

Test Specification

Programming Continuous Delivery

Programming

Courage

Leadership

C Improvement

Teambuilding

Courage

Leadership

C Improvement

Teambuilding

Courage

Leadership

C Improvement

Teambuilding

Courage

Leadership

C Improvement

Teambuilding

Courage

Leadership

C Improvement

Teambuilding

Courage

Leadership

C Improvement

Teambuilding

TEAM ASSESSMENT

1- Novice / 2- Competent / 3 - Proficient4 - Expert / 5 - Master

Master

Novice

As you will learn later in the course, DevOps strives for autonomous teams that need to have complete set of competencies and skills to build and maintain software quickly and successfully. So, it is important to assess what competencies and skills are required and what are the areas in which the team need to improve. The team’s capabilities can be assessed by performing the assessment of each team member.

An example of the assessment for each member of a team is depicted in the preceding figure. When you roll up each individual’s assessment, you will get a team chart. This chart shows an example of the capabilities on the skills and knowledge areas for a specific DevOps team.

Course Objectives � At the end of this course, you will be able to:

� Discuss the drivers responsible for the emergence of DevOps.

� Define and discuss the key concepts and principles of DevOps.

� List and explain the business benefits of DevOps and continuous delivery.

� Describe the Service Delivery process.

� Explain the automation concepts for the software delivery process.

� Describe how DevOps relates to Lean and Agile methodologies.

DASA: Mastering DevOps in Practice (Knowledge and Skills)DASA Competence Framework recognizes five maturity levels, as shown in the following figure.

Copyright © 2018 │ 5

Module 1 | Course Introduction

Sample Material - Not for Resale

7Copyright © 2018 |

DevOps

Awareness

DASA Competence Framework recognizes five maturity levels, as shown in the following figure.

DASA: Mastering DevOps in Practice (Knowledge and Skills)

DevOps: Fundamentals

DevOps Specialization: Specify and Verify

Devops Specialization: Enable and Scale

DevOps Specialization: Create and Deliver

DevOps: Practitioner

Novice

Master

Competent

Proficient

Expert

DASA recognizes five maturity levels ranging from Novice to Master. The intent of DASA certifications is to bring IT professionals from level 1, that is, Novice to level 4, that is Expert.

� The DevOps Fundamentals certification leads to level 2 maturity that is “Competent” on all skill and knowledge areas.

� The DevOps Practitioner training adds level 3 maturity that is “Proficient” on all the skill areas.

� The three specialization modules lead to level 4 maturity, that is, “Expert” on various parts of the competence framework.

� Level 5 is out of scope for DASA and requires much more than just DevOps specific trainings.

Course Agenda

dAY 1

Module subject

01 Course Introduction

02 DevOps Introduction

03 DevOps and IT Aspects

6  │ Copyright © 2018

Course Book | DevOps Awareness

Sample Material - Not for Resale

Type of Activitiesgroup Discussions

The course contains group discussions, spread out in all modules, with the intent of enhancing participants’ understanding, adding context to the content, broadening participants perspective, reinforcing knowledge, and building confidence.

By interacting among themselves and responding to the varying viewpoints, participants tend to learn continually. These discussion allow the participants to come across the thoughts of their peers, which help them know about each other’s past experience, perspectives, and opinions in the context of the topic in discussion.

Course BookThe Course Book is a comprehensive source of information and contains whatever is taught in each module. It is structured in such a way that makes learning easy, simple, and consistent. It also contains several useful exercises related to the course.

Activity: Group Activity

Activity Time: 10 mins

Write down your expectations from this training on a sticky and attach it to a wall.

Module suMMArY

In this module, you learned that: � DevOps Awareness is a 1-day course that is designed to provide

the basic education required to build your DevOps vocabulary and understand its principles and practices.

� What are the various objectives that this course will help you accomplish?

� What is the 1-day schedule of the training?

� The course contains group discussions and activities for better understanding of the concepts.

� The Course Book is a comprehensive source of information and contains whatever is taught in each module.

Copyright © 2018 │ 7

Module 1 | Course Introduction

Sample Material - Not for Resale

Sample Material - Not for Resale

devops IntroduCtIonModule Topics

� Emergence of DevOps

� Core Principles of DevOps

eMerGenCe oF devops

typical Challenges traditional It organizations Face

3Copyright © 2018 |

DevOps

Awareness

Emergence of DevOps

Core Principles of DevOps

Typical Challenges Traditional IT Organizations Face

Manual ReleaseLow Quality

Product Backlog Infrequent Releases

2

Copyright © 2018 │ 9Sample Material - Not for Resale

In many organizations, IT continues to be a road blocker than a business enabler. The key challenges faced by organizations are manual releases, low quality of software, sporadic releases, and product backlog resulting in cost escalation. It becomes imperative for the organization to find a solution to these challenges to survive in an extremely competitive and dynamic environment.

The two key teams involved in software development and delivery, Development and Operations, work with contradicting objectives which results in the creation of wall of confusion.

need for Change and stability Causes tension

The typical challenge that traditional IT organizations face is to deal with the wall of confusion between Development and Operations.

DevOps

Awareness

Emergence of DevOps

Core Principles of DevOps

The typical challenge that traditional IT organizations face is to deal with the wall of confusion between Development and Operations.

Need for Change and Stability Causes Tension

What is the key goal of the Development team?

Wall of confusion

Change Stability

Development Operations

What is the function of Operations team?

Is the Development and the Operations teams connected to each other?

Development is more focussed toward creating new functionalities (Realizing functional requirements / Utility aspects of a service), while Operations is more focussed toward creating a stable environment with a high level of Availability, Security, Capacity, and Continuity (Nonfuntional requirements / Warranty aspects of a service).

The wall of confusion is a combination of conflicting motivations, processes, and tooling. It can result in the following problems in production:

� In the absence of a procedural transition from Development to Operations, the Operations team faces challenges in the production. It gets back to the Development team for solutions resulting in delay.

� The Operations team is involved in managing the Production environment and can share relevant information which can help the Development team. However, lack of communication results in loss of sharing.

� The knowledge articles play an important role in building the cohesiveness between Development and Operations teams.

Wall of ConfusionThink of the wall of confusion as a solid brick wall where no communication is possible between the people standing on either side. They cooperate by sharing something physical, such as a note written on a piece of paper. The traditional way of developing software works the same way. If the Development team is working on an application, they hand it over to the Operations team only when it is complete. This approach has many loopholes and ultimately results in severe problems in production that causes blast like situation.

10  │ Copyright © 2018

Course Book | DevOps Awareness

Sample Material - Not for Resale