This is the code repository for Hands-On Infrastructure Automation with Ansible [Video], published by Packt. It contains all the supporting project files necessary to work through the video course from start to finish.
Ansible is an infrastructure automation framework; other examples include Chef, Puppet, and SaltStack. While each framework offers its own unique features, Ansible has an advantage: simplicity. Ansible configuration uses simple, compact, and clean YAML files that are easy to understand and maintain. Ansible is agentless, which means Ansible itself doesn't need to be installed on target machines. At the same time, while Ansible is simple to learn, it is powerful and extensible, making it the perfect choice even for demanding tasks such as configuring an entire OpenStack cluster.
This video course will show you how to use Ansible to automate deployment so you can quickly and reliably run and upgrade your applications. You will learn how Infrastructure Automation results in cost reduction, productivity, availability, reliability, and performance. You will follow along step-by-step on a real Ansible deployment of dotCMS, an open-source Content Management System (CMS), which will deliver content to websites, intranets and mobile apps. You will gain real-world experience that will get you started quickly on your own deployments. This will include information on all of Ansible's core concepts and features, including playbooks, tasks, roles, templates, variables, and modules.
By the end of the course, you will be able to create and maintain Ansible playbooks, roles, and custom modules, enabling you to make full use of Ansible as part of a DevOps or automation strategy.
- Create a rapid reliable application deployment
- Structure your Ansible configuration for easy maintenance
- Manage multiple servers from a single Ansible environment with different and overlapping configuration
- Perform advanced tasks simply with structured data
- Build custom Ansible roles and modules
- Easily edit variables in encrypted files, and seamlessly decrypt data
To fully benefit from the coverage included in this course, you will need:
● Basic knowledge of the Linux command line
● Some familiarity with Linux server administration (e.g. SSH access)
● Familiarity with editing text files
This course has the following software requirements:
• Atom IDE, Latest Version
• Recommended Packages: atom-ide-ui, ide-yaml
• Windows:
• Cygwin with the following packages: gcc-core, git, make, python2, python2-devel, python2-pip, unzip, vim
• The Linux subsystem for Windows can also be used on Windows 10, but Ansible installation and use in this environment is not included in the course. • Ubuntu:
• Installed packages: python-pip, git
• Optional Items for Virtualization Examples in Section 8
• VirtualBox, Latest Version
• Vagrant, Latest Version
○ Packer, Latest Version
For successful completion of this course, students will require a computer system with at least the following:
• OS: Windows 7 / 8 / 8.1 / 10 or Linux
• Processor: Dual-core Intel or AMD
• Memory: 2 GB RAM
• Storage: 20 GB
For an optimal experience with the virtualization tools demonstrated in Section 8, we recommend the following configuration:
• OS: Windows 7 / 8 / 8.1 / 10 or Linux
• Processor: Quad-core Intel or AMD
• Memory: 8 GB RAM
• Storage: 100 GB free
This course illustrates using Ansible to install and configure multiple machines in a cluster. To mimic the steps in the video, the student will require access to multiple physical or virtual machines. This can be done using VirtualBox on a single physical machine that meets the recommended hardware specifications, or it can be done through a cloud environment such as Amazon Web Services.