Introduction to DevOps

Training Agenda

Introduction to DevOps

1 Introduction to DevOps

Introduction

DevOps is notorious for being difficult to define yet it's value has proved beyond doubt. It is not just the so called "Unicorns" like Netflix and Amazon, more "traditional" companies like GE and Walmart have transformed their fortunes with the adoption of DevOps. The most common question we hear about DevOps is "how do I start". This course defines DevOps and the core principles and methodologies that underpin it. People are the key to successful adoption and the course focuses heavily on how to successfully transform a companies culture, breaking down traditional silos etc. Cross-functional processes and the tools and methodologies that support them follow. Who should attend

We would recommend any company about to start or in the process of a DevOps transformation undertake this course. The course is available on a public schedule running at least once per month and also on site. Attending the course will ensure the same base level of understanding and appreciation of what's required to achieve a DevOps culture, the first and most important step in adopting DevOps.

Course Objectives Students will walk away with a solid understanding of what DevOps is and how to implement common DevOps practices, including:

● What is DevOps, and why is it important ● Understanding the different DevOps principles ● Understanding DevOps practices ○ ○ Test Automation ○ Continuous Delivery ○ Infrastructure as code ○ Monitoring ○ Microservices ○ Containerisation ● Pipeline Orchestration ● Transitioning to DevOps ● Examples of DevOps in practice ● Introduction to DevOps Certification

www.forest-technologies.co.uk

2

Introduction to DevOps

Approach The course is designed to give you a quick start to DevOps explaining what it entails and some of the different approaches to implementing it taken by companies round the world. You will begin to understand the practices used by the DevOps community and how you could use them. The course is modular, flexible and highly interactive, with extensive hands-on examples. The course is split into 50% of theory and 50% of practical content. At the end of the course there will be a 60 question exam, there is a 75% passing score and upon successful completion Forest Technologies will provide a Introduction to DevOps certificate.

Course Format Two-day course, 8 hours per day from 9:00 - 17:00 delivered at the our training facilities in London.

90 minute online multiple choice certification exam.

Pre-Requisites ● Basic understanding of Linux command line ● Basic understanding of software delivery

Target Audience ● Software Architects ● Technical Project Managers ● Build Engineers/Managers ● Development and QA engineers ● Platform Support/Administration Teams ● Operations Engineer ● Release Engineers

www.forest-technologies.co.uk

3

Introduction to DevOps

2 Course Agenda

2.1 Day 1

Time Description

Morning Intro ● A little about who we are ● Introductions

What is DevOps? ● Philosophy ○ People ○ Process ○ Tools ● Origins of DevOps ● DevOps Misconceptions & Anti patterns

Understanding the DevOps Principles ● People ● Process ● Tools

Morning Break

Transitioning to DevOps ● Example of People changes ● Example of Process changes ● Example of Technology changes

Lunch

Afternoon Understanding the DevOps practices: Version Control System (VCS) ● What is Version Control? ● What are the benefits of Version Control? ● Software Examples ○ , SVN, , BitKeeper, , TFS, CVS ● Software Comparison ● Key Aspects to consider when adopting ● Which software should my company choose.

Lab 1: Version Control Systems ● Initialise an empty Git repository, make some change and commits ● Clone an existing repository from GitHub.

Understanding the DevOps practices: Test Automation ● What is Test Automation?

www.forest-technologies.co.uk

4

Introduction to DevOps

● What are the benefits of Test Automation? ● Types of Test Automation ● Software Examples: o Static Code Analysis – PyLint, Cobertura, FxCop o Dynamic Code Analysis – Selenium, JUnit, Valgrind Understanding the DevOps practices: Continuous Integration (CI) ● What is Continuous Integration? ● What are the benefits of Continuous Integration ● Software Examples: ○ Jenkins, Bamboo, BuildBot, Travis CI, TFS, Gitlab CI ● Software Comparisons ● Key aspects to consider before adopting CI

Lab 2: Continuous Integration - Automated Builds ● Run an automated build using Jenkins Lab 3: Continuous Integration - Quality ● Trigger code tests based on a successful build

Afternoon Break

Understanding DevOps practices: Infrastructure as Code (IaC) ● What is Infrastructure as Code ● What are the Benefits of Infrastructure as Code ● Common Components / Concepts of IaC software ● Software Examples: ○ Ansible, Puppet, Chef, Saltstack, CFEngine ● Software Comparisons ● Key Benefits of Infrastructure as Code ● Which Software should my company choose.

Lab 4: Infrastructure as Code with Ansible ● Install and configure Tomcat using Ansible. ○ Installing software packages ○ Creating configuration templates ○ Handling service restarts and reloads when configuration is changed.

Lab 5: Infrastructure as Code with Puppet ● Install and configure nginx using puppet. ○ Create basic module structure and check the node definitions ○ Use package resource to install nginx package. ○ Use file resource in conjunction with templates ○ Declare resource dependencies to indicate execution order of the resources.

Understanding DevOps principles: Monitoring ● What is Monitoring? ● What are the benefits of Monitoring? ● The importance of Monitoring.

www.forest-technologies.co.uk

5

Introduction to DevOps

● Monitoring Concepts ● Key Business Metrics ● Monitoring Software ○ icinga, nagios, ELK stack, Graphite, InfluxDB, Appdynamics. ● Which software should my company choose?

End Day 1

2.2 Day 2

Time Description

Morning Recap of previous day

Lab 6: Monitoring ● Health Monitoring with Icinga ● Gathering and storing metrics with graphite

Morning Break

Introduction to Containerisation ● What is Containerisation? ● What are the benefits of Containerisation? ● When should I use Containerisation?

Microservices with Containers ● What are Microservices? ● What are the benefits of Microservices? ● When should I use Microservices?

Lab 7: Containerisation Basics: Docker ● Managing docker containers: ○ Start and stop containers ○ Get list of the containers and images installed ● Creating a custom image with a Dockerfile ● Advanced section: Install CAdvisor to monitor the running containers.

Lunch Break

Afternoon Case Study: Using Docker in Production

Continuous Delivery: ● What is Continuous Delivery? ● What are the Benefits of Continuous Delivery? ● Software Examples ● Software Comparisons

www.forest-technologies.co.uk

6

Introduction to DevOps

● Key aspects to consider before adopting CD

Lab 8: Continuous Delivery - tying everything together ● Use components from previous labs to create a Continuous Delivery pipeline

Afternoon Break

Orchestration Pipelines ● What are Orchestration Pipelines ● What are the benefits of Orchestration Pipelines? ● Software Examples ● Software Comparisons ● Key aspects to consider before adopting Orchestration Pipelines

Case Study: Netflix/Facebook’s DevOps transformation

Introduction to DevOps Certification ● 60 Question multiple choice exam

Summary ● Outline of the course ● Next steps

End of Day 2

www.forest-technologies.co.uk

7