Ansible Automation Platform emerged as the top choice for BPS for a number of reasons. First, it was already in use by the DWP Central IT department. Second, it offered a strategic advantage beyond solving the immediate issue. Not only would it address the current problem, but it would also empower the team to upskill their engineers in a modern approach, enabling them to tackle future challenges more effectively.
“Ansible Automation Platform was—and still is—the DWP’s strategic tool of choice for automating deployments,” said Brooks. “And while we didn’t have a lot of Ansible expertise at that point, it looked to be the right tool for us.” Unlike the legacy tool, Ansible Automation Platform would enable monitoring and provide an automation dashboard to refer not only to the result of an execution of Ansible roles but also to runtime metrics and other information.
The DWP’s Service Liability Engineering (SLE) team was also looking to adopt Ansible Automation Platform, so the two teams got together to move forward with the Red Hat automation platform.
The migration itself involved building an environment with feature parity on AWS that mirrored the functionality previously provided by their prior configuration management tool. This “greenfield” approach ensured a clean migration before transitioning back to the on-site production environment. Overall, the project not only achieved successful migration but also set the foundation for future automation success.
As DWP is essentially a financial institution, handling hundreds of millions in transactions, it also has Financial Operational (FinOps) goals to meet. To meet these goals and achieve immutable infrastructure within the non-production DWP environment, the team leverages two Ansible Automation Platform instances in the AWS cloud.
These instances are configured for daily self-rebuilds using automation scripts. This means the instances are terminated each evening and rebuilt fresh every morning. This “spin-up, spin-down” approach ensures a constantly up-to-date and immutable infrastructure for its non-production environment. “The Red Hat experts were invaluable,” said Brooks. “They helped us build Ansible Automation Platform in a mutable fashion as infrastructure as code (IaC) and answered general questions when necessary, about the platform and Ansible Playbooks.”
BPS built a new codebase from the ground up. It not only structured the code optimally by making it more modular but also made it as agnostic as possible to act as a single codebase for all environments, whether on premise or in the cloud.
Current Ansible Automation Platform use cases predominantly involve deploying releases of development, test, pre-production, and production environments, both on premise and in the cloud. BPS also uses it to deploy tooling such as Jenkins and build non-Linux images.