Searce Helped Kissht Drive Business Agility by Using AWS EKS Services
Challenges
Kissht is a personal loan lending mobile application and their existing architecture is a monolithic one where multiple related functionalities and features are grouped together. Client was facing multiple challenges with this architecture.
Scaling the infrastructure for a specific functionality and feature in a segment service is not possible.
Making application code changes to one specific feature triggers the build pipeline for the entire segment service leading to the downtime of the entire segment during version upgrades and rollbacks.
Auto scaling of the EC2 instances in response to the increased traffic is not quick, eventually leading to request failures.
Searce Solution
Keeping in mind the challenges of the client on scaling concerns on the specific feature/functionality, application code changes to one specific feature triggers the build pipeline for the entire segment and more time is being consumed to start EC2 instances in the auto scaling group. Searce suggested the client go with microservices architecture splitting a specific feature/functionality into a dedicated microservice. To orchestrate the microservices Searce has suggested the client to go with EKS which perfectly replaces their existing ASG while maintaining the compatibility with other AWS services like S3, DynamoDB, SQS, SNS, Lambda functions and RDS.
Searce has architected and implemented the below solutions to address all the client concerns.
- Suggested the client to split the application code of the segmented services into multiple microservices and asked to come up with their respective Dockerfiles for each microservice
- Searce has created brand new EKS clusters for Test and Prod Environments using the terraform code
- Searce installed AWS native and 3rd party tools like AWS Load Balancer Controller, Hierarchical Namespace Controller, external DNS Controller etc.
- Searce suggested and implemented Hashicorp Vault to store the application and DB secrets following the best security and high availability practices
- Searce created helm charts for the customers microservices including all the security and high availability best practices
- Searce configured Jenkins in the EKS cluster to perform CI/CD operations. Container images creation from the Dockerfile is performed in the CI stage and updating the images semantic version details in the helm chart and updating the helm chart happens in the CD stage
- Searce also implemented security tools in CI/CD to scan the static code, docker images and scan the application in run time making it a DevSecOps pipeline
Business Impact
- Microservices promote agile development practices by dividing the application into smaller, independent services. This allows Kissht development teams to work on different services concurrently, enabling faster release cycles and the ability to quickly respond to changing business requirements
- Post Modernizations enabled horizontal scaling by allowing individual services to scale independently based on their specific needs. This flexibility allows the Kissht team to handle increased traffic and workload more efficiently
- In a monolithic application, a failure in one module brought down the entire system. Microservices, on the other hand, isolate failures to individual services, preventing widespread system disruptions. This isolation enhanced their overall application architecture’s resilience and availability
- By leveraging Hashicorp Vault we are able to enhance the security of the applications by storing the sensitive information such as secrets, api keys and passwords outside the application code
Industry: FinTech
Location: India
Workload: EKS, S3, VPC, Route53, CodeBuild, CodePipeline, CodeCommit