Let’s be honest. Amazon Cloud is a great tool, as well as Google Cloud, and Microsoft Azure! They all have every possible combination of services, platforms, tricks, and mechanisms. It works really good, every tool is well documented and software developers love it.
Your software runs in the cloud and you feel safe! The only downside is a PRICE.
Before we move along, I have to mention, If you are a startup, actively growing your platform in the cloud, think about next. We will talk about optimization, and as you all remember, premature optimization of the system leads to what? Correct, a highway to hell! First, stabilize your project, get steady customer flow and then continue reading.
Now let’s assume you are a mature startup or profitable company, your services are running in the cloud, but you’ve noticed that bills for the cloud are hefty.
Here is an example (I will talk about Amazon cloud, but it relates to Azure and Google cloud in the same manner)
We are developing video streaming platforms, hosting them on Amazon Cloud and it works great. But as you might expect “video streaming” means a lot of traffic being transferred every day back and forth. The video takes storage space, and when you get a lot of viewers you pay for lots of traffic.
Now let’s assume we stream 20 minutes, 2 times a day, 5 Mb (megabit) bandwidth video (same like Youtube 720p), and we have in average 100 viewers. In a month that will generate 4.29 TB (terabytes) of traffic.
Amazon instance (server) would be next:
Actually, we don’t need to run it all the time, but for simplicity let’s assume it’s 24/7 ready. Monthly price $0.085 x 24 hours x 30 days = $61
Traffic expenses, according to AWS calculator would be:
Yes, it is $395 for all this traffic.
Instance + Traffic = $61 + $395 = $456 per month.
Ok, now the question is, if we can decrease server expenses? Why not try virtual servers from other vendors. Let’s investigate. Here is one of the possible solutions. If our users are in Europe, I would check Hetzner first. In USA there are similar providers available.
Hetzner has cloud services, so you pay for what you use. Of course, they don’t have such sophisticated platform as Amazon, but we still can utilize it. Here is a similar instance as we bought from Amazon:
Same amount of virtual CPUs, the same amount of Ram, and wait…. What? Do they provide 20 TB of traffic into this package? Looks like they do. Wait a moment, what is the price? €4.90 per month, that is $5.60 in USD. That’s ten times cheaper than Amazon instance we used. What’s the catch?
Well, there are some. Hetzner virtual CPU might be slower than Amazon virtual CPU, but we can fix that by taking a dedicated virtual CPU plan for Hetzner, like this one:
Such instance for sure will perform like Amazon c5.large or even better and it has twice more RAM. And our 20TB of traffic is also here. The price is €19.90 which is $23 in USD. That’s almost 3 times cheaper than Amazon c5.large.
Are there any other caveats? For sure there are. You need to remember that sometimes server can fail and you need to know how to backup/restore it, or you can run 2 instances at the same time. If you have very specific network needs, probably you need to check it too. In other words, you need to investigate and make a proof that such alternative provides what you need.
For our streaming example, the CX21 instance (€4.90) works great and video streams nicely. What are our savings?
Amazon monthly bill $456, Hetzner €4.90 / $5.60. Ok, ok, let’s use 2 instances to be safer, so Hetzner is $12, add 20% on top for backups, and Total is $15.
Amazon $456 vs Hertzner $15, it is 30 times difference in this specific case.
Let’s recap. Cloud service providers work and deliver great results. The downside is a high price. When you have a stable software system and think that you pay a lot, it’s time to carefully check alternatives.
Need help with that? Talk to us! We’ll examine your system and generate ideas on how to optimize server expenses and infrastructure
Ping me on: email@example.com