Learn Devops Continuously Deliver Better Software

Tags: DevOps

Excel in delivering and deploying software using Git, Vagrant, Chef, Ansible, Jenkins, Docker, and Kubernetes

Last updated 2022-01-10 | 4.1

- Apply DevOps in your team
- Understand Continuous Delivery
- Automate the Software Development Lifecycle (SDLC)

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

* Requirements

* 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.

Description

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.

Course content

12 sections • 76 lectures

Introduction Preview 01:42

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

Course Resources Preview 00:22

What is DevOps Preview 02:44

This lecture explains what exactly DevOps is.

DevOps: Continuous Delivery and Benefits Preview 03:21

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

DevOps: Lean thinking, a change of culture Preview 02:24

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

Version Control (GIT) Preview 06:24

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

Git Commands Overview Preview 00:34

Overview of useful git commands

Demo: GIT commands and github Preview 08:20

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

Configuration Management and Automation Preview 04:21

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

Provisioning Preview 03:08

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

Plan & Monitoring Preview 01:21

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

Concepts Test

Introduction to Provisioning Preview 03:06

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

Vagrant Preview 06:00

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

Vagrant for Windows Procedures Preview 01:02

Vagrant demo Preview 03:30

A demo showing you how to use Vagrant

Vagrant quiz

Introduction to Automation and Configuration Management Preview 03:40

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

Ansible: introduction Preview 01:39

An introduction to Ansible

Ansible: Installation Preview 04:32

Installing Ansible on your provisioned vagrant machine

Ansible: Installation demo Preview 03:03

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

Ansible: First Playbook Preview 04:00

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

Ansible: First Playbook demo Preview 01:36

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

Ansible: Provisioning with vagrant and EC2 Preview 05:21

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 EC2 demo Preview 05:33

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

Ansible: Roles Preview 02:42

Ansible best practices: the use of Ansible roles.

Ansible: Best Practices Preview 02:25

More Ansible best practices

Ansible: Directory Layout Preview 03:30

The Ansible directory layout you should create for Ansible playbooks

Chef: Introduction (Part 1) Preview 03:20

An introduction to Chef, an alternative for Ansible

Chef: Introduction (Part 2) Preview 03:07

An introduction to Chef

Chef: Introduction (Part 3) Preview 02:27

An introduction to Chef

Chef: knife Preview 03:36

A lecture on using Chef knife

Chef: knife demo Preview 05:46

A demo on using Chef knife

Chef: knife with chef-server Preview 06:44

Using chef-server

Chef: Roles Preview 02:24

Best practices in Chef: using Chef roles

Chef: knife with chef-server - demo Preview 07:36

A demo of using chef server with knife

AWS Opsworks Preview 00:32

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

Introduction to Continuous Integration Preview 02:19

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

Jenkins Resources Preview 01:52

Jenkins: Introduction and installation Preview 01:42

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

Jenkins: Prepare Play App Preview 03:17

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

Jenkins: building applications with sbt or maven Preview 03:55

How to package applications. A comparison of sbt and maven

Jenkins: Build app Preview 04:57

Building an app in Jenkins

Jenkins: install and build demo Preview 08:28

A demonstration of building an app using Jenkins

Jenkins: automate testing Preview 05:01

How to automate testing using Jenkins

Jenkins: packaging Preview 01:34

Using jenkins to package our application

Jenkins: Automate testing and packaging demo Preview 02:43

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

Deployment Introduction Preview 02:08

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

Artifact storage and deployment Preview 07:37

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

Artifact storage and deployment demo Preview 09:52

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

Continuous Monitoring Preview 03:06

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

Introduction to the Twelve Factor app Preview 04:02

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

The Twelve Factors Preview 05:40

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

Introduction to microservices Preview 02:01

From monolithic applications to Microservices

Introduction to docker Preview 04:50

Docker, the missing piece to run microservices

Docker demo Preview 02:10

A hello world demo using Docker

Docker Architecture Preview 03:00

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

Docker Images Preview 03:25

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

Docker Volumes Preview 03:23

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

Docker Networking Preview 03:19

Docker User Defined Networks, Bridged Networks and Overlay Networks

Docker Hub Preview 01:03

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

Docker Compose Preview 02:02

Docker Compose for a multi-container setup

Docker Compose demo Preview 05:28

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

Docker Machine Preview 01:17

Provision Docker Hosts with Docker Machine

Docker Machine Demo Preview 05:37

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

Docker Swarm Preview 06:35

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

Docker Swarm Demo Preview 05:50

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

Introduction to Container Orchestration Preview 02:05

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

Kubernetes architecture overview Preview 03:53

An explanation of Kubernetes to manage our containers

Kubernetes Procedures Preview 01:04

Deploying container using Kubernetes Preview 04:46

How to deploy containers using Kubernetes

Kubernetes demo Preview 06:34

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

The DevOps Challenge Preview 01:26

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

Thank you! Preview 00:16

Bonus Lecture: My Other Courses Preview 02:49

Sources and Further Readings Preview 00:04