In this blog, I want to discuss the cost of having services in the cloud. In particular, it’s about Platform as a Service (PaaS), because I only want to be able to deploy my service and don’t want to care about managing the servers. I’m going to use my page speed comparison app for this, which I recently moved to Heroku after my Google Cloud trial ran out.
Going from $130 per month to $27. Heroku, is that a play on words for Hero KO !?!
Usually, anyone interested in building an app is first concerned with what programming language or how do I find the right company or devlopers to build it, however, after the initial investment of building the software you are going to have to pay something, even if it’s just the electric for a server and the SSL certificate.
Let’s start with the architecture I opted for with Google. The web application is on Firebase which has been left there for the time being and the web services were consolidated during the move.
I’m going to look at this without too much regard for the best practices for production setup and concentrate on a just get the app into the cloud. The service on Google was High Availability (HA), so I will do same in the examples. Also, note there is hardly any traffic on my example app.
The cost for hosting my web services for one month could have been $130, but luckily Google is generous and provided a trial service.
The following comparison is not completely fair because I am not showing the CPU or Memory being provided, but, actually I don’t care, I just want the lowest cheapest compute that was available. This is an estimate had I done a similar HA setup using an Amazon Linux nano instances and it might have been about $78. If you are in the first year (free tier) it would only have been only $38.
There is a big difference in the two platforms I’ve discussed so far. I did briefly look at Amazon’s container service, which might have been even cheaper, but got fed up with the complexity and tutorials.
On Google, I would be using Docker Containers and Kuberentes to deploy, with Amazon to automate I’d probably have to use Elastic Beanstalk. These cloud providers have many additional features and services that make them very relevant for small businesses when they need to do more than just hosting an app, for example running automated batch jobs on data. I’ve not investigated the data storage options on Heroku, which is the platform I’m about to cover, but, what makes it interesting is how easy it was to deploy and scale services.
I can’t remember how I came across Heroku which came up on my radar a couple of months ago. Their tutorials are easy to follow, and as I already said, the speed in which you can move a web service over is amazing – it only took me an afternoon. Keeping in line with the above example, the monthly cost for their standard plan would be $75 for three containers, called dyno’s (which is equivalent to the setup I had), and there is an additional $20 for managing the SSL endpoint.
I actually signed up to using the Heroku hobby plan, so currently my costs are only $27 per month; 7$ for one dyno and $20 for SSL. I will have to upgrade to standard if I need more compute resources, but for the moment I am very satisfied. Only maybe a little happier if maybe I were still with the Amazon free tier, then this might only be about 5$. If you have come across a similar service, I can review, please do leave a comment below.