We had 300 subscribers, three Edge servers, one Origin server, a whole galaxy of multicolored browsers and a stream with a 480р resolution. Also, a task to develop a system for webinar hosting. And we needed to do all that, because once you get locked into streaming via WebRTC with low latency, the tendency is to push it as far as you can. The only question remaining concerned the selection of the cloud platform for server hosting. For there is no one more dejected, upset and angry than viewers watching a steam riddled with artifacts and freezes.

But on a serious note, the last two articles on the blog delved into WebRTC CDN deployment with load balancing and autoscaling based on Amazon Web Services and Google Cloud Platform, so now let us compare the two platforms and see which one is the best when it comes to the cost/quality ratio.

Brief overview of the platforms

google_cloud_platform_logo_cdn_load_balancer_Google_Cloud_Platform_GCP_AWS_Amazon_web_services_CDN_WCS_Balancer_AutoScaling_WebSocket_WebRTC

Google Cloud Platform is a suite of cloud computing services that runs on the same infrastructure as Google Search and YouTube. The service has been generally available since November 2011. The platform currently offers a wide range of cloud services and tools including various information operations and processes, software solutions, computing and data storage. Google Cloud Platform uses Compute Engine service for computing processes. Compute Engine supports most of the basic cloud services: container deployment, scalability and data processing. The platform provides access to a Cloud virtual network with Public IP subnet support, its own firewall and all the appropriate DNS settings.

AWS_logo_cdn_load_balancer_Google_Cloud_Platform_GCP_AWS_Amazon_web_services_CDN_WCS_Balancer_AutoScaling_WebSocket_WebRTC

Amazon Web Services is one of the original cloud platforms. Being a pioneer in the field it acquired a sizeable share of the market. AWS offers more than 160 fully-functional services that make it possible to build even the most sophisticated infrastructure from scratch. Amazon Web Services’ central computing service is called Elastic Compute Cloud (EC2), which, for many IT professionals, has become synonymous with scalable on-demand computing. For data analytics AWS offers a separate service called Quick Sight, which provides easy-to-use business intelligence with out-of-the-box templates at a fraction of the cost of traditional BI solutions. Data storage is handled by AWS Simple Storage Service, also known as S3. AWS Simple Storage Service is considered to be the industry standard for object-oriented storage. Data archiving and backup are done via Amazon Glacier service. With Amazon Web Services you can use Virtual Private Cloud to create VPNs with subnet configuration, routing tables, private IP ranges and network gateways. Additionally, Route 53 service is available for DNS web service implementation.

Difference in WCS deployment between Amazon Web Services and Google Cloud Platform

At the moment of this writing Web Call Server is not available as an instance template in GCP Marketplace. This reflects on the difference in licensing and deployment.

When deploying WCS based on AWS, customers can, depending on the project, choose to either launch a ready-made WCS instance from the AWS Marketplace with a built-in hourly license with just a few a few clicks, or start a virtual machine, manually install WCS and activate a standard monthly subscription. In the latter case, apart from the monthly subscription fee— which, according to the billing rules, depends on the maximum amount of servers used— the user has to pay the rental fee for the instance.

Billing_cdn_load_balancer_Google_Cloud_Platform_GCP_AWS_Amazon_web_services_CDN_WCS_Balancer_AutoScaling_WebSocket_WebRTC

We’d recommend using the hourly Amazon Marketplace license for short-term WCS launches (days, hours) and opting for the standard monthly license for long-term launches (months, years).

WCS deployment on the Google Cloud Platform requires manual setup on a virtual machine. To enable autoscaling and load balancing you would need to create an image of the virtual machine with an installed and configured WCS. In the case of GCP, standard monthly subscription is the only option available to users. Keep in mind that, as noted above, the monthly fee is calculated based on the maximum number of servers the license was used on. This makes it impossible to save money on subscription costs when doing short-term launches.

Difference in pricing

The functionality of the two platforms is virtually the same, but their pricing models differ greatly.

AWS offers a pricing calculator for every service on the platform. Because the pricing is calculated separately for each service, the resulting number of variables makes it difficult to obtain accurate estimates of the total cost of the infrastructure.

In turn, Google Cloud Platform makes offering “customer-friendly” prices a priority. That means bigger discounts and a more flexible approach to pricing.

Let us crunch the numbers and see which platform is better suited for setting up a CDN with load balancing and autoscaling for a one-hour-long webinar with 30 and 300 viewers.

The CDN architecture will be the same as described in previous articles on deployment:

  • one Origin server;
  • one Edge server incorporated into a load balancer allowing to increase the number of Edge servers to three or more during peak loads.

 

schema_cdn_load_balancer_Google_Cloud_Platform_GCP_AWS_Amazon_web_services_CDN_WCS_Balancer_AutoScaling_WebSocket_WebRTC

Let’s assume the Origin server hosts a video stream with 854×480 (480p) resolution and a 1000 kbps bitrate. Thirty viewers are watching the stream with no transcoding on Edge servers. In this case the number of subscribers is low, so we can minimize the number of instances used. (Prices used were valid at the time of writing. Because of flexible pricing policies, prices offered to you might be slightly different.)

Parameter Amazon Web Services t3.micro ( 2 vCPUs, 1 GB memory, HDD 20 GB); USD/hr Google Cloud Platform n1-standard-1 (1 vCPU, 3.75 GB memory, HDD 20 GB); USD/hr
WCS license cost $0.01 $75
Instance rental cost $0.011 $0.047
Disk space rental cost $0.025 GB/month $0.04 GB/month
Instance traffic cost $0.09 per GB $0.04 per GB
Total for 1 WCS instance $0.512 $75,847
Approximate volume and cost of CDN traffic 12.6 GB $1.134‬ 12,6 GB $0.504
Total cost (4 instances) $3.182 $303,892

 

Traffic within the CDN is free of charge on both platforms. External traffic from Edge servers to viewers in GCP is priced depending on the geographic location of data centers and customers. For our calculations, we use an average price of $ 0.04 per GB. Due to the cost of the WCS license, the total cost of a CDN based on Google Cloud Platform is quite high. In this case, even comparatively lower traffic costs do not play a significant role.

A projected increase in viewers calls for server capacity upgrades. For Edge servers, we recommend the following configuration: 16 vCPUs, 64 GB memory and 10 TB of traffic. Three hundred viewers will require three Edge servers.

Now let’s calculate the CDN deployment options for 300 users for one hour:

Parameter Amazon Web Services m5.4xlarge ( 16 vCPUs, 64 GB memory, HDD 20 GB); USD/hr Google Cloud Platform n1-standard-16 (16 vCPUs, 60 GB memory, HDD 20 GB); USD/hr
WCS license cost $0.768 $75
Instance rental cost $0.816 $0.76
Disk space rental cost $0.025 GB/month $0.04 GB/month
Instance traffic cost $0.09 per GB $0.04 per GB
Total for 1 WCS instance $2.084 $76.56
Approximate volume and cost of CDN traffic 126 GB $11.34 126 GB $5.04
CDN cost $45.36 $311.28

 

And for a month (720 hours):

Parameter Amazon Web Services m5.4xlarge ( 16 vCPUs, 64 GB memory, HDD 20 GB); USD/hr Hourly WCS license Amazon Web Services m5.4xlarge ( 16 vCPUs, 64 GB memory, HDD 20 GB); USD/hr Standard WCS license Google Cloud Platform n1-standard-16 (16 vCPUs, 60 GB memory, HDD 20 GB); USD/hr Standard WCS license
WCS license cost $0.768 *720 $75 $75
Instance rental cost $0.816 *720 $0.816 *720 $0.76 *720
Disk space rental cost $0.025 per GB / month $0.025 per GB / month $0.040 per GB / month
Instance traffic cost $0.09 per GB $0.09 per GB $0.04 per GB
Total for 1 WCS instance $1 115.06 $663.02 $623
Approximate volume and cost of CDN traffic 88.6 TB $8 164.8 88.6 TB $8 164.8 88.6 TB $3 628.8
CDN cost $12 625.04 $10 816.88 $6 120,8‬

 

As you can see, the standard WCS license proved to be more cost-efficient for long-term deployment. The total cost of deploying a WebRTC CDN with a load balancer and autoscaling when using a standard WCS license on AWS and GCP platforms depends on the cost of traffic for a specific geographic area. Due to relatively high costs of long-term running of CDN, we recommend deploying on Amazon Web Services if you already have infrastructure that is deeply rooted there. It will help you limit the number of platforms you use, and the flexible pricing policy might let you save money on CDN integration into an existing infrastructure. The same holds true for short-term deployments on the Google Cloud Platform.

Our calculations were just a rough estimate of the possible costs, due to pricing transparency issues both platforms have. The platforms might charge the customers for storing deployment images, backups, leases of domain names and external IP addresses, and more. However, our estimates still make it possible to roughly compare total CDN prices.

In the end, the choice of the platform for WebRTC CDN deployment with load balancing and autoscaling depends not only on technical and economic considerations, but also on personal preference. We hope this article will make your deliberations a little bit easier.

Good streaming!

Links

Demo

WCS on Amazon EC2