Key Challenges
- In the existing setup, the client faced downtime for long hours, which compromised customer satisfaction
- Being a startup, the client couldn’t afford any downtime and didn’t have the necessary resources or experience in fixing production issues on the fly
- In addition, the company had to ensure that all its sites and apps would function smoothly with minimal disruption
- In fact, the business was spending too much time maintaining, managing, and ramping up the infrastructure, which drove costs up
- Additionally, all the resources going into building up the infrastructure weren’t being utilized to their full extent and didn’t yield any benefits
Solution
- Sparity built a reliable and scalable entertainment platform using DevOps as the underlying backbone.
- We examined the existing model using the DevOps maturity model, identified areas of improvement through a value-stream mapping exercise, and implemented DevOps practices across the entire IT portfolio
- Employed “shift left” testing approach to identify issues and enable quick rollback in case any problems are identified
- Designed the projects with multiple modules and containerized each module
- Migrated core processes to a micro service-based architecture leveraging Kubernetes, allowing developers to perform DevOps on an individual micro-service basis, speeding the production process
- Leveraged Amazon ECR as a Container Repository to host multiple versions of the product
- Setup Kubernetes with multiple nodes and distribute the pods among the multiple nodes & use the horizontal pod auto-scaler to scale independent modules based on the usage
- For one-click deployment, CI/CD principles were employed to construct an integrated pipeline
- Utilized Jenkins with AWS-ECR to configure CI-CD pipelines to automate the deployments, the latest images were pulled from ECR for deployment
- Employed Selenium for testing automation and Docker for automating deployment of the code
- Notifications were configured at the pipeline level to notify clients of new deployments and failures
- In the event of an unsuccessful deployment, rollbacks were configured so that the prior stable version would be delivered
Benefits
- Minimized Vendor dependency on AWS
- Nearly 100% availability and zero downtime
- Reduced time-to-market by 20%
- 30% of developers’ time is now spent coding instead of manual deployments and fixing bugs
- Automating regression test execution reduced testing effort by 85%
- Significant improvements in internal operations, as well as a reduction in administrative workload
- Entire infrastructure automation was achieved with the external team, and the technology team remains lean and focuses on building the product, enabling them to release new features quickly