What Hosting Provider Suits You: AWS vs DigitalOcean vs Hetzner [2022]

CPS logos connected to a server icon with plain lines

Out of dozens cloud hosting providers in Fora Soft we usually consider and build our projects on three: AWS, Digital Ocean, and Hetzner. None of them is universal so in this article we’ll dive deeper into what specific needs and requirements each can cover.

To know the cost of any of the servers listed for your project, use our Server cost calculator. It considers how many streamers and viewers you anticipate, and what quality your streaming service requires.

But first…

What is a cloud service and a cloud service provider (CSP)?

We describe cloud service as any kind of infrastructure that a third-party provider hosts and makes available to users through the internet. Basically cloud services make the process of data delivery from a user’s device to the processing systems easier. 

All it takes for a cloud service to work is software and hardware. Literally like any other IT thing. What makes it different is that a device, connection to the network, and an OS is enough to access cloud services. 

Cloud service providers use their own data centers, physically located processing systems we already mentioned, and host platform services for customer organizations. Now in detail about 3 of them we use.

AWS (Amazon Web Services)

AWS is the world’s most broadly adopted cloud platform with over 200 fully featured services from data centers globally. Basically a market leader. It serves 245 countries, has 27 already existing and 7 servers coming soon, all around the globe, on all continents.

It’s safe to say they offer the broadest set of technical opportunities. Among their clients are fast-growing startups, largest enterprises, and leading government agencies. 

Why does AWS make a great solution

AWS is highly autonomous in its scalability. That means, the system ongoingly monitors changes in the system it hosts, detects the exact moment when it requires scalability and ensures that automatically. 

That results in a smaller chance of system crashing, better performance, and smoother user experience. 

Also what they have to show off is a plethora of IaaS’s (Infrastructure-as-a-Service) and PaaS’s (Platform-as-a-Service). These are ready-made solutions on a pay-as-you go basis. 

Colorful icons in a cloud shape with AWS logo on top
AWS tools

But obviously, such a smart and complex solution costs money. The AWS cost is the highest out of 3 providers we cover in this article. To not waste a pretty penny, it’s better to think twice if your product really needs that kind of scalability opportunities. One of the ways to figure it out is to ask yourself how many users you expect in the first few months. 

In a nutshell, AWS is a great solution if your company is large and you anticipate a lot of users at once, or if you need more complex, yet ready-made solutions. 


DigitalOcean is another American solution with 14 data centers in total in Asia, Europe, and North America. Their positioning states 3 main principles: keeping it simple, at affordable price, yet high-quality. And they live by that, mostly focusing on developers’ needs. 

Why does DigitalOcean make great solution

Their pricing is one of the most affordable among other providers in general. Still, they show brilliant results in terms of performance. Their network speed is 1Gbps and the start-up time is only 55 seconds. 

As for keeping it simple, DigitalOcean products have neat user-friendly interfaces with one-click deployments. 

DigitalOcean interface and functionality

The downside of DigitalOcean is a not-so-big choice of functionalities and instruments. At least, compared to AWS. That means, in case there’s no suitable tool for your project’s specific requirements, you’ll have to develop your own. 

But after all, the DigitalOcean server cost is almost 7 times less. 

Long story short, DigitalOcean is a great pick if it’s your first release or an MVP and you’re looking for a cheap yet reliable cloud.

Hetzner Cloud

Hetzner Cloud is a German provider with data centers in 4 locations: in Bavaria and Saxony lands in German, in Helsinki, and in the state of Virginia, USA. 

Why does Hetzner Cloud make a great solution

Hetzner Cloud has all the essentials required to start an app, yet they keep prices low and affordable.  

So basically Hetzner, in terms of pricing and effectiveness, is a European alternative to DigitalOcean. As a bonus, it’s not that well known yet, so it’s even cheaper. Perfect for first releases and small startups. 

Since Hetzner locates its data centers mostly in Europe, you might want to consider building on it if you know for sure 90% of your users will be browsing from Europe. Otherwise you can end up losing in speed and overall user experience.

Another con is lack of agileness in choosing servers and tools, same as it is with Digital Ocean. 

Final thoughts

To sum it all up, here’re the essentials to consider when picking a CSP out of 3 listed:

  1. How many users do you expect to use your product at once?
  2. How fast do you plan to grow?
  3. Where are your users browsing from?

And now a quick summary on what each CSP:

You might want to build your product on AWS if you have to serve hundreds of thousands of people at once, have a big enterprise, or plan to grow fast.

DigitalOcean is a great pick for you if you’re looking for a low cost, yet reliable media server provider.

Hetzner Cloud will make it even cheaper, yet more suitable for Europe (but not limited by it). 

These are the main providers we work with, but if you have your own favorites or non of them seems to be a match, we can turn to any other CSP.

To calculate your monthly server costs, use our Server cost calculator. And to know the overall price of a project, contact us at or our Head of Sales Vadim on Skype: vadim_prushchik


How to Test WebRTC Stream Quality? Use StreamTest Extension [Free]

StreamTest UI with the article title

As someone specializing in video chat and video streaming services, our QAs (quality assurance angels) used to deal with the problem of how to test a live stream quality with a load of tools and apps, all different for each metrics. But now there’s this all-in-one solution — StreamTest

It’s a Google Chrome Extension, a testing tool for WebRTC video chats like Google Meet, iMind, Whereby, and ProVideoMeeting. Not sure you’re on a WebRTC stream? Enable StreamTest and if you’re trying to test a non-WebRTC stream, the extension will respond with an error. 

a stream page with a non WebRTC stream error
Non-WebRTC stream error

It’ll give you a live status on 7 essential parameters with an insight on the connection and stream behavior. 

Quick note for non-tech folks:

If you have no technical background and all of these indicators are just letters, figures, and colors to you or don’t want to analyze them yourself, just screenshot (Windows: Win + Shift + S; MacOS: Command + Shift + 3) the status you got immediately, download the report as a .csv file, and show both to your tech specialist. 

We are already working on making the plugin accessible for you, so you could test your live streams easily, guys. So follow us on LinkedIn to stay turned. 

TestStream report UI
Video conference live status

Frame rate or just FPS. The higher the better. To calculate it the plugin measures the time between two frames and calculates the average for the last X frames.

Video and Audio delay. Delay is never welcome, so the lower the better. Basically it’s a sum for jitterBufferDelay and average round trip time. Totals are relevant for the last 3*X seconds, where X is the time set in setInterval.

Packet loss. The lower the better. It shows if any packets were lost on the way to the server, as a percentage. Calculated as (packetsLost stat / packetsSent stat) * 100%. 

Resolution. The higher the better. It mostly depends on the participant’s camera and the device you’re using to chat. 

Freezes and stalls. The lower this indicator is the better. It shows how much % of your call was wasted due to lags. Consider something as freeze if the comparison (!wasDocumentJustHidden && dt > Math.max(dtTimestampsQueue.getAverage() * 3, dtTimestampsQueue.getAverage() + 0.150)) is true. In simple terms freeze happens if the time of the current frame is greater than the average time of frame existence multiplied by 3. And at the same time is greater than the average time of frame existence for at least 150ms. 

Bitrate. This indicator is responsible for how smooth the picture is, the higher the indicator the smoother the picture.

Video and Audio codec — for a developer to know how the data is compressed.

In the status you’ll also notice that the indicator measures are colored in Red, Yellow, or Green. Here’s what the colors mean:

Table withe report metrics coloring
StreamTest live status colors meaning

Besides the data we described previously, there’re also SDP offer, answer, iceConnectionState, iceGatheringState, and WebRTC Stats info in the downloadable .csv report. It will give the bigger picture of the connection and the stream behavior. 

StreamTest starts collecting data once you enable it. To do it, click your right mouse button on the other participant’s stream and tap “Test stream” in the context menu. It will stop collecting the data once you close the extension / start testing another stream / go to the extension main screen. 

To test live streams, download this WebRTC tester for your Chrome from the official store here. For free.