Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Learning Path: Practical DevOps with Ansible and Docker
Rating: 4.0 out of 5(51 ratings)
398 students

Learning Path: Practical DevOps with Ansible and Docker

Harness the power of Ansible 2 and Docker to automate and scale DevOps processes
Last updated 2/2018
English

What you'll learn

  • Configure and manage your infrastructure using Ansible playbooks
  • Learn how to apply conditions and loops for control flow in your playbooks
  • Apply conditions and loops
  • Create task blocks and choose the right Ansible Strategy for the job
  • Containerize a web-based application with a base container and automate it using Dockerfile
  • Orchestrate, deploy, and scale a complex application using Docker Compose and Docker Machine
  • Get to know the software defined networking architecture used in Docker, which includes single-host and multi-host networking
  • Architect, create, and manage clusters of Docker hosts and deploy applications on them
  • Deploy Diaspora onto a cluster in AWS

Course content

2 sections58 lectures7h 33m total length
  • The Course Overview4:25

    This video provides an overview of the entire course.             

  • What Is Ansible?3:29

    In this section, you'll learn about the most popular uses of the Ansible automation tool. It's a tool that you can use to manage the full life cycle of your infrastructure.

  • Why Ansible?3:09

    Ansible is more than just configuration management, like many other tools in this space. It's also much more lightweight than competitors like Puppet and Chef—to configure a server, all you need is an SSH login and Python 2 installed.

  • Demonstration – From Bash to Ansible19:28

    We'll use a simple example: installing and configuring an nginx server and a simple static HTML website, first using bash and then using Ansible.

  • Course Layout2:54

    This video gives you an overview of how the course is structured. The focus is on practical, real-world applications, since that prepares you for real-life application of this knowledge.

  • Basic Ansible Vocabulary2:53

    In this video, we'll cover the basic Ansible vocabulary. You'll have many basic questions answered.

  • New Features in Ansible 2.03:30

    In this video, you'll learn about the new features and improvements that Ansible 2.0 offers.

  • Creating an Ansible Home Base3:02

    In this video, we'll set up an environment that you can use to safely practice everything you see in this course. 

  • Installing Ansible5:48

    In this video, you'll learn the three most popular ways to install Ansible, and decide which one is right for you. 

  • Bleeding-Edge Ansible Installation8:30

    In this video, we'll cover how to build Ansible directly from its repository. This method is useful if you absolutely need a bleeding-edge feature, or if you're interested in contributing to the Ansible source code.

  • Setting up our Test Environment7:33

    In this video you'll learn how to simulate test machines with LXC (Linux Containers). LXC is a lightweight precursor to Docker which will let us configure some test hosts that we can run Ansible against.

  • Target Machine Requirements3:07

    Ansible only requires two things: Python 2 and a running SSH service. In this video, I'll show you the 10-second process that prepares a brand-new host for Ansible.

  • Ansible Configuration Hierarchy5:16

    In this video, you'll learn where Ansible looks for its primary configuration file, and the different ways in which you can approach configuring Ansible. 

  • Ansible Hosts Inventory File5:19

    How does Ansible know which hosts to configure? The Ansible Hosts (Inventory) file!

  • Ad-Hoc Commands7:54

    Ad-Hoc Commands are simple one-off commands that perform a single action on a target host. These simple replacements for small bash scripts or 'for' loops are run from the command-line, and work well for cases where a full-featured Playbook is overkill. You'll see Ad-Hoc commands for doing several things across one server, or many servers at once

  • Introduction top playbooks19:40

    Playbooks are the Ansible feature you'll be working with on most projects. In this video, you'll learn the three components that make a Playbook what it is: tasks, templates, and handlers.

  • Playbook Structure11:16

    In this video, you'll learn how to structure your playbooks for maximum readability, predictability, and flexibility. You'll learn about Roles, and how they can help you reuse code. Note: For this course, we're not using every available Playbook feature, because it can make things excessively complex. We're focusing on the practical 90% of features that you'll be using every day.

  • Introduction to Modules6:01

    In this video, you'll learn what Ansible modules are and how they help you get things done.

  • Common Modules11:29

    In this video, you'll learn about some of the most popular (and useful!) Ansible modules. At the end of this video, you'll have a list of modules to dig into, which you can use to manage

  • Variables and Facts17:55

    In this video, you'll learn about how Ansible deals with Variables and Facts:

  • Real-Life Playbook: Mattermost Deployment12:02

    In this video, you'll see a real-life web application deployment. We'll be setting up Mattermost, an open-source alternative to the popular Slack team-chat application.

  • Real-Life Playbook Walkthrough14:43
  • Debugging and Troubleshooting13:06

    While developing Ansible automation, you'll be doing a lot of troubleshooting as part of the process. In this video, I'll show you the most common Ansible features that you'll use for debugging, along with some of the most common Ansible errors you'll encounter.

  • Conditionals and Control Flow4:52

    In this video, you'll learn about the control flow that you can use in your Tasks and Plays. At the end of this video, you'll be comfortable with Ansible iteration constructs like:

  • Templating, Control Flow, and Iteration in Jinja27:37

    In addition to control flow in your YAML files, we can also introduce control flow for our file content in your Jinja2 templates.

  • YAML Basics4:37

    We have been using YAML to write your Playbooks, Plays, Tasks, and Handlers. Now it's time to dig in for a moment and learn some of the rules you need to keep in mind when working with this markup language.

  • Ansible Blocks3:59

    Task Blocks are one of the useful new features in Ansible 2.0. They allow you to group related tasks together, so you can tie control-flow to larger chunks of actions. This is something that comes in handy for larger actions which are made up of several tasks.

  • Performance and Execution Strategies8:10

    Ansible has two built-in execution strategies that affect how it applies tasks to hosts. Knowing whether you want to use the linear (default) strategy or the free strategy can make the difference between completing a deployment in minutes or hours

  • Ansible Galaxy4:58

    Ansible Galaxy allows you to leverage open-source roles that other people in the Ansible community have created. It can be useful for studying code that others have written, or for quickly getting some functionality that you need without having to write it from scratch.

  • Security4:13

    In this video, I'll cover some of the basic security features. This is essentially a quick list of "best practices" and "things to watch out for." Using Ansible for provisioning, deployment, configuration management, and orchestration does not absolve you of managing the security of your systems...you'll still have to invest thought and planning into how you do this.

  • Ansible in the Cloud3:01

    Ansible can be used to provision services on all major cloud providers: Amazon Web Services (AWS), OpenStack, Google Cloud, Microsoft Azure, and more. There are also Ansible modules for on-premise virtualization and cloud solutions, which makes it really easy to get started.

  • Ansible AWS Demo25:10

    In this demonstration, you'll see how the Mattermost Deployment playbook was ported to Amazon AWS. 

  • Ansible Tower2:30

    This video will give you a quick taste of Ansible's commercial solution: Ansible Tower. This is a web application wrapper around the core open-source Ansible toolset

  • Test Your Knowledge

Requirements

  • Working knowledge on Linux is assumed
  • Basic knowledge on DevOps process would be beneficial

Description

Are you looking forward to gaining practical knowledge on powerful technologies such as Ansible and Docker? If yes, then go for this Learning Path.

Packt’s Video Learning Paths are a series of individual video products put together in a logical and stepwise manner such that each video builds on the skills learned in the video before it.

DevOps is the most widely used software engineering culture and practice that aims at software development and operation. Ansible is one of the most popular tools in the open source orchestration and automation space. Docker is a tool that is designed to benefit both developers and system administrators. Ansible is the way to automate Docker in your environment. Ansible enables you to operationalize your Docker container build and deployment process in ways that you’re likely doing manually today, or not doing at all.

The highlights of this Learning Path are:

  • Get acquainted with using Ansible 2 features such playbooks, modules and various testing strategies
  • Learn to build and manage clusters using Swarm, Mesos, and Kubernetes
  • Customize and secure your Docker according to your business requirements

Let’s take a look at your journey. You will begin with Ansible 2.0, including its installation, the problems it solves, and more. You will also walk through creating your very first playbook. You will understand the power of variables and quickly be able to manage environments and implement strategies. You will find out how to integrate with different cloud platforms and be introduced to Ansible Galaxy and Tower, which are Ansible's enterprise tooling for supporting large-scale infrastructure.

Next, you will learn what Docker is and explore Compose by writing a docker-compose. yml file for a social network app, and look at top-down approaches to building network topologies for your social network’s containers. You will then be familiarized with the Swarm workflow, Kubernetes, and Google’s tool for setting up a managed cluster. Finally, you will learn how to set up Docker’s plugin infrastructure and use the customization options.

By the end of this Learning Path, you will have strong knowledge on the powerful techniques of Ansible and Docker.

Meet your authors:                                                                                                                                                                                                  

  • David Cohen has been a system administrator, platform engineer, DevOps engineer, and software developer in everything from small businesses to growing companies (100+ employees) and large tech/engineering firms (10,000+ employees). Most of his work has centered around Linux and Unix system administration, web security, and software development in Python, Ruby, Javascript, and Go. He has also done stranger things such as helping to design two Tier-4 datacenters and being an Infantryman (not at the same time). On his tutorialinux YouTube channel, he has helped tens of thousands of people learn the basics (and not-so-basics) of system administration, DevOps, and software engineering
  • Shrikrishna Holla is a full-stack developer and entrepreneur based in Bengaluru. He builds and maintains sigalrm .io, a service that provides provides actionable alerts, allowing engineers to take immediate remedial measures.

Who this course is for:

  • This Learning Path is aimed at system administrators or DevOps engineer who wants to learn the tools and techniques of Ansible and Docker.