Introduction
Red Hat Ansible Automation Platform (AAP) is the enterprise version of Ansible — adding a web UI, role-based access control, centralized content management, and event-driven automation on top of the open-source Ansible engine. It's designed for teams that need governance, scalability, and support for their automation at scale.
AAP vs Open-Source Ansible
| Feature | Open-Source Ansible | Ansible Automation Platform |
|---|---|---|
| Engine | ansible-core | ansible-core (certified) |
| Web UI | No (use AWX) | Automation Controller |
| Content Hub | Ansible Galaxy | Automation Hub (certified) |
| RBAC | No | Yes |
| Event-Driven | No | Event-Driven Ansible |
| Support | Community | Red Hat subscription |
| Execution Environments | Manual build | Included + custom |
| Analytics | No | Automation Analytics |
| Cost | Free | Subscription required |
Core Components
1. Automation Controller (formerly Ansible Tower)
The web UI and API for running automation:
- Job Templates — define what playbook runs on which inventory
- Workflows — chain multiple job templates with conditional logic
- Schedules — cron-like scheduling for automated runs
- RBAC — teams, users, and permissions
- Credentials — securely store SSH keys, cloud tokens, vault passwords
- Notifications — Slack, email, webhook on job success/failure
- API — REST API for integration with CI/CD tools
2. Automation Hub (Private)
Centralized repository for Ansible content:
- Certified Collections — Red Hat tested and supported
- Validated Content — community collections tested by Red Hat
- Private Hub — host your own collections internally
- Execution Environments — container images with Ansible + dependencies
3. Event-Driven Ansible (EDA)
Respond to events automatically:
# EDA rulebook example
---
- name: Auto-remediate disk full
hosts: all
sources:
- ansible.eda.webhook:
host: 0.0.0.0
port: 5000
rules:
- name: Disk usage alert
condition: event.payload.alert == "disk_full"
action:
run_job_template:
name: "Cleanup Disk Space"
organization: "IT Ops"
4. Automation Analytics
Dashboard showing:
- Job run statistics and trends
- Host automation coverage
- Module usage across the organization
- Cost savings estimates
Architecture Overview
┌─────────────────────────────────────┐
│ Ansible Automation Platform │
├──────────────┬──────────────────────┤
│ Automation │ Automation Hub │
│ Controller │ (Collections + │
│ (Web UI/API) │ Exec Envs) │
├──────────────┼──────────────────────┤
│ Event-Driven │ Automation │
│ Ansible │ Analytics │
├──────────────┴──────────────────────┤
│ Execution Environments │
│ (Containerized ansible-core) │
├─────────────────────────────────────┤
│ Managed Hosts │
│ (Linux, Windows, Network, Cloud) │
└─────────────────────────────────────┘
Installation Methods
1. RPM Installer (RHEL)
# Download from access.redhat.com
# Extract the bundle
tar xvf ansible-automation-platform-setup-bundle-*.tar.gz
cd ansible-automation-platform-setup-bundle-*/
# Edit inventory file
vi inventory
# Run installer
./setup.sh
Inventory configuration:
[automationcontroller]
controller.example.com
[automationhub]
hub.example.com
[database]
db.example.com
[all:vars]
admin_password='SecurePassword123!'
pg_host='db.example.com'
pg_port=5432
pg_database='awx'
pg_username='awx'
pg_password='SecureDBPass!'
2. OpenShift Operator
Install via OperatorHub in OpenShift 4.9+:
- Search for "Ansible Automation Platform" in OperatorHub
- Select update channel and installation mode
- The operator creates instances of Controller, Hub, and EDA
3. Containerized Installation (AAP 2.4+)
# New in AAP 2.4 — containerized deployment on RHEL
ansible-playbook -i inventory containerized_install.yml
System Requirements
| Component | CPU | RAM | Disk |
|---|---|---|---|
| Controller | 4 cores | 16 GB | 40 GB |
| Hub | 2 cores | 8 GB | 60 GB |
| Database | 4 cores | 16 GB | 100 GB+ |
| EDA | 2 cores | 8 GB | 40 GB |
Supported OS: RHEL 8.6+ or RHEL 9.0+
Getting Started After Installation
1. Access the Web UI
Navigate to https://controller.example.com and log in with admin credentials.
2. Add an Inventory
Controller → Inventories → Add → Add Inventory
Name: "Production Servers"
3. Add Hosts
Production Servers → Hosts → Add
Host: web01.example.com
4. Create Credentials
Controller → Credentials → Add
Type: Machine
SSH Key: (paste private key)
5. Create a Project
Controller → Projects → Add
SCM Type: Git
SCM URL: https://github.com/org/ansible-playbooks.git
6. Create a Job Template
Controller → Templates → Add Job Template
Inventory: Production Servers
Project: My Playbooks
Playbook: site.yml
Credentials: My SSH Key
7. Launch the Job
Click Launch and monitor the output in real time.
Licensing
- 60-day trial — free evaluation from red.ht/try_ansible
- Standard subscription — includes Controller + Hub
- Premium subscription — adds EDA + premium support
- Developer subscription — free for individual development use
Related Articles
- Install AAP on OpenShift
- What is Ansible AWX?
- Ansible Roles Explained
- Ansible Best Practices Guide
- Ansible-Core Guide
- Ansible Galaxy: The Complete Guide
Conclusion
Ansible Automation Platform wraps the open-source Ansible engine with enterprise features — a web UI (Controller), certified content (Hub), event-driven automation (EDA), and analytics. Start with a 60-day trial or the free developer subscription. For open-source alternatives, AWX provides the upstream version of the Controller component.