USE CASE:

Continuous Delivery

Release early & often but keep it simple

We come from a long history of building software the "release early, release often" way. If release often is an ideal, continuous application delivery may be nirvana.

To do it right, automation is key - but so is simplicity. Your team needs the tools that enable quick turnaround, requiring human intervention only when necessary. That's what Ansible does with one of the easiest paths to continuous delivery in the industry.

Rolling updates. Zero Downtime.

Ansible provides true multi-tier, multi-step orchestration. Ansible's push-based architecture allows very fine-grained control over operations, able to orchestrate configuration of servers in batches, all while working with load balancers, monitoring systems, and cloud or web services. Slicing thousands of servers into manageable groups and updating them 100 at a time is incredibly simple, and can be done in a half page of automation content.

Call your play

Ansible let you define "plays", which select a particular group of hosts and assign tasks to execute or roles for them to fulfill. The order in which these plays run, and the hosts on which they run, is tightly controlled by Ansible. For example, you might migrate a database schema and flush the caching servers prior to updating application servers by running one simple play. This is far better than just blasting out orders to servers.

Power plus simplicity, across your environment 

STAGE & TEST

Your Ansible inventory can be easily split to slice your environment up into different groups of machines. You can then easily test your plays with a staging machine and if tests pass, that can then be instantly run against production if you so choose.

BEYOND JUST SERVERS

We don’t stop at just servers. Ansible can work with networks, load balancers, monitoring systems, web services and other devices that might need touching during a rolling update. For example, you can add or remove servers from your load balancing pool and disable monitoring alerts for each machine that is being updated.

continuous_delivery_diagram

Simple Integration

Ansible fits into any existing development practice and can be integrated into any workflow by utilizing the Red Hat® Ansible® Tower API and the command-line interface. One common way to use Ansible is by calling it from a continuous integration (CI) system upon a successful application build:

  • The CI asks Ansible to run a playbook that deploys a staging environment with the application.
  • When the stage tests pass, it might then be asked to run a production deployment.
  • Ansible can check out your artifacts from version control on each machine, or pull artifacts from the CI server, or from a package mirror.

 

Watch sessions from AnsibleFest 2022
AnsibleFest 2022 may be over, but you can keep building your automation knowledge. Explore our on-demand content hub, with more than 50 sessions from AnsibleFest on automation use cases, processes and more. Sign up for free to view all content until April 2023. 
Want some hands-on experience?
Red Hat offers interactive labs in a preconfigured Red Hat Ansible Automation Platform environment. You can use these labs to experiment, practice, and learn how to create, manage, and scale network and IT practices efficiently—from rapid development and deployment, to simplified operations and analytics, to consistent end-to-end user experiences.

Related Resources

Continuous Delivery

Whitepaper

Achieve rolling updates & deployment with zero downtime.

Leveraging Ansible for CI/CD

ON DEMAND WEBINAR

Leverage Ansible for CI/CD automation.

Analyst Paper

Why use DevOps Automation?

Automation is critical to successful and effective implementation of DevOps.