Managing a nationwide telecommunications network requires handling millions of customer endpoints. Relying on manual management or legacy scripting cannot keep up with the demand for regular updates, monitoring, and troubleshooting.
In this blog post, we shall explore how Managed Red Hat Ansible Automation Platform (AAP) on AWS, while running the execution nodes on Red Hat OpenShift Service on AWS (ROSA), provides an elastic, highly scalable automation solution for managing up to millions of home router broadband gateways, modem-router combos, broadband gateways, and wireless routers.
To grasp the scope of the challenge, we must first examine the network edge. The customer service infrastructure originates at the Service Provider Data Center. Here, the Optical Line Terminal (OLT) aggregates the fiber connections from millions of individual “home router broadband gateways.” These gateways are a combination of Optical Network Terminal (ONT) and external home routers and/or an all-in-one hub device (which serves as both an ONT and a router, often with integrated wireless backup). This vast network of connections ultimately reaches end-user devices via WiFi and Ethernet. Managing the lifecycle, data collection, monitoring, and troubleshooting for millions of deployed home router broadband gateways is a constant and demanding requirement.

This architecture is built on two foundational components:
To manage this vast fleet of home router broadband gateways, the architecture relies on Ansible Automation Platform Service on AWS to provide the Automation Orchestration and Red Hat OpenShift Service on AWS (ROSA) to provide the scalable and cost efficient infrastructure to host the Ansible execution on-demand.
At a high level, AAP dynamically integrates with third-party systems, pulling inventory data from external sources (cloud providers, CMDB, etc.), and syncing its automation playbooks via a Version Control Code Repository, such as GitHub.
When Ansible jobs are triggered, AAP sends the Ansible workload to Execution Node Container Groups in OpenShift clusters. These PODs run the Ansible Playbooks, interacting with home router broadband gateways via IPv4 and/or IPv6 to perform configuration changes, data collection, and management tasks.
To ensure total visibility and full analytics (e.g., train your operations LLM Mode), all execution data, logs, and metrics generated by AAP are continuously ingested into a distributed OLAP (Online Analytical Processing) database designed for real-time analytics and log aggregation systems such as Grafana / Grafana Loki.
Scaling an automation platform to hit millions of endpoints requires robust, distributed infrastructure. By utilizing Red Hat OpenShift Service on AWS (ROSA), organizations get a fully managed environment that handles complex scale.
In this detailed, multi-region architecture, the ROSA deployment happens at each AWS geographic region (e.g., us-east-1, us-west-1, and us-west-2). Within those regions, the infrastructure is heavily distributed across three Availability Zones (AZ-A, AZ-B, and AZ-C) designed to provide high availability for AAP Execution OpenShift pods.
The key to this architecture’s efficiency is the separation of automation control and execution:

The true value of running AAP on ROSA becomes apparent during massive “automation bursts,” such as scheduling a firmware upgrade for thousands of home router broadband gateways. AAP utilizes a split architecture, meaning Automation Controller pods handle incoming API/UI requests, while Execution Node pods (known on Kubernetes as “container groups”) handle the heavy lifting of running the actual Ansible playbooks.
When a massive scheduled job hits, the Horizontal Pod Autoscaler (HPA) instantly detects CPU and memory spikes, and AAP begins spinning up more container pods. But what happens if the underlying physical OpenShift worker nodes (Amazon EC2 instances) run out of capacity?
This is where native scaling mechanisms in ROSA step in to save the day:
The scaling is only limited by two “fences” you set:
Running jobs on millions of devices generates a massive volume of logs. This architecture does not save logs in the traditional way, which can easily cause I/O bottlenecks. Instead, all execution data, logs, and metrics generated by AAP are continuously ingested into a distributed OLAP (Online Analytical Processing) database designed for real-time analytics and log aggregation systems, such as Grafana / Grafana Loki.
Besides providing engineers with a clear dashboard for debugging, the most valuable point here is that this clean and massive log dataset is used as input to train specialized operations AI/LLM models (Operations LLM Mode). In the future, the AI will learn from these logs to automatically detect issues and suggest self-healing actions for the telecommunication network.
Besides flexible scaling, this architecture completely solves dependency conflicts across different hardware generations. Each automation scenario is packaged cleanly into its own Container Image (Execution Environment), which is destroyed after execution, leaving no residue and not impacting other processes.
Furthermore, since both AAP and ROSA are fully managed services coordinated by Red Hat and AWS, the operational burden of OS patching, network layer configurations, and infrastructure maintenance is offloaded from the operations team. Engineers can focus entirely on writing playbooks to configure devices.
To protect the business budget, you can set the following control barriers (Fences):
Source: AWS Architecture Blog
Post on AWS Study group: AWS Architecture Blog