In this project we converted the on-premises monolithic web application of our customer, large Indian telecom provider, to a microservice architecture build on Azure Kubernetis. New application proved to be far more agile and scalable and empowered the customer to make better use of resources needed to run enterprise apps with no underlying hardware infrastructure to maintain.
Business Situation
The customer was facing the growing number of failures of their billing portal impacting their end users. The portal was serving as a single stop shop for all their offerings and services as well, and the user engagement was significantly going down owing to the failures and high response time. The customer wanted a solution that would automatically scale to handle high workload. Customer was looking for more agility, scalability, and efficiency into their Linux-based architecture.
Solution
Current environment was built on Java-powered Linux web-based services along with some Windows IIS based applications. For this reason, customer application used a lot of legacy components that need traditional OS level services to operate. Rather than perform a simple lift and shift migration, the Noventiq team decided to adopt a microservices architecture because Docker integration of core environment components running on Linux services ensures an easy way to create images. Another benefit of this approach is faster release of new features.
Noventiq proposed to break down their monolithic enterprise application which comprised stateful, intertwined services into microservices, swapping out functions from the monolith piece-by-piece. With Linux workloads, there is a combination of legacy applications and modern workloads.
Our approach implies breaking Java applications to components and embedding each into a separate container. Another feature of our solution is geo-redundancy for the core services sensitive to latency across regions where most of the customers reside, majorly central India. Noventiq proposed the decoupling of the presentation layer from their compute layer. This gives more freedom to easily add or change features and enable the developer teams to work on multiple features at once. Further, as each service maintains its own state and data, this made it easier to scale the data layer and compute layer independently. Noventiq proposed Azure Kubernetes Services for hosting the microservices based infrastructure to provide redundancy, resiliency, and scalability leading to prominent end user experience.
This gives customer a capability to implement each microservice in different languages and frameworks choosing the best technology for particular use case.
Noventiq helped the customer to develop DevOps methodology which will enable faster delivery of features, more stable operating environments, improved communication and collaboration and more time to innovate rather than fix/maintain.
To create build and then deploy it we used Azure CI/CD pipeline to build artifact for the Azure Kubernetes services in the form of a containerized application. Initial process included integration of Azure Dev Ops with the source code repository, setting up the initial services such as database (MySQL) and AKS and network connectivity between both. Here, the AKS is running Linux nodes. We defined and created the build pipeline which converts the customer code into an artifact. Release pipeline will eventually deploy the artifact created by the build pipeline to the Azure AKS.
Result
After the changes implemented, customer issues with billing portal has been resolved. Rollout of new updates became easier leading to better user experience. The customer merged with another telco provider and the new capability of easy implementation and rollout of changes enabled smooth merge with no impact on the billing portal and the website and uninterrupted website experience for end users.
Additionally, with automated application deployments and updates we managed to reduce the customer’s overhead of the total infrastructure cost for hosting applications, and manpower to control it. By using AKS and leveraging Azure, customer could make use of containerized applications and scale their resources on the fly.