What are key characteristics we considered for a video social network startup?
When our customer asked the Sotatek team to migrate Voicy.network from Microsoft Azure to AWS Cloud due to some reasons. We spent several days surveying old system and customer’s financial situation, we have decided the following keys characteristics:
- Cost Optimization: Cost is very important to a young startup
- Performance Efficiency: User’s experiences need to be a priority for a social network, if poorly quality, end-users will leave you.
Cost optimization is a top priority for any young video social network startup, and leveraging serverless technologies like AWS ECS Fargate and Lambda can be a game-changer.
With ECS Fargate, you pay only for the exact amount of compute resources your application needs, eliminating the need for over-provisioning servers and reducing operational costs. Lambda allows you to execute code in response to specific events, so you're only billed for the actual compute time used, making it incredibly cost-efficient. Together, these serverless solutions enable your startup to dynamically scale based on demand, ensuring you're not overspending on infrastructure while providing a seamless user experience. By embracing serverless architecture, you can allocate more resources to innovation and content creation, driving the growth of your video social network while keeping costs in check.
In this case, we use ECS fargate in auto scaling mode to transcode original video to expected resolution video by AWS Media convert service. The amount of ECS tasks for transcodes depend on how many events are in the SQS queue, so we don't need to waste the cost for idle ecs resources any more. Similarly, Lambda will be invoked only when the application needs to calculate Top sound, Top video, Trending, Leaderboard statistics.
Performance Efficiency, the key charateristic of Voicy is video uploading and transcoding. To do that, uploading function: cloudfront pre-signed url is best option to achieve it, and AWS ECS Fargate allows you to autoscale your API, automatically adjusting resources to match the incoming traffic, ensuring low-latency responses and a seamless user experience. Simultaneously, leveraging Amazon Simple Queue Service (SQS) for video transcoding ensures efficient processing of video files, with the ability to scale transcoding jobs horizontally as needed. This combination of ECS Fargate and SQS enables your application to handle bursts of API requests and video transcoding tasks effectively, maintaining optimal performance while managing costs efficiently.
That is all!!!