Automated Containerization of Windows and Linux Applications for a Leading Indonesian Bank

Automated Containerization of Windows and Linux Applications for a Leading Indonesian Bank
March 5, 2020 Eshan Sarpotdar

About the Client

The client is one of the oldest and the largest state-owned banks in Indonesia that has been serving customers for over 100 years now. With over 30 million retail clients spread across 4000 branches, units and rural service post the bank provides a wide range of banking products and financial services through a variety of delivery channels and its specialized subsidiaries in the area of investment banking, life and non-life insurance, venture capital, and asset management.


The Business Challenge

The client was running an IIS ASP .Net monolith web application which was configured with an MS SQL Database used as their banking application. The Linux based application was a PHP E-Office web application along with a MySQL Database. The application supported billion-dollar transactions on a regular basis and was one of the core banking applications used by our client. 

The current challenges involved a lot of static IP hardcoding having tight process dependencies further affecting the performance and usability of the application. These challenges were causing downtime and difficulty to work in a containerized environment especially when the processes needed to be split. In addition to complexity, it was also an expensive affair to maintain such a setup when the scalability aspect was taken into consideration. 

The client wanted availability and scalability support in the application and also wanted to abide by the framework set by the governing authority with minimum operating costs.


How CloudHedge Helped?

CloudHedge recommended application containerization of the IIS ASP .Net 4.5 monolith web application which was hosted on-premise on a Windows 2016 Server and the PHP application was hosted on Ubuntu 14.04 to a Kubernetes based orchestration platform. Kubernetes supports scalability as and when required, moreover, it was seamlessly integrated with their existing Bamboo based CI/CD workflow. 

Setup, Environment Guidelines and Installing the Appliance

Given the stringent timelines, CloudHedge used its on-prem appliance in an air-gapped environment complying with the bank’s strict regulations from the governing authority. CloudHedge’s tech team was swift in deploying the appliances quickly to setup automated discovery and containerization of the target application hosts. 

CloudHedge then installed and configured the Kubernetes cluster with Windows 2019 and Linux worker nodes support, on-premise Docker registry for Linux to host all the application containers.


For Windows Application

Automated App Discovery

CloudHedge performed infrastructure discovery and assessment of the application hosted under IIS through its patent-pending and automated tool – Discover. The Discover tool with its Application X-Ray feature helped in identifying application configuration, dependencies and static hardcoding of the banking application and also generated a recommendation report. The recommendation report gave actionable insights on the upcoming app containerization process, therefore, making it quick and predictable.

Automated Containerization – The Accelerated Approach

Once the application services were discovered, the next step was to use the Transform tool to containerize the Windows application into an optimized .Net Windows 2019 container – the accelerated approach. The Transform tool containerizes applications without touching the source code. 

One-Click Deployment

Fully containerized within days, the application was deployed on a destination Kubernetes platform using CloudHedge’s Cruize tool. The containerized banking application supported auto-scaling and upgrade. The last step in the automated containerization journey was met well within the timelines.


For Linux Application

Automated App Discovery

CloudHedge performed infrastructure discovery and assessment of the Linux PHP Application hosted under Ubuntu through its patented and automated tool – Discover. The Discover tool with its Application X-Ray feature helped in identifying the application configuration, dependences and static hardcoding of the banking application and also generated a recommendation report. The recommendation report populated actionable insights on the next step – automated app containerization process.

Automated Containerization – The Accelerated Approach

After the app processes were discovered by the Discover tool, the next step was to use the Transform tool to containerize the Linux application into an integrated container running both the Nginx and PHP FPM processes. The transformation would also turn the application into a single container thus resolving the IP hardcoding issues without the need to touch and alter the source code. 

One-Click Deployment

Fully containerized within days, the application was deployed on a destination Kubernetes Platform using CloudHedge’s Cruize tool. The containerized banking application supported auto-scaling and upgrade. The last step in the automated containerization journey was met well within the timelines even for the Linux app. 


Integration with existing CI/CD tools using CloudHedge

Using third party integration features of CloudHedge, the team integrated the transformation and deployment process of the application into the existing CI/CD Bamboo pipeline. This helps existing developers to continue development without compromising on agility and productivity using familiar CI/CD tools and processes.


Benefits

  • The solution was deployed through automation, eliminating the need for highly skilled administrators and supervision further reducing operation costs by 60%.  
  • CloudHedge discovered, containerized and deployed both the applications within a week’s time instead of other estimates of months for container adoption. The project delivery timeline was almost reduced by 80%.
  • Zero downtime and maintenance costs for platform upgrades and patching due to managed Kubernetes services. 
  • CloudHedge automated the integration process in the clients existing CI/CD Bamboo pipeline which was the biggest benefit for the client. 
  • Containers spin up new environments in minutes vs days in the earlier process.