Deploying applications in the cloud with Ansible (Wellington)
About the course
Deploying applications in load balanced environments can be quite a challenge, especially when "zero downtime" is a requirement. Updates require repeatedly draining traffic from part of a cluster, upgrading software and bringing hosts back online. The goal, of course, is to do all of this in such a way that the user does not notice anything.
The complexity involved in this process makes doing all of this manually extremely error prone and therefore highly impractical. Automation tools like Ansible make this process easier by taking care of all the tedious, error-prone stuff for us.
This workshop will provide a "hands-on" experience in using Ansible to manage a load balanced web application. We will see how to use modules for provisioning hosts and installing software dependencies. We will explore how to use inventories, groups, delegation and handlers to configure and orchestrate all the components of a running application. We will then look at strategies for upgrading applications and demonstrate how to perform rolling upgrades with zero downtime.
- Cloud Signup
- Review basics
- Provisioning Machines
- Deploying the Application
- Upgrade Strategies
- In-place rolling upgrade
- Blue Green
Note: These are the topics normally covered but might alter slightly depending on the needs of the trainees.
Devops people who manage cloud infrastructure.
- Basic knowledge of Ansible and main concepts (playbooks, tasks, templates, variables, inventories)
- Comfortable editing YAML files