The client is a US-based entertainment startup whose mission is to seamlessly deliver high-quality content to its viewers. It offers video streaming services for content owners, network operators, and telecommunications, broadcasting, and media companies. The entertainment startup wanted to automate its infrastructure and build a robust architecture for the platform that could scale easily to accommodate growing traffic.
Client: Entertainment
Services: Cloud Native Streaming Platform
Year: 2022
Contents
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