SPC are serving live video lectures through their online web application. There would be around 3000 students who attend the live classes online concurrently, also there is a provision for watching offline recorded videos. SPC had the following challenges and the infrastructure required an overhaul to mitigate these issues.
- Streaming videos were lagging frequently and student experience was not good.
- Frequent buffering and delay of live videos.
- Video trans-coding for recorded sessions was a slow process and students need to wait for long hours to get access to the videos.
- All static contents like recorded videos and audio files were getting streamed from the server directly and the latency was creating a negative experience for the users.
- Security posture of the infrastructure was to be reviewed and adapted to the best practices.
Workmates helped SPC move to the cloud improve the content delivery and security posture of the overall application to adapt to cloud. The following are the key details of the solution.
- Migrated and deployed the entire application on AWS Cloud, the application is having features including delivery of offline video content, live classes, exam portal etc.
- Workmates implemented the MediaLive for broadcast-grade live video streaming and it provides built-in reliability and resiliency. The service transparently manages resources across multiple Availability Zones, and automatically monitors their health, so that any potential issues are detected and resolved without disrupting live channels.
- Provisioned 5 different channels for concurrent streaming to support multiple different classes running at the same time.
- AWS MediaLive, MediaPackage, MediaConvert is configured based on the customer requirement and we have deployed the same on AWS Mumbai Region to have reduced latency.
- To improve the security posture, SSE-KMS encryption is implemented for the S3 bucket and its content. Lambda@Edgefunctions are given IAM permissions to read from S3 and indirectly operate encryption/decryption using a CMK managed by KMS. These functions are triggered every time CloudFront makes a request to S3, and sign the request with AWS Signature Version 4 by adding the necessary headers.
- AWS Elemental Media convert is used in the solution to transcode the raw videos into videos of different resolutions.
- All system monitoring is done using AWS CloudWatch. AWS CloudTrail is used for recording API calls to AWS, the logs are kept for 90 days.
- CloudFront is also used for serving the dynamic content from the application server behind a ALB load balancer.
- Using CloudFront and Media Live channels, end users are getting high quality video of their live classes without buffering and minimum latency.
- Application performance increased compared to the on premises infra, customers are getting 2x the performance.
- Transcoding time reduced from hours to minutes. Using media live, users are able to get videos in multiple formats based on the internet speed.
- Using S3 and CDN we have completely eliminated buffering issues from the videos.
- Using WAF, Lamdba@Edge and CDN we have improved the overall security posture of the environment.