The Customer Account Management system (CAM-Lite) is part of the Working Age and CHAPS directorate in DWP. It’s a database that’s used to maintain records of customer contact, including change of address and change of payment method details.
The database includes individual customer level data as well as geographical information. The system comprises a user interface based on Siebel (which the helpdesk uses to record information when customers contact the agency) and has a backend data feed and transformation process, implemented using Informatica PowerExchange and PowerCenter.
A suite of reports are generated every day that are implemented using SAP BusinessObjects and are then emailed to a user’s mailbox.
How are we updating CAM-Lite?
Our latest work on the CAM-Lite project involves automating the builds of new versions of the service using tools like Jenkins, GitLab, Nexus, and a Yum repository: all accessed via an Nginx proxy and all deployed, and running, as Docker containers.
We also use Puppet for further configuration management, with the Puppet-master running on a virtual machine. We can now create multiple build pipelines and associated environments, using Terraform. This means we can stand up a Server in the public cloud (AWS), deploy a Docker container that contains the Jenkins instance that runs our build and deploy pipeline.
We get the Jenkins container by pulling the image from AWS’s container registry - ECR. In fact, we also have a pipeline for updating the Jenkins container – one job builds the virtual machine using Packer and another that builds the Jenkins Docker image and pushes it up to the AWS ECR.
Why are we doing this?
Well, there’s a need to upgrade all the environments from Red Hat Enterprise Linux (RHEL) 6.4 to RHEL 6.9 and there are currently 19 environments – so this needs to be a quick, reliable and repeatable process.
We’re also migrating/rebuilding the environments from AWS Ireland to AWS London. All of this allows our business stakeholders to improve throughput, reduce costs and provide a more reliable service to CAM-Lite users, who themselves will benefit by getting their changes processed and their reports delivered much quicker than before. There are also performance and scalability improvements by re-platforming in the cloud.
All of this pipeline work is something we are looking to repeat and use elsewhere on other projects, so we’re hoping that the wider BPDTS Engineering & DevOps team will also benefit from the automation work being done.
We’d love to hear and learn from other communities on how they’re moving forward, iterating and optimising. In the meantime we’ll keep developing ourselves in order to help each other.
We’re always on the lookout for new DevOps talent so, if you’re interested in a career at DWP Digital check out what roles we have available on our careers site.