Telecom Legacy Application Migration
Submitted By Jenkins User Saikat Das
IBM helped Vodafone transform telecom applications from on-premise to the IBM and shaved expenses off the budget by automating continuous integration and continuous delivery/deployment.
Organization: IBM and Vodafone Ireland, https://n.vodafone.ie/en.html
Programming Language: Java
Platform: Docker or Kubernetes, Linux
Version Control System: GitHub
Build Tool: Maven
Team: Adam Wrzosek and Phoebe Cooney, Vodafone Ireland
Community Support: Jenkins Users Google Group or IRC Chat, Jenkins.io websites & blogs, Spoke with colleagues and peers
Using Jenkins to build legacy telecom apps and modern web apps is
simple and provides an easy learning curve to any newbie.
Background: We were looking for the best open source CI/CD tool to host on the cloud, which will help us build and deploy critical legacy telecom applications faster and assist in scheduling database automation and regression test automation jobs.
We also wanted to set up the standard CI tool for all applications so that we can promote Jenkins and build the same experience for all developers at Vodafone Ireland. The tool has to be easy to learn, easy to build, easy to test, and easy to deploy.
Most importantly, we will be supporting business-critical applications. Since a large section of Ireland’s population is dependent on Vodafone’s network (also the new 5G launch is happening), it is essential to use a highly reliable CI/CD platform that can support the rapid development cycle.
Goals: To maximize budget, we were looking for a way to automate CI/CD and migrate on-premise telecom applications to the cloud.
Solution & Results: The main challenges we faced in choosing the best CI/CD is the availability of plugins and a diverse and trusted open-source community to support our latest development.
Jenkins is open-source, and we are using a Fargate container to run our slaves to avoid paying charges when not using. We have increased rapid deployment to production by 55-60% and the cost of using proprietary CI/CD by 80%.
We are hoping to use it in scale and bring more applications in the coming quarter.
We primarily used Docker image to create a standard image for different slaves, which helped to deploy on AWS Fargate and helped to store all the Jenkins configuration in the config.xml file. We also used it for storing the backups. It was easy to migrate Jenkins to the upper version just by changing a few lines in the standard Docker file. We used Maven/Gradle for building. Loved the notification service plugin to integrate any software that helped us a lot. We also used Jenkins DSL pipeline to automate the deployment.
Thank you for the awesome customer-first experience. Jenkins’s descriptive pipelines, shared library, custom plugins, etc., actually helped us automate more and reduce overall manual labor for maintenance. We also were impressed with how reliable Jenkins is and how we could use the LDAP server to assign and segregate different project teams and assign permissions easily. Jenkins also offered easy integration with GitHub, JFrog Artifactory, etc.
The results we saw were very impressive:
- Faster time to build and deploy – Go to prod release from 15 days to 5 hours (prod/pre-prod/SIT env)
- Helped with our # 1 goal to migrate to AWS Cloud in last 2 quarters
- Wide adoption, more teams joining and using Jenkins
- Helped deployment of official Vodafone Ireland portal