Learn Devops: Continuously Deliver Better Software

Excel in delivering and deploying software using Git, Vagrant, Chef, Ansible, Jenkins, Docker, and Kubernetes
4.0 (909 ratings)
Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
• 5,746 students enrolled
$19
$40
52% off
Take This Course
  • Lectures 74
  • Length 4.5 hours
  • Skill Level All Levels
  • Languages English, captions
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works

Discover

Find online courses made by experts from around the world.

Learn

Take your courses with you and learn anywhere, anytime.

Master

Learn and practice real-world skills and achieve your goals.

About This Course

Published 11/2015 English Closed captions available

Course 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

What are the 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.

What am I going to get from this course?

  • 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

What is the target audience?

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

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.

Curriculum

Section 1: Course Introduction
01:42

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

Course Resources
Article
Section 2: Concepts
02:44

This lecture explains what exactly DevOps is.

03:21

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

02:24

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

06:24

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

Article

Overview of useful git commands

08:20

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

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)

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

01:21

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

Concepts Test
10 questions
Section 3: Step 1 - Provisioning
03:06

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

06:00

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

Vagrant for Windows Procedures
Article
03:30

A demo showing you how to use Vagrant

Vagrant quiz
5 questions
Section 4: Step 2 - Automation and Configuration Management
03:40

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

01:39

An introduction to Ansible

04:32

Installing Ansible on your provisioned vagrant machine

03:03

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

04:00

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

01:36

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

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.

05:33

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

02:42

Ansible best practices: the use of Ansible roles.

02:25

More Ansible best practices

03:30

The Ansible directory layout you should create for Ansible playbooks

03:20

An introduction to Chef, an alternative for Ansible

03:07

An introduction to Chef

02:27

An introduction to Chef

03:36

A lecture on using Chef knife

05:46

A demo on using Chef knife

06:44

Using chef-server

02:24

Best practices in Chef: using Chef roles

07:36

A demo of using chef server with knife

00:32

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

Section 5: Step 3 - Continuous Integration
02:19

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

Jenkins Resources
Article
01:42

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

03:17

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

03:55

How to package applications. A comparison of sbt and maven

04:57

Building an app in Jenkins

08:28

A demonstration of building an app using Jenkins

05:01

How to automate testing using Jenkins

01:34

Using jenkins to package our application

02:43

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

Section 6: Step 4 - Deployments
02:08

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

07:37

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

09:52

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

Section 7: Step 5 - Continuous Monitoring
03:06

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

Section 8: The Twelve Factor app
04:02

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

05:40
The Twelve Factor Application. The standard you should follow when developing applications on private or public cloud.
Section 9: Containerization
02:01

From monolithic applications to Microservices

04:50

Docker, the missing piece to run microservices

02:10

A hello world demo using Docker

03:00

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

03:25

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

03:23

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

03:19

Docker User Defined Networks, Bridged Networks and Overlay Networks

01:03

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

02:02

Docker Compose for a multi-container setup

05:28

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

01:17

Provision Docker Hosts with Docker Machine

05:37

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

06:35

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

05:50

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

Section 10: Container Orchestration
02:05

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

03:53

An explanation of Kubernetes to manage our containers

Kubernetes Procedures
Article
04:46

How to deploy containers using Kubernetes

06:34

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

Section 11: Labs
01:26

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

Section 12: Finished!
Thank you!
00:16
Bonus Lecture: Scaling Apps or Learn Big Data
01:26
Sources and Further Readings
Article

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Edward Viaene, DevOps, Cloud, Big Data Specialist

I've been a System Administrator and full stack developer for over 10 years, the typical profile for a DevOps engineer. I've been working in multiple organizations and startups. I've cofounded a startup that focusses on applying DevOps and Cloud. I have been training people in newer technologies, like Big Data. I've trained a lot of people working in FTSE 100 & S&P 100 companies. Today I mainly work together with companies to improve their software delivery processes, while coaching and teaching on platforms like Udemy.

Ready to start learning?
Take This Course