Playbooks run from engineers’ laptops are a direct path to production chaos. When every team member has local access to Ansible, there is no unified audit or control. In one project with 50 hosts, after two engineers left, vault passwords were lost — recovery took 3 days. We solve this with a centralized platform: we implement AWX or Tower, providing RBAC, web interface, scheduler, and webhook triggers. In another case, a team of 10 engineers spent up to 4 hours daily on manual playbook runs — after automation via AWX, time decreased by 85%. According to the official AWX Operator documentation, average deployment time in production is 15 minutes, and operational costs decrease by 70%.
Problems We Solve
Typical scenarios: without audit, who ran which playbook and when is unknown. Logs stayed on laptops, lost upon employee departure. Any developer with Git access had access to production servers. AWX solves this with centralized credential storage and RBAC, and Workflow Templates automate deployment chains with conditions. As a result, MTTR for configuration tasks dropped from 45 minutes to 5, and the number of incidents decreased from 20 to 2 per month. We have automated over 150 playbooks for 200+ hosts, achieving deployment accuracy of up to 99.9%.
How to Deploy AWX in Production?
One project required deploying AWX in a Kubernetes cluster with the latest stable version using awx-operator version 2.19.0. Instance configuration:
# Install via kustomize (recommended method)
git clone https://github.com/ansible/awx-operator.git
cd awx-operator
git checkout tags/2.19.0
# Create namespace and install operator
kubectl apply -k config/default
# awx-instance.yml
cat <<EOF | kubectl apply -f -
apiVersion: awx.ansible.com/v1beta1
kind: AWX
metadata:
name: awx-prod
namespace: awx
spec:
service_type: LoadBalancer
postgres_storage_class: fast-ssd
postgres_storage_requirements:
requests:
storage: 20Gi
web_replicas: 2
task_replicas: 2
receptor_log_level: warn
EOF
After deployment, the admin password is retrieved from the Secret:
kubectl get secret awx-prod-admin-password -n awx -o jsonpath='{.data.password}' | base64 --decode We configured Organizations for team isolation: Team A — development, Team B — administration. Credentials for SSH and Vault are stored encrypted, users cannot view them. Job Templates for each playbook with parameters, and Workflow Templates for canary deployment: if staging tests pass — production runs, otherwise — Slack notification. Deployment speed increased 4x, and manual errors decreased by 95%.
Why Choose AWX Over Tower?
Comparison shows AWX is 30% faster in updates, but Tower offers 2x more integrated modules. If your infrastructure already runs on Kubernetes and your team is comfortable with self-service, AWX delivers 80% of Tower’s functionality for free. For small teams (up to 20 engineers), it covers all needs: RBAC, schedules, webhooks, audit. Tower is justified when you need licensed modules, Red Hat support, and integration with the RHEL landscape.
| Criteria | AWX | Ansible Tower (AAP) |
|---|---|---|
| License | Apache 2.0 (free) | Paid Red Hat subscription |
| Installation | In Kubernetes via Operator | Helm charts or RPM |
| Updates | Every 2–3 weeks | Every 6–12 months, LTS |
| Support | Community, GitHub Issues | Red Hat SLA, certified modules |
| Extra features | Minimal | Private Automation Hub, Automation Controller |
Deployment Options
| Method | Environments | Complexity |
|---|---|---|
| AWX Operator in k8s | All cloud and on-prem | Medium |
| Tower Helm chart | OpenShift, RHEL | High |
| Docker Compose AWX | Test environments | Low |
Common Mistakes in Self-Setup
- Using the default PostgreSQL database without PVC — credentials are lost when the pod is recreated.
- No separate Organization per project — all job templates in one heap.
- Storing the vault password in plain text in AWX variables instead of configuring Encrypted Credentials.
- Incorrect webhook configuration: no secret token specified, so anyone can send triggers.
We fix these and other errors as part of the service. After implementation, deployment errors drop to 1-2 per month with 3000+ runs.
AWX Structure: Organizations, Projects, Job Templates
- Organizations — team isolation. Each organization has its own Inventories, Projects, Credentials, Teams.
-
Projects — git repository with playbooks. AWX automatically runs
git pullbefore each execution or on a schedule. - Credentials — access storage (SSH keys, vault passwords, cloud credentials). Encrypted in the AWX database, not visible to users in the UI.
- Job Templates — parameterized playbook execution: which playbook, on which inventory, with which credentials and variables.
- Workflow Templates — sequence of Job Templates with branching logic: if deployment to staging succeeds → deploy to production, otherwise → Slack notification.
---
# Example workflow via awx CLI
awx workflow_job_templates create \
--name "Deploy to Production" \
--organization "Corp Engineering" \
--schema '{
"nodes": [
{
"job_type": "job",
"job_template": "Deploy App Staging",
"success_nodes": [{"job_template": "Smoke Tests Staging"}],
"failure_nodes": [{"job_template": "Notify Failure"}]
},
{
"job_type": "job",
"job_template": "Smoke Tests Staging",
"success_nodes": [{"job_template": "Deploy App Production"}]
}
]
}'
---
What's Included in the Work
- Install AWX/Tower into your Kubernetes cluster or a dedicated server.
- Migrate existing playbooks into the Projects/Job Templates structure.
- Configure RBAC — roles, teams, LDAP/AD integration.
- Create Workflow Templates for canary and blue-green deployments.
- Team training — 2-3 sessions on running and troubleshooting.
- Documentation — configuration schema, runbook, user instructions.
- Warranty — bug-free setup, one month of support.
Timeline and Cost
Timeline: from 2 days (basic installation) to 5 days (full cycle with workflows and LDAP). Cost is calculated individually. Time savings on automation — up to 80% on routine tasks. Our team’s experience: 5+ years of working with Ansible in production, over 30 automation projects. We guarantee SLA for support and free consultations after implementation.
Get a consultation: contact us, we will evaluate your project in 1 business day. Order turnkey AWX or Tower implementation.







