Getting Started With Ansible
Cloud platforms, on-prem servers, dozens of operating systems, more language and frameworks than you can count, and you have to manage it all!
These days even the "simple" application infrastructures have a lot of moving parts. Managing all of this stuff effectively takes some effort, and configuration management tools such as Ansible can help.
Ansible is an automation engine that can help with provisioning infrastructure, configuring operating systems, deploying applications, and much more.
The goal of this course is to teach you how to get started using Ansible for automation. By then end of this course you should be able to create playbooks to automate basic tasks. You won't know everything there is to know about Ansible, however you'll know enough of the basics to start using Ansible. You'll understand how Ansible manages inventory, how to create simple modules, how to create playbooks, how to deal with errors and more.
Understanding a tool such as Ansible has a lot of value to developers and operations engineers. Especially since it's agentless, because that means you can start managing hosts without needing to install an agent on them first. Well, assuming Python is installed. Developers can use Ansible to automate the creation of development environments that mirror production. And operations can use the same playbooks to automate the creation of staging and production environments. This level of consistency between environments tends to reduce bugs; especially those caused from environmental differences.
One of the features of Ansible that makes it so appealing is that it allows you to create modules with whatever language you want. Another appealing feature is the YAML based playbooks. The reason this is so appealing is that YAML tends to be a very simple format for expressing tasks. And that makes it easier to get started using it.
What You'll Learn
|Lecture||What you'll learn|
|Intro||What will be covered in this course|
|What is Ansible?||An introduction to Ansible|
|Concepts||An overview of the Ansible concepts|
|Installation||How to install Ansible|
|Inventory||How Ansible knows which servers to manage|
|Windows||How Ansible connects to Windows servers|
|Modules||What modules are and how to create one|
|Playbook||What playbooks are and how to create them|
|Handlers, Facts, Variables, and Templates||Handlers, Facts, Variables, and Templates|
|Roles||How to bundle functionality in a role|
|Errors and Debugging||How to deal with errors and how to use the debug module|
|Next Steps||How to keep learning|
If you have thoughts or suggestions for this course, please contact Cloud Academy at firstname.lastname@example.org.
Welcome to Getting Started with Ansible. I'm Ben Lambert and I'll be your instructor for this course. The goal of this course is to get you started using Ansible. This isn't going to be a deep dive. By the end of this course, you're not gonna know everything that there is to know about Ansible. However, it will cover enough to help you get started using Ansible to automate common tasks.
Ansible is an automation engine that can automate the creation of infrastructure as well as provisioning servers and more because it allows you to automate these sorts of things, you're going to already need to understand these things before taking this course. Ansible uses a data serialisation language as an abstraction layer between you and the underlying code. And that means you don't necessarily need to be an expert developer, though you will need to understand concepts such as variables, conditionals, and loops, et cetera.
So, this course is intended for people with development experience and to get the most out of Ansible, you'll also need to have some operational experience. If your role is something like a site reliability engineer or a DevOps engineer, then this course is probably the course for you.
Here's our agenda for this course. The first lesson I'll cover an overview of what Ansible is, then I'll cover an overview of the high level Ansible concepts. After that, I'll go over the installation process followed by Ansible's inventory system, then I'll cover configuring a Windows server so that Ansible can connect to it. After that, I'll cover what modules are, then I'll explain the anatomy of a playbook, I'll cover handlers, facts, variables, and templates, followed by roles and then I'll cover errors and debugging, and then I'll wrap up with some next steps.
So, it's a lot to cover and if you're ready to learn more about Ansible, then let's get started with the first lesson.
Ben Lambert is a software engineer and was previously the lead author for DevOps and Microsoft Azure training content at Cloud Academy. His courses and learning paths covered Cloud Ecosystem technologies such as DC/OS, configuration management tools, and containers. As a software engineer, Ben’s experience includes building highly available web and mobile apps. When he’s not building software, he’s hiking, camping, or creating video games.