Increasing Scalability and stability of an multimedia app

About the Client

The client is an app development company based out of America and having one of their development center at Chennai. They are working on a number of multimedia-based apps. The client was utilising Agile practises for both application integration and deployment. As the client added new functionalities and fixed bugs in existing features, the operations and development teams had to handle additional pressure to deliver a stable app on time.

The Challenge

The client's application was monolithic in design, and the entire infrastructure was housed on a single virtual machine. The client found it challenging to roll out new features and address faults quickly due to the infrastructure set up. The client was also expanding worldwide, because of which the infrastructure also had to be scaled up frequently and the same was operated manually which led to dependency and outages.

The Solution

The monolithic architecture was converted to micro services model. Automation was introduced to manage the infrastructure scalability.

How was it done?
  • Apps for the development environment were dockerized and tested using a nginx reverse proxy.
  • Jenkins pipelines were utilized to automate the deployment and integration setup.
  • To ensure stability in demo and production environments, infrastructure was re-architected in high availability mode using AWS EKS (Kubernetes solution by AWS).
  • Specially designed helm charts were made to oversee the deployment of each service.
The Outcome / Benefits
  • Frequent feature updates with little to no downtime lead to happier consumers.
  • Infrastructure availability and scaling are no longer issues.
  • The administration of infrastructure requires almost no man power.
  • The client is at ease while expanding to new geographical locations.