Upgrade to Ansible Automation Platform 2: What's new and how to speed up the migration
Tags: ansible, automation, aap2
Published: 2023-02-23 12:13:29

Red Hat launched Ansible Automation Platform 2 (AAP2) in September 2021 and has since already updated to version 2.3. It brings many excellent features to further enhance your automation. The current date to finally upgrade from Ansible Automation Platform 1.2 to AAP2 is September 2023, so now would be a great time to start thinking about the upgrade.

Yes, we know that upgrades can present a challenge, but do not let it hold you back. Not only do the benefits of AAP2 far outweigh any difficulties you may face, with the help of the right tools, such as [Steampunk Spotter](https://steampunk.si/spotter/?utm_source=AAP2&utm_medium=blog), you can upgrade your playbooks in minutes instead of hours.

Do *not* be discouraged, be excited! Let us dive into the great new features of AAP2 and see how we can speed up and simplify your upgrade.

# A redesigned and reimagined platform
 
Ansible is headed in the direction of separating the management of automation from running it. This helps different users of the platform, allowing for more efficient operational processes and execution. New features such as Execution environments and Automation mesh will drastically modernize your automation game. Innovation in automation today is driven by the necessity to support both native container and hybrid cloud environments, now available with extra flexibility. 

## New components

The Control plane was separated from the Execution plane in Ansible Tower. Components are now called Automation controller and Execution environments. The current execution setup can support running in container native and hybrid cloud environments more efficiently; it can also run outside of the control node. We can perform the automation from Ansible-navigator and Automation controller by using Execution environments. This brings less effort with development testing and quicker promotion to production. 

> **Execution environments** 
>
> *Are self-contained runtime environments that include a version  of Ansible core with the Python package dependencies, system level dependencies, and Ansible content collections.*

Execution environments make collecting reusable automation under Collections possible. This allows you to spend less time writing the playbooks and focus more on the automation itself. There is no need to be a Python developer to use these tools and produce execution environments having the necessary dependencies and collections. These containerized execution environments replace Python virtual environments. 

> **Automation controller**
>
> *Offers centralized management and enterprise features like login > authentication, role-based access control, and REST API.*

The Automation controller works hand in hand with Execution environments to provide you with improved architecture, flexibility, and new tools usage. You can monitor and integrate into existing IT systems, all from a centralized user interface.  

> **Automation mesh** 
>
> *A flexible overlayed network relaying system that can connect  in either direction, delivering flexible design options.* 

Automation mesh replaces isolated nodes in Ansible Tower. They placed restrictions on configuring the typology of the system; there was more flexibility needed to connect the execution of automation to the automation controller itself, keeping in mind the infrastructure of your networks, systems, data centers, servers, and clouds. Depending on your DMZ and security system rules, it can connect in either direction over an internal protocol that is secured by TLS. Direct connection from host to host is no longer needed.

## New tools

> **Automation content navigator (Ansible-navigator)**    
>
> *CLI tool that includes an interactive text-based user interface  to navigate your content.*

It communicates to a central hub that understands a specific playbook should be invoking a specific execution environment and allows for operational knowledge reuse of traditional Ansible commands, while supporting execution environments.  

>**Execution environment builder (Ansible-builder)**
>
>*CLI tool that helps you quickly package your automation into Execution environments.* 

Specific needs of an application or service team can be addressed by building an Ansible package. While newly created Execution environments allow you to use packages of information, Execution environment builder lets you construct the execution environments. 

## New features

>**Integrated Ansible Lint** 
>
>*CLI tool that promotes proven practices, patterns, and behaviors for writing Ansible content.* 

Playbooks and roles can be written by various people across teams, which makes tools standardization important. Ansible lint provides just that, while also giving you clear guidelines on how to write and validate your playbooks.  

>**VS Code extension**  
>
> *A language server within VS Code supplying suggestions and inline >documentation.*

VS Code extension supplies language support for creating Ansible content. It includes smart playbook content auto-completion, syntax highlighting, jinja helpers, and direct integrations with supported tooling.  

> **Digitally signed Red Hat Ansible certified content** 
>
> *As part of the normal certified content submission process, Red Hat Ansible Certified Content Collections will be signed by Red Hat.* 

Ansible content was separated from the Ansible executable in the Ansible Project, creating Ansible Content Collections holding Ansible modules, plugins, and roles. This brings added agility.

> **Private automation hub** 
>
> *Enables Ansible content creators’ collaboration, publication, and sharing of their own automation content within their organization.* 

In addition to hosting private, certified, and community content on a collection-by-collection basis, Private automation hub can act as a container registry for execution environments.  

## New business tools

> **Red Hat insights**
>
> *Enables you to aggregate and overview data from multiple Ansible automation platform clusters in a single dashboard.*

Red Hat insights enable you to make more informed decisions when checking your performance. Operational, security, and business issues can be more easily found, troubleshot, and resolved. Available metrics and dashboards give extra visibility into performance and keeping track of your ROIs (return on investment), helping you calibrate your efforts and expand your automation. 

> **Automation services catalog**
>
> *User friendly, lightweight, role-based access control IT service management.*

Automation available to customers as catalog items for ordering. It comes with checkout systems and approvals that help you control your enterprise automation. 

## Upgrading to AAP2 doesn’t have to take hours

When upgrading your Ansible environment, [Steampunk Spotter is an especially useful little helper to have around](https://steampunk.si/blog/steampunk-spotter-analyze-ansible-playbooks-enhance-automation/?utm_source=AAP2&utm_medium=blog), since it greatly simplifies and speeds up the entire process How? Spotter checks if your playbooks are compatible with the latest Ansible version, predicts issues they might cause, and gives advice on how to prevent downtime and ease migrations during updates.

The tool has a rewrite function that automatically fixes FQCNs (fully qualified collection names), and checks for Ansible collections requirements, ensuring the required version of the collections is installed. If you do not have a requirements file, Spotter generates one for you automatically; It also checks for missing entries or collections. For more complex issues, links to module documentation of a specific version are included.    

Are you wondering how much time our tool can actually save? A lot would be an understatement. We did some testing to prove it; [you can see it for yourself here](https://steampunk.si/blog/how-to-upgrade-ansible-playbook-in-20-minutes/?utm_source=AAP2&utm_medium=blog). Or find out how Spotter can help you upgrade your playbook in minutes instead of hours in [this step by step analysis of an Ansible upgrade.](https://steampunk.si/webinars-training/step-by-step-analysis-of-ansible-upgrade/?utm_source=AAP2&utm_medium=blog)  

# What are you waiting for?
  
If you are still asking yourself why you should upgrade to AAP2 as soon as possible, let me sum it up for you: the new architecture is designed for operation across modern cloud environments, there is added tooling, support for true DevOps automation workflows, and substantial performance improvement. The main takeaway is enhanced flexibility, which leads to enhanced scalability, and efficiency.

And with Steampunk Spotter by your side making the upgrade process quick and simple, you really do not need to think twice. Do not get left behind, start upgrading today and join the future of automation!