Where to host your web app?
Application hosting is gaining popularity among both startups and corporations looking to save time and money. Cloud providers automate all the hard work: installing dependencies, setting up networking, SSL, load balancers, etc. Previously this would have required a whole DevOps team and considerable time. Today, modern solutions allow you to connect your repository, deploy it, and watch your app go live in just a few minutes.
The biggest challenge is choosing the right application hosting provider — one that’s perfect for your company or product in terms of price, functionality, and security. In this article we’ll be looking at two cloud providers: the well-known Heroku and the promising startup Hostman. We’ll compare both and assess the main pros and cons of each.
Heroku is a platform owned by Salesforce. It is a fully-managed platform that, according to their website, provides the simplest path to delivering apps quickly. It is based on a managed container system with integrated data services, and has over 100 built-in add-ons for monitoring, caching, networking, etc.
Hostman is a cloud platform that deploys and scales web apps and websites. It too is a container oriented system, with each instance launched inside its own Docker container.
Reliability and performance
Heroku runs on AWS and has proven to be stable, so you won’t have to deal with the occasional service outage. What you will have to deal with is your dynos (containers that run Heroku apps) going to sleep after every 30 minutes of inactivity. This can be a pain, but it only happens with free dynos. Another issue is that Heroku applications restart every 24 hours to maintain app health, so you’ll lose chases and other in-memory states, as well as your websocket connection.
Hostman runs on top of AWS and DigitalOcean, so your stability is assured. Hostman applications and services never fall asleep or become inactive, and Hostman also has zero downtime deploys. That way, even if something happens to your build, your app won’t go down.
Ease of use
Heroku automates much of the server setup and provisioning, allowing you to have your app live in a matter of minutes. Some might say that deploying with Heroku is easy. And it is, compared to AWS or Azure. The thing is, Heroku is one of the oldest cloud providers, and while this means they have lots of experience, they’ve also become unwieldy and can seem fairly complicated to beginners, as many things still have to be managed manually. But one of the things people like about Heroku is its CLI that allows you to manage your Heroku apps directly from the terminal.
Hostman is designed to be super easy. Every step is intuitive, so you won’t run into any problems — even if you’re deploying your app for the first time. You don’t even have to write config files. After deployment, Hostman automatically sets up an SSL certificate for all your domains and puts a CDN in place to deliver your content as fast as possible. There’s no CLI in Hostman, but apparently you don’t need one, because everything you do in GitHub is automatically updated in Hostman. Another plus is Hostman’s ability to launch Docker images from a Docker repository, or to build a custom image using a Dockerfile. All this allows you to deploy your app very fast, and also to easily edit, scale, and monitor.
To be honest, Heroku’s pricing tiers are rather complicated. It’s like a puzzle: you have to put the pieces together to see the final price. Basically, Heroku’s pricing depends on the number of dynos you need, and starts at $7/mo. There is a free tier, but it won’t be of much use for serious projects: it includes a single dyno instance, 512MB of memory, two process types, and your app will go to sleep after every 30 minutes of inactivity. The cost increases rapidly as you leave the free tier or scale your app vertically and horizontally with more dynos. In our experience, most applications require more than one dyno to run properly.
Hostman’s prices depend on the amount of RAM, SSD capacity, and CPU speed. On the website you can easily estimate the price you’ll pay, as tiers are conveniently determined by your app type. For frontend developers, Hostman lets you deploy 3 websites for free, while for backend developers they offer a 30-day trial. Regular price for apps or websites starts at $6/mo.
Heroku is a platform that has been helping developers for a long time, and enjoys well-earned credibility and popularity. But technology is constantly advancing, and developers are increasingly looking for Heroku alternatives. Heroku has a number of downsides, such as no native support for static websites, “sleeping” dynos, app restarts, and, of course, pricing.
Hostman is the new kid on the block, but is already gaining a following. Backed by the stability of AWS and DigitalOcean, Hostman supports the latest features, offers great scalability, and has straightforward pricing.