Reading, UK
Search
Reading, UK
+44 11893 23001

Creation of Automated Development Pipelines for a Major Mobile Telecom Operator

Case Study at a Glance

The Challenge

Modernise the development and deployment process of the customer's web application
Automating it as fast as possible

The Solution

Development and deployment of automated build pipelines hosted in Amazon Web Services
Creation of automated infrastructure templates

The Benefit

Greater control of source and product
Rapid software deployment
Greater efficiency with fewer errors

The Challenge

Our customer, a major mobile telecom company, provides a platform for business users to integrate mobile communications with their fixed corporate communications, such as landlines, email and instant messaging.

The Java- based web application at the core of the platform was being developed in an old-fashioned way. Builds were taking place on external developer machines and source code was not stored in a version control system (VCS) under the customer’s control. Deployments were performed manually across multiple environments, which was slow and error-prone.

The challenge was to modernise the development and deployment process and automate it as far as possible.

The Solution

Automated Build Pipelines

AC put in place a solution hosted in Amazon Web Services that made use of many of the platform’s advanced features to implement continuous integration and deployment (CI/CD), giving a robust, flexible and rapid means of building and deploying the customer’s web application:

After evaluating various different code repository options, it was decided to store the source code in AWS CodeCommit. The first step was to set up a repository in CodeCommit and implement synchronisation with the Git repository hosted by the third party development company.
The next step was to set up the building of the application in AWS. The build tool used was Gradle invoked by AWS CodeBuild and orchestrated by AWS CodePipeline. The customer application was a Java-based web application whose build artifacts consisted of a set of .war files deployed onto different servers running Apache Tomcat. There are different variants of the application for use in different geographies. Multiple parallel pipelines exist to cater for the different components of the application, and the different variants of the application.
Once built, the build artifacts were deployed by AWS CodeDeploy, and the creation of each instance of the application was co-ordinated by AWS CodePipeline.
In order to manage the complexity created by the multiple instances and multiple components within each instance, Automation Consultants defined the required infrastructure and configurations in a set of CloudFormation infrastructure as code (IaC) templates.
Automated Infrastructure Provision

As described above, the customer has a Java-based application with a web-based user interface which integrates mobile communications with fixed corporate communications.  The application consists of multiple components, and is used in production in multiple geographies. For each geography, as well as the production instance, multiple non-production instances of the application exist for development, testing etc. In summary, the application must be deployed in multiple variants to multiple parallel instances.

To manage the various required environments, Automation Consultants expanded and optimised a set of templates in AWS CloudFormation, AWS’s IaC service, which defined the infrastructure required for each environment. The templates themselves are stored and version-controlled in AWS CodeCommit. This approach ensures the infrastructure components are built automatically and consistently.

The Benefits

Automation Consultants’ solution gives the customer much greater control of its own source code and product, with an up-to-date code repository in its own infrastructure.

Rapid software deployment thanks to automation
The automated CI/CD pipelines allow the software to be built and deployed rapidly as soon as changes are made by the developers. This results in faster time to market for the customer’s mobile to fixed integration product. The solution also removed the need for manual deployments by the development team, providing more time for innovation and development activities.
Greater efficiency and fewer errors
The multiple variants and instances of the application are handled more efficiently and with fewer errors because the environments are defined in CloudFormation templates, which in turn are version-controlled in AWS CodeCommit. This makes for higher quality and faster time to market for the customer’s software.