Learning Path: Automation with Ansible, Puppet, and Salt

Course

Online

£ 40 + VAT

Description

  • Type

    Course

  • Methodology

    Online

  • Start date

    Different dates available

It is no surprise that automation and orchestration make life very easy, be it a small organization or a large-scale industry that houses hundreds of servers. IT automation is essentially the ability to orchestrate and integrate tools, people, and processes through a certain workflow. Automation with Ansible, Puppet, and Salt is a Learning Path that looks at the most popular tools for automation, their advantages, and how you can use each of these tools to automate your IT infrastructure effectively.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. In this one, we'll cover the why and how of Ansible, Puppet, and Salt, in a step-by-step, progressive manner. Initially, we focus on Ansible. You will learn how to manage environments and implement strategies in Ansible and be introduced to Ansible Galaxy and Tower, which are Ansible's enterprise tooling for supporting large-scale infrastructure. We then move on to learning Puppet. Puppet is a configuration management tool that allows you to automate all your IT configurations. Using Puppet you can control each Puppet agent in a network. You will learn how to do so by first understanding the Puppet ecosystem and then detailed topics such as configuration and management of Puppet servers, environments, module repositories, and reusable modules. With Salt too, we use a similar approach. We start from the basics, such as installing, configuring, deploying, and managing a web application to advanced concepts like Docker containers across multiple systems behind a HAProxy load balancer.By the end of this Learning Path, you will be able to build and manage your infrastructure and fully utilize its potential. This course is authored by some of the best instructors in this field: 

Facilities

Location

Start date

Online

Start date

Different dates availableEnrolment now open

About this course

Configure and manage your infrastructure using Ansible Playbooks
Create task blocks and choose the right Ansible Strategy for the job
Understand the nuances of Ansible 2 and its new features
Write efficient, reusable, and modularized Puppet code
Write extensive tests for the code and run automated builds using Jenkins Integration
Create a pipeline for effective code management
Understand Salt’s state system and write and manage complex states
Use and react to real-time events across an infrastructure

Questions & Answers

Add your question

Our advisors and other users will be able to reply to you

Who would you like to address this question to?

Fill in your details to get a reply

We will only publish your name and question

Reviews

This centre's achievements

2021

All courses are up to date

The average rating is higher than 3.7

More than 50 reviews in the last 12 months

This centre has featured on Emagister for 4 years

Subjects

  • Install
  • Systems
  • Web
  • Approach
  • Server
  • Access

Course programme

Ansible 2 for Beginners 33 lectures 04:16:50 Ansible 2 for Beginners - The Course Overview This video provides an overview of the entire course. What Is Ansible? 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.
  • Use of the Ansible automation tool
  • Ansible Security
Why Ansible? 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.
  • Reasons to try Ansible
Demonstration – From Bash to Ansible 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.
  • A demonstration of how configuration management has changed over time
  • Differences between traditional bash and process in Ansible
  • An example on manual versus shell script versus playbook
Course Layout 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.
  • Install and set up the environment for Ansible
  • Basic configuration files
  • Cloud integration and Ansible tower
Basic Ansible Vocabulary In this video, we'll cover the basic Ansible vocabulary. You'll have many basic questions answered.
  • What's the difference between a server and a machine?
  • What is an Ansible target machine?
  • How do Ansible tasks, plays, and playbooks fit together?
New Features in Ansible 2.0 In this video, you'll learn about the new features and improvements that Ansible 2.0 offers.
  • Task blocks (which can make your code easier to read and reason about)
  • Dynamic includes (which can allow you to simplify your playbooks)
  • Execution strategies (which can dramatically improve Ansible's performance on large deployments)
Creating an Ansible Home Base In this video, we'll set up an environment that you can use to safely practice everything you see in this course.
  • Which type of VM to use for your Ansible Controller machine
  • How to set things up to make your learning experience comfortable
Installing Virtualbox and Creating an Ubuntu Virtual Machine In this video, we’ll be installing Ansible on Ubuntu and further we’ll look two ways of version-based installation.
  • Install Ansible on Ubuntu
  • Two ways to install Ansible on Ubuntu
Installing Ansible In this video, you'll learn the three most popular ways to install Ansible, and decide which one is right for you.
  • How to install Ansible through your package manager (if you just want a low-fuss install to learn with )
  • How to install Ansible through their third-party repository (PPA) in Ubuntu (if you want something more up-to-date)
  • How to install Ansible through pip (if you've already got a Python development environment set up)
  • Use the Ansible-provided script to set up your shell environment so that you can use your bleeding-edge Ansible code
Setting up our Test Environment 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.
  • Create three containers
Target Machine Requirements 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.
  • Automated by a playbook in one of the first pieces of Ansible code
Ansible Configuration Hierarchy 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.
  • The top-level Ansible configuration file
  • The user-level Ansible configuration file
  • A config file in the directory that Ansible is being executed from
  • The ANSIBLE-CONFIG environment variable
Ansible Hosts Inventory File How does Ansible know which hosts to configure? The Ansible Hosts (Inventory) file!
  • What the inventory file is?
  • Basic syntax for the Ansible inventory file
  • The top-level Ansible inventory file (/etc/ansible/hosts)
Ad-Hoc Commands 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
  • Pinging and checking memory usage
  • Install a package
  • Add timeouts to your commands
  • Specify additional command-line arguments (custom users, ignoring host-key checking, etc.)
Introduction top playbooks 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.
  • Discuss how Playbooks make code reuse easy
  • See some simple examples of practical playbooks
Playbook Structure 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.
  • Look at some Python code that creates an empty playbook template
  • Compare that to a playbook-creating Ansible playbook
Introduction to Modules In this video, you'll learn what Ansible modules are and how they help you get things done.
  • Where to find documentation for modules you are interested in
  • The advantages of using modules vs. manually managing a task
  • Managing state versus managing process, and how it can make your life easier
Common Modules 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
  • Using Package module
  • Using Files and Directories module
  • Using System state module
Variables and Facts In this video, you'll learn about how Ansible deals with Variables and Facts:
  • The different levels (namespaces) at which variables can be applied
  • The most common places to set variables and their benefits/drawbacks
  • How Ansible gathers facts about a target host, and when you might want to disable this behavior
  • How you can access facts that Ansible has registered
Real-Life Playbook: Mattermost Deployment 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.
  • Deployed on a single test host
  • Install and configure the Mattermost application
Real-Life Playbook Walkthrough This video reviews everything we just saw in the application deployment. After watching this video, you'll start to have an intuitive 'real-world' grasp of how a playbook works.
  • Look at the different modules
  • Ansible features that were used
Debugging and Troubleshooting 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.
  • Doing troubleshooting
  • Use debugging along with Ansible errors
Conditionals and Control Flow 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:
  • with_items
  • with_dict
  • with_nested and conditionals like:
  • when
  • register
  • changed_when
  • failed_when
Templating, Control Flow, and Iteration in Jinja2 In addition to control flow in your YAML files, we can also introduce control flow for our file content in your Jinja2 templates.
  • Introduce control flow for your file content
  • Use regular Python for control flow and iteration
YAML Basics 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.
  • Learn some of the rules of YAML
  • Working with this markup language
Ansible Blocks 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.
  • Learn the optional 'rescue' and 'always' block features
Performance and Execution Strategies 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
  • Difference between using a linear(default) strategy and free strategy
  • Choosing the right feature
Ansible Galaxy 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.
  • Install a role from Ansible Galaxy
  • Use that role in a Playbook
  • Control where a downloaded role is stored
  • Remove a role (cleanup)
Security 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.
  • Cover some of the basic security features
  • Using Ansible for provisioning, deployment, configuration management, and orchestration
Ansible in the Cloud 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.
  • Use provision services on all major cloud providers
  • UseAnsible modules for on-premise virtualization and cloud solutions
Ansible AWS Demo In this demonstration, you'll see how the Mattermost Deployment playbook was ported to Amazon AWS.
  • Provisioning and configuring Application Servers on EC2
  • Provisioning an RDS instance and a replica to handle our database needs
  • Creating EC2 security groups to manage access and protect our infrastructure
  • Dynamically creating host groups from the infrastructure we're provisioning
Ansible Tower 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
  • Role-based Access Control.
  • An API that you can integrate into the rest of your automation tooling.
  • A GUI that allows nontechnical users to leverage Ansible's power.
Ansible 2 for Beginners. 33 lectures 04:16:50 Ansible 2 for Beginners - The Course Overview This video provides an overview of the entire course. What Is Ansible? 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.
  • Use of the Ansible automation tool
  • Ansible Security
Why Ansible? 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.
  • Reasons to try Ansible
Demonstration – From Bash to Ansible 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.
  • A demonstration of how configuration management has changed over time
  • Differences between traditional bash and process in Ansible
  • An example on manual versus shell script versus playbook
Course Layout 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.
  • Install and set up the environment for Ansible
  • Basic configuration files
  • Cloud integration and Ansible tower
Basic Ansible Vocabulary In this video, we'll cover the basic Ansible vocabulary. You'll have many basic questions answered.
  • What's the difference between a server and a machine?
  • What is an Ansible target machine?
  • How do Ansible tasks, plays, and playbooks fit together?
New Features in Ansible 2.0 In this video, you'll learn about the new features and improvements that Ansible 2.0 offers.
  • Task blocks (which can make your code easier to read and reason about)
  • Dynamic includes (which can allow you to simplify your playbooks)
  • Execution strategies (which can dramatically improve Ansible's performance on large deployments)
Creating an Ansible Home Base In this video, we'll set up an environment that you can use to safely practice everything you see in this course.
  • Which type of VM to use for your Ansible Controller machine
  • How to set things up to make your learning experience comfortable
Installing Virtualbox and Creating an Ubuntu Virtual Machine In this video, we’ll be installing Ansible on Ubuntu and further we’ll look two ways of version-based installation Why Ansible?...

Additional information

Basic idea of system administration and Linux systems Workstation with Vagrant and VirtualBox installed

Learning Path: Automation with Ansible, Puppet, and Salt

£ 40 + VAT