About the cloud
About the cloud
I don't like it. I always have to be the one who nags, grumbles and sees problems. But really now: the cloud? Edge computing? What's that supposed to be?
The truth is that the vast majority of projects don't belong in "the cloud". The vast majority of projects belong on a virtual server (VPS) for a few euros a month.
And that could be the end of this article. But let's perhaps go into a little more depth.
Cloud services
There is no such thing as "the cloud". There are generally only "other people's servers". And these servers can be structured differently. There are providers who offer a specific service, such as the provision of a database server, which is billed by the minute. Other services are not (only) charged by the minute, but by the amount of data or computing time.
And then there is another cloud, in which virtual servers, which can contain all kinds of things, can be set up quickly and, in case of doubt, discarded just as quickly. At the end of the day, no matter which model you choose, it's other people's servers. And that has always been the case. Because let's be honest: have you really bought your own server for your blog and bought space, power and network connectivity in a data center for it?
Of course not. You looked for a webspace provider or rented a dedicated server. Either way: other people's servers.
But now there are also services "in the cloud". And that sounds great: you no longer have to maintain your database server yourself. You only pay for what you use. You also don't have to worry about backups or do anything else. All's right with the world, isn't it?
And this is where this article could end, because this is actually one of the great promises of cloud services: Move your workload to the cloud and don't worry about needing to scale or even having your service go down.
And it works. Often. Well. Even "the cloud" can fail, but it would be naïve to believe that this is impossible anyway. But even without assuming this naivety: "the cloud" can be a good choice.
Free of charge?
The offers from cloud hosting providers read too good to be true. And whenever I'm showered with vouchers or can use extensive features for free, I take notice. And indeed, services like AWS often offer budgets that you can use up first. With your small project, you will probably never be able to use up this budget. However, if a project really goes through the roof, it becomes expensive. Or if you make a mistake and, for example, a large file can be publicly downloaded thousands of times.
Won't happen? Well... I'm not so sure.
Here's an example, which is may or may not based on a true project.
The possibly existing project has about 10,000 page views per day and uses an unspectacular PHP-based software stack with a small database in the background.
Service | AWS | Hetzner Cloud |
---|---|---|
Load Balancer | $16.20/month | $5.01/month |
Web Servers (x2) | $29.96/month | $10.02/month |
Database Server | $12.24/month | $8.58/month |
Data Transfer | $39.15/month | 20 TB included |
Total | $97.55/month | $23.61/month |
Please note that these costs are only estimates, and the actual costs can vary depending on usage and other factors. The prices for Hetzner Cloud servers are converted from Euros to USD using an approximate exchange rate of 1 EUR = 1.11 USD. Please don't yell at me, telling me that my numbers are wrong. It's an example.
The vendor lock-in
Well? You've used up your free trial or your start-up budget and now you have to pay real money? That can hurt. And in some circumstances it will, especially since a modern web application often no longer consists of just a single service. The problem is that it can sometimes be difficult to transfer your data from the proprietary services of the various clouds (Amazon RDS is one example) to another provider. Can you see the problem? There comes a point when you can hardly free yourself from a dependency, as your cloud provider can dictate prices to you because large parts of your project would have to be rewritten to run on other environments. Well. So I see that as a problem.
Is "the cloud" a good choice for you?
But the much more interesting question is: Is "the cloud" a good choice for you? Ask yourself: Which of your projects actually needs almost unlimited scalability? And is "edge computing", the promise of cloud service marketing departments that your content will be distributed around the world and therefore closer to every user, really a feature that your project needs most urgently?
Really?
And in contrast, have you thought about what happens if you misconfigure access rights and budget limits? In my case, I usually spend more time (and feel worse) configuring budgets and creating access profiles than configuring a server via Laravel Forge, Simpli or Ploi.
And this is where it gets interesting for me: Both Laravel Forge and Ploi allow you to create small virtual servers with providers such as the Hetzner Cloud (where virtual machines are automatically created and made available to you) and configure them with the services you need. They come with everything you need to install and operate a Laravel, NodeJS app or WordPress. And all for a price of €4.51 per month + costs for the service such as Simpli (€5 per month), Ploi (€0 per month for one server, €8 per month for up to 5 servers, €13 per month for up to 10 servers and €30 per month for an unlimited number of servers) or Forge (€12 per month).
You can really kick a virtual private server (VPS) like this until it cries out for more resources. And even if things get tight, you can also scale a VPS and, at least in the Hetzner Cloud, scale it back down again once a short-term rush of users has passed. Hetzner only offers to adjust the CPU and RAM during an upgrade and not to increase the size of the hard disk. This means you can switch back to the cheaper tariff at any time, as a hard disk can always be increased in size when scaling, but cannot be reduced again.
Server administration is annoying
Sure. Not everyone feels comfortable on the shell. And of course there are many threats out there that can send a cold shiver down the spine of an inexperienced system administrator. Heartbleed? Poodle? Log4Shell, Regression? Ouch.
Yes, a Linux server is not always easy to maintain. And even apart from the possible security vulnerabilities, it can also happen that the web server suddenly stops working properly for no immediately recognizable reason.
But don't worry. The various Linux distributions have become more stable and accessible overall. And tools such as Simpli, Forge or Ploi also allow you to quickly find and rectify possible errors. Automatic updates, backups and monitoring solutions are also available. Doesn't sound bad? It's not.
And now?
So, what's the point?
I hope I was able to show that a VPS is still a good alternative to "cloud" services without enormous effort. I hope that you can see that the "old world", the "mystical knowledge" surrounding the administration of servers can be - and must be - daunting, but that it can be seriously mastered nowadays. I would be delighted if you think about this article for your next project and then perhaps decide on a 4€ VPS from Hetzner.