Industry:
Manpower
Category:
Architecture Design, Cloud Engineering & DevOps, IT Consultancy
Client:
Ami Probashi

Project: Cloud migration of migrant worker application infrastructure

Description:
This application relied on a single monolithic service hosted on bare metal servers and deployment was done manually.
We helped break the service down into several smaller micro services, introduced a continuous integration process, deployed the solution in a kubernetes cluster in AWS Cloud and automated the deployment process.

Technology:
AWS cloud, kubernetes

Client Value:
Better maintainability

  • Ami Probashi – an essential application for the manpower industry in Bangladesh, launched a successful product during 2021. The team initially faced some issues with the scalability of their platform and also felt that there is room for improvement in the product management and development process. They reached out to Nifty Coders for consultancy.
  • Initially, we analyzed their system and development process. We realized that introduction of a proper product management system and practices would help smoothen out the release of the product.
  • We arranged some product management sessions and introduced product backlog management and configured related tools such as Jira to maintain and prioritized their backlog. We also introduced several essential development practices such as code review and designed a more manageable version control branching system.
  • We found that their initial backend consisted of a single monolithic service developed using Laravel hosted in a single AWS EC2 server. We decided to introduce microservice architecture so that through containerization and a deployment in Kubernetes platform so that it can be released, deployed and scaled more easily.
  • We also introduced CI/CD pipelines so that the container images can be built and deployed easily.
  • To test run, we decided to create a development environment first. Once everything worked successfully in the development environment, prior to going for production, we decided to create IAC version of the deployment platform using Terraform and used the same version of this IAC solution to create the production environment.
  • As the solution stabilized, we included several monitoring stack as part of the Kubernetes platform and started collecting metrics in the AWS Cloud Watch. This helped to monitor and troubleshoot performance issues and errors of the system in production.
  • We also developed a bespoke application for the Ami Probashi team called “Predeparture Orientation Module” – which is used across training centers in all 64 districts in Bangladesh to train and certify migrant workers. The application was developed using Python FastAPI – which is also a great example of how the introduction of microservice architecrue helped both teams to work on their technology of strength and still continue to enhance the same product suite.