4.04 out of 5
4.04
2483 reviews on Udemy

Learn Devops: Continuously Deliver Better Software

Excel in delivering and deploying software using Git, Vagrant, Chef, Ansible, Jenkins, Docker, and Kubernetes
Instructor:
Edward Viaene
13,664 students enrolled
English More
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

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

Course Introduction

1
Introduction

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

2
Course Resources

Concepts

1
What is DevOps

This lecture explains what exactly DevOps is.

2
DevOps: Continuous Delivery and Benefits

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

3
DevOps: Lean thinking, a change of culture

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

4
Version Control (GIT)

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

5
Git Commands Overview

Overview of useful git commands

6
Demo: GIT commands and github

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

7
Configuration Management and Automation

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

8
Provisioning

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

9
Plan & Monitoring

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

10
Concepts Test

Step 1 - Provisioning

1
Introduction to Provisioning

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

2
Vagrant

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

3
Vagrant for Windows Procedures
4
Vagrant demo

A demo showing you how to use Vagrant

5
Vagrant quiz

Step 2 - Automation and Configuration Management

1
Introduction to Automation and Configuration Management

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

2
Ansible: introduction

An introduction to Ansible

3
Ansible: Installation

Installing Ansible on your provisioned vagrant machine

4
Ansible: Installation demo

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

5
Ansible: First Playbook

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

6
Ansible: First Playbook demo

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

7
Ansible: Provisioning with vagrant and EC2

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

8
Ansible: Provisioning with EC2 demo

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

9
Ansible: Roles

Ansible best practices: the use of Ansible roles.

10
Ansible: Best Practices

More Ansible best practices

11
Ansible: Directory Layout

The Ansible directory layout you should create for Ansible playbooks

12
Chef: Introduction (Part 1)

An introduction to Chef, an alternative for Ansible

13
Chef: Introduction (Part 2)

An introduction to Chef

14
Chef: Introduction (Part 3)

An introduction to Chef

15
Chef: knife

A lecture on using Chef knife

16
Chef: knife demo

A demo on using Chef knife

17
Chef: knife with chef-server

Using chef-server

18
Chef: Roles

Best practices in Chef: using Chef roles

19
Chef: knife with chef-server - demo

A demo of using chef server with knife

20
AWS Opsworks

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

Step 3 - Continuous Integration

1
Introduction to Continuous Integration

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

2
Jenkins Resources
3
Jenkins: Introduction and installation

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

4
Jenkins: Prepare Play App

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

5
Jenkins: building applications with sbt or maven

How to package applications. A comparison of sbt and maven

6
Jenkins: Build app

Building an app in Jenkins

7
Jenkins: install and build demo

A demonstration of building an app using Jenkins

8
Jenkins: automate testing

How to automate testing using Jenkins

9
Jenkins: packaging

Using jenkins to package our application

10
Jenkins: Automate testing and packaging demo

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

Step 4 - Deployments

1
Deployment Introduction

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

2
Artifact storage and deployment

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

3
Artifact storage and deployment demo

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

Step 5 - Continuous Monitoring

1
Continuous Monitoring

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

The Twelve Factor app

1
Introduction to the Twelve Factor app

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

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

Containerization

1
Introduction to microservices

From monolithic applications to Microservices

2
Introduction to docker

Docker, the missing piece to run microservices

3
Docker demo

A hello world demo using Docker

4
Docker Architecture

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

5
Docker Images

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

6
Docker Volumes

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

7
Docker Networking

Docker User Defined Networks, Bridged Networks and Overlay Networks

8
Docker Hub

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

9
Docker Compose

Docker Compose for a multi-container setup

10
Docker Compose demo

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

11
Docker Machine

Provision Docker Hosts with Docker Machine

12
Docker Machine Demo

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

13
Docker Swarm

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

14
Docker Swarm Demo

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

Container Orchestration

1
Introduction to Container Orchestration

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

2
Kubernetes architecture overview

An explanation of Kubernetes to manage our containers

3
Kubernetes Procedures
4
Deploying container using Kubernetes

How to deploy containers using Kubernetes

5
Kubernetes demo

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

Labs

1
The DevOps Challenge

A very practical challenge to bring your DevOps skills into practice!

Finished!

1
Thank you!
2
Bonus Lecture: My Other Courses
3
Sources and Further Readings
You can view and review the lecture materials indefinitely, like an on-demand channel.
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
4
4 out of 5
2483 Ratings

Detailed Rating

Stars 5
841
Stars 4
963
Stars 3
485
Stars 2
132
Stars 1
62
972d04a28cacf7eb3ddcda5d9cbf4c3b
30-Day Money-Back Guarantee

Includes

4 hours on-demand video
6 articles
Full lifetime access
Access on mobile and TV
Certificate of Completion