Automation execution environments are container images on which all automation in Red Hat® Ansible® Automation Platform is run.
They provide a defined, consistent, and portable environment for executing automation, and allow for easier administration of Ansible Automation Platform by the platform administrator.
With execution environments, Ansible Automation Platform has been able to move to a distributed architecture. Having the automation execution decoupled from the control plane results in faster development cycles and improves scalability, reliability, and portability across environments.
Execution environments include:
- Red Hat Enterprise Linux® UBI 8
- Ansible 2.9 or Ansible Core 2.11
- Python 3.8
- Any content collections
- Collection Python or binary dependencies
The automated enterprise
Learn how to implement automation across your organization
Automation execution environments help to ensure that automation runs consistently across multiple platforms and make it possible to incorporate system-level dependencies and collection-based content.
Execution environments give Ansible Automation Platform administrators the ability to provide and manage the right automation environments that meet the needs of different teams, such as networking and cloud teams.
They also enable automation teams to define, build, and update their automation environments themselves.
Execution environments provide a common language to communicate automation dependency between automation developers, architects, and platform administrators.
By providing a standard way to build and distribute the environment automation runs in, automation can also be scaled and shared between teams.
Because they’re defined and standardized, execution environments provide automation developers with a consistent Ansible Automation Platform environment that’s the same as production. And an execution environment can be graduated to run in production.
Ansible-builder is a command line tool that is used to create automation execution environments. It does this by using the dependency information defined in various Ansible Content Collections, as well as by the user.
Building a new execution environment involves a definition (a .yml file) that specifies which content you would like to include in your execution environment, such as content collections, Python requirements, and system-level packages.
With the release of Ansible Automation Platform 2.0, there are a set of prebuilt, supported execution environments available on the Red Hat container registry.
These images can be used in different capacities in your environment and are provided as part of a Ansible Automation Platform subscription.
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 AnsibleFest sessions on automation use cases, processes, and more—like "Demystifying Execution Environments - A year of lessons from the field." Sign up for free to view all content until April 2023.
Private automation hub is a location where you can publish and download automation content, including execution environments, within your organization.
It gives automation developers the ability to collaborate and publish their own automation content and streamline delivery of Ansible Automation Platform code.
Private automation hub makes it easy to share execution environments with other developers or operators for production use cases across your organization.
Ansible Automation Platform integrates with private automation hub for publishing and pulling execution environment container images.
Automation controller is the control plane for automation and supports execution environments. Use automation controller to manage inventory, launch and schedule workflows, track changes, and integrate into reporting, all from a centralized user interface and REST API.
Automation controller can sync directly to private automation hub and pull curated execution environments to use and provide governance around what is available.
Once an execution environment is created, you can use it to run jobs. Use the automation controller user interface to specify the execution environment to use in your job templates.
When implementing automation across the enterprise, IT organizations need a standardized way to define and embed automation workflows into other tools and processes, reliable and scalable execution of automation, and a centralized system that enables auditing.
By standardizing how automation is deployed, initiated, delegated, and audited, Ansible Automation Platform allows enterprises to automate with confidence and reduce inconsistencies across the enterprise.