Blog: Leveraging Amazon Web Services to build a set of video streaming applications

One of our regular customers wanted to add video streaming functions to their existing web and mobile applications. As the developers of their original applications, we proposed to re-architect the application and move it to the Amazon cloud. The customer agreed, and we delivered a cost-effective solution for in-house video streaming, based on Amazon Web Services.

Watch the following video to learn more about our technical approach to the upgrade and development of this application.

Background on Amazon Web Services

Amazon brings a variety of web services you can use to solve any task in the cloud. They include storage and database services, computing resources, managing tools and many other appliances.

When you deploy an application based on Amazon Web Services (AWS), it is likely to meet the highest industry standards and remain cost-effective at the same time. That’s because of the ‘pay for what you use’ model or, say, dynamic pricing strategy. This is an ideal solution for startups because it doesn’t require significant capital investments.

For example, you don’t need to predict the hardware parameters for servers and storage because your cloud system will be fully scalable according to your needs. Your infrastructure grows automatically when you need it. Also, you can scale down the system to save money at the very moment you need it.

In addition, the Amazon cloud system brings the following benefits: worldwide content delivery, high availability and advanced security features.

Let’s take a look at the set of web services we implemented to deliver this awesome set of applications.

Rich multimedia features

We implemented the AWS Elemental media services to carry out the live broadcasting and video playback. The typical workflow with the AWS Elemental looks as follows.

AWS_Elemental_Workflow_MediaServices

That means we implemented the AWS Direct Connect service for data transfer from the customer’s live cameras, the Simple Storage Service (aka Amazon S3) to store the multimedia content, as well as the CloudFront content delivery network to deliver the videos to the customer’s applications.

In addition to that, we integrated the Amazon Elastic Transcoder to deliver the videos of the best possible quality to the each and every customer’s device. This cost-effective service allows for transcoding any video file according to the predefined or custom presets.

Over the years in application development business, we’ve learned that working with video content is a complicated task for mobile applications. With Amazon Web Services the developers would never face these issues again. That’s because all the resource-intensive tasks are now executed in the cloud. So, from the customer’s point of view, the video streaming service works smooth and lightning-fast on any device.

This Elastic Transcoder, as well as the other tasks, runs in the Amazon EC2 (that stands for Elastic Computing Cloud). There is no need to worry about the application security issues since the EC2 provides the built-in security features.

Taking full advantage of web services

Moreover, we’ve integrated Amazon Chime messenger features to the application, so that the users could chat with each other or even make video calls. In addition, we leveraged the Amazon Simple Notification Service to provide users with smart notifications on their smartphones. We integrated the Amazon RDS for MySQL database to keep user’s data and store the multimedia content.

Finally, to connect the customer’s applications to the Amazon cloud, we upgraded the settings of the existing nginx server. Then the full set of applications was ready to roll into production.

Customer’s benefits

As a result, our customer received upgraded and re-architectured applications for iOS, Android, Windows Phone, web, and desktop. Now, these apps meet the latest industry standards, while the newly implemented video streaming service became available from any devices, including mobile, web and desktops.

Despite adding the thrilling new feature of video broadcasting and hosting, we managed to keep the maintenance costs at the same level as before the migration of the application to the cloud.

Considering moving your application to the cloud? Feel free to contact DB Best to complete your application development or upgrade project.