LOGBOOK

HELP

Quiz Entry - updated: 2026.10.22

How can an Ansible playbook roll out a new application version to many servers without downtime?

Update the servers in batches (for example 10 at a time). For each batch: take it out of monitoring and load balancing, stop services, deploy, then reverse those steps before moving on.

A playbook with serial 10 takes each batch of 10 servers through stop monitoring, remove from load balancing, stop services, deploy, reverse the first three steps, then moves to the next batch

* Only one batch of 10 is out of service at a time, so the rest keep serving users. *

For each batch of 10 application servers:

  1. Stop monitoring, so the planned outage doesn't trigger alarms.
  2. Remove from load balancing, so no user traffic reaches these servers.
  3. Stop services.
  4. Deploy the application.
  5. Reverse steps 3, 2, 1: start services, put the servers back into the load balancer, re-enable monitoring.
  6. Move on to the next 10 servers.

Because only one batch is out of service at a time, the remaining servers carry the traffic and users see no outage. This is called a rolling update. In a playbook, the batch size is set with serial: 10, and the six steps are ordinary tasks. Orchestrating several systems in order (monitoring, load balancer, app servers) is exactly where a push-based tool shines.

Go deeper:

From Quiz: ITIA / Ansible Fundamentals: Automation, Architecture and the Automation Platform | Updated: Oct 22, 2026