Learn Devops: Continuously Deliver Better Software
4.1 (2,735 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
14,858 students enrolled

Learn Devops: Continuously Deliver Better Software

Excel in delivering and deploying software using Git, Vagrant, Chef, Ansible, Jenkins, Docker, and Kubernetes
4.1 (2,735 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
14,858 students enrolled
Created by Edward Viaene
Last updated 8/2018
English, Spanish [Auto]
Current price: $25.99 Original price: $39.99 Discount: 35% off
14 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 4.5 hours on-demand video
  • 6 articles
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Apply DevOps in your team
  • Understand Continuous Delivery
  • Automate the Software Development Lifecycle (SDLC)
  • Automate the deployment process
  • Reduce release time
  • Release better software
  • Build a highly available and fully scalable application
  • Deploy microservices using Docker and Kubernetes
  • Automate using Ansible and Chef
Course content
Expand all 74 lectures 04:23:04
+ Course Introduction
2 lectures 02:04

This lecture explains how the course is structured and what the learning objectives are

Preview 01:42
Course Resources
+ Concepts
9 lectures 32:37

This lecture explains what exactly DevOps is.

Preview 02:44

Continuously deliver software in a DevOps organization by improving the Software Development Lifecycle (SDLC) and benefits of doing this

DevOps: Continuous Delivery and Benefits

DevOps is a change of culture. It's also connected to the Lean Organization.

DevOps: Lean thinking, a change of culture

Version Control is a necessity. This lecture will explain how GIT works.

Version Control (GIT)

Overview of useful git commands

Git Commands Overview

A demo showing you how to create a git repository, and use the git commands like git push, git pull, git checkout

Demo: GIT commands and github

Automation is a pillar of a DevOps enabled organization. In this lecture, I'll talk about automating tasks and saving the state (Configuration Management)

Configuration Management and Automation

With Virtualization, Containerization, and the Cloud, provisioning has become a lot easier and faster. Getting provisioning right will help you to build a DevOps culture


Software delivery never stops, a little word about planning and monitoring

Plan & Monitoring
Concepts Test
10 questions
+ Step 1 - Provisioning
4 lectures 13:38

How to provision instances locally on your PC, on-premise, or using Cloud technologies.

Introduction to Provisioning

Vagrant is great for provisioning of Virtual Machines for development and testing. In this lecture we see why.

Vagrant for Windows Procedures

A demo showing you how to use Vagrant

Vagrant demo
Vagrant quiz
5 questions
+ Step 2 - Automation and Configuration Management
20 lectures 01:13:33

What Configuration Management tools to use? Puppet, Salt, Chef, Ansible? I'll discuss the differences between Chef and Ansible in more detail.

Preview 03:40

An introduction to Ansible

Ansible: introduction

Installing Ansible on your provisioned vagrant machine

Ansible: Installation

A demo showing you how to install ansible on your vagrant virtual server

Ansible: Installation demo

How to setup an Ansible playbook. We'll use an nginx playbook as an example

Ansible: First Playbook

A demo of using the nginx playbook to set up a webserver, using vagrant.

Ansible: First Playbook demo

We can invoke ansible immediately during the provisioning process of Vagrant. It's also possible to provision directly on Amazon AWS EC2 Virtual Servers.

Ansible: Provisioning with vagrant and EC2

A demo showing how to provision an AWS EC2 machine and immediately run an Ansible playbook on it. Requires Amazon AWS Account.

Ansible: Provisioning with EC2 demo

Ansible best practices: the use of Ansible roles.

Ansible: Roles

More Ansible best practices

Ansible: Best Practices

The Ansible directory layout you should create for Ansible playbooks

Ansible: Directory Layout

An introduction to Chef, an alternative for Ansible

Chef: Introduction (Part 1)

An introduction to Chef

Chef: Introduction (Part 2)

An introduction to Chef

Chef: Introduction (Part 3)

A lecture on using Chef knife

Chef: knife

A demo on using Chef knife

Chef: knife demo

Using chef-server

Chef: knife with chef-server

Best practices in Chef: using Chef roles

Chef: Roles

A demo of using chef server with knife

Chef: knife with chef-server - demo

A brief explanation about AWS Opsworks, which is Chef on Amazon AWS

AWS Opsworks
+ Step 3 - Continuous Integration
10 lectures 35:48

An introduction to Continuous Integration: how to make sure the application being written is properly tested

Introduction to Continuous Integration
Jenkins Resources

Continuous Integration using Jenkins: an introduction and the installation of Jenkins on a Vagrant Virtual Machine

Jenkins: Introduction and installation

Using Jenkins with the Play! Framework. How to test and package a Scala / Java app

Jenkins: Prepare Play App

How to package applications. A comparison of sbt and maven

Jenkins: building applications with sbt or maven

Building an app in Jenkins

Jenkins: Build app

A demonstration of building an app using Jenkins

Jenkins: install and build demo

How to automate testing using Jenkins

Jenkins: automate testing

Using jenkins to package our application

Jenkins: packaging

A demo showing how to automate testing and package our Play! application

Jenkins: Automate testing and packaging demo
+ Step 4 - Deployments
3 lectures 19:37

After building and packaging, we need to deploy our application on our servers

Deployment Introduction

Where to store our artifacts? An introduction to repository management to take care of our Debian packages

Artifact storage and deployment

A demo showing how to use artifact storage and how to deploy our application

Artifact storage and deployment demo
+ Step 5 - Continuous Monitoring
1 lecture 03:06

It doesn't stop when an application is deployed: Continous Monitoring

Continuous Monitoring
+ The Twelve Factor app
2 lectures 09:42

The Twelve Factor Application. The standard you should follow when developing applications on private or public cloud.

Introduction to the Twelve Factor app
The Twelve Factor Application. The standard you should follow when developing applications on private or public cloud.
The Twelve Factors
+ Containerization
14 lectures 50:00

From monolithic applications to Microservices

Introduction to microservices

Docker, the missing piece to run microservices

Introduction to docker

A hello world demo using Docker

Docker demo

The difference between Virtual Machines and Containerization. Explains how isolation is applied in containers.

Preview 03:00

Docker Image Layers, Container Layer (Thin R/W Layer), Copy on write strategy

Docker Images

Docker Volumes, Docker Volumes Plugins, and using external storage with Docker using Flocker

Docker Volumes

Docker User Defined Networks, Bridged Networks and Overlay Networks

Docker Networking

Docker Hub can be used as a Docker Repository for public and private images

Docker Hub

Docker Compose for a multi-container setup

Docker Compose

Docker compose demo with 1x nodeJS web container and 1x MySQL container

Docker Compose demo

Provision Docker Hosts with Docker Machine

Docker Machine

This demo shows how to provision docker containers in AWS using docker-machine

Docker Machine Demo

Docker Swarm can be used to cluster docker containers. This lecture provides an architecture overview and an example Swarm setup using Concul

Docker Swarm

A demo showing you how to setup a Docker Swarm cluster using Vagrant

Docker Swarm Demo
+ Container Orchestration
5 lectures 18:22

Container Orchestration introduction: how to make sure we have a technology to manage all our containers

Introduction to Container Orchestration

An explanation of Kubernetes to manage our containers

Kubernetes architecture overview
Kubernetes Procedures

How to deploy containers using Kubernetes

Deploying container using Kubernetes

A demo that shows how to deploy a NodeJS application using Kubernetes

Kubernetes demo
  • Understanding the basics of networking and be able to write code in any programming language will significantly increase your course experience
  • If you are not familiar with the basic system administration concepts, you might have to do some additional reading. You can also use our discussion board to ask questions if something is unclear.

In this course you will learn how to apply DevOps. Why DevOps? It is one of the most sought after skills in the IT industry. The average salary in the US is $105,000 per year (source: Glassdoor), up to an average of $146,000 in San Fransisco (source: Indeed).

The course is aimed at software engineers and system administrators that want to deliver better software. Other IT professionals can also take this course, but might have to do some extra research to understand some of the concepts.

You will learn how to improve the Software Development Lifecycle by applying techniques to improve software delivery. I will explain how to improve delivery using automation, configuration management, provisioning and deployment tools. I also cover newer tools like Docker and Kubernetes. Where possible I point you towards the best practices in the field.

The course is very practical. There is about 3 to 4 hours of lectures, but you want to try out everything yourself, which will add multiple hours of learning. If you get stuck with the technology while trying, there is support available. I will answer your messages on the message boards and we have a Facebook group where you can post questions.

February 2016 Updates:

  • Added content about building tools like sbt and maven
  • By popular demand: added more Docker content about the architecture, images, volumes, and networking
Who this course is for:
  • This course is suitable for System Administrators, Developers, IT Managers, IT Operations team members, who want to learn more about DevOps. If you are not exposed to software delivery, this course might not be suitable for you.