When it comes to being an online platform, there are numerous ways on how this can be achieved.
Two of which are shared hosting and Heroku.
In this article, the advantages and disadvantages of each one over the other are highlighted to help you decide on which works best for your needs.
Before anything else, here's a differentiation of shared hosting and Heroku.
Shared hosting basically means that different resources share one physical server, hence the term "shared hosting".
While Heroku, on the other hand, is a platform that can be accessed online which lets users build, deliver, monitor and scale apps.
In terms of pricing, you can start with shared hosting with as much as USD 5-10 per month.
Even for the cheapest shared hosting plan I know, it starts from $2.88 per month ( from Namecheap shared hosting plan )
Heroku offers plans that are suitable for your needs - free, hobby, standard, and performance - prices of which vary from about USD 0 (Free dyno) - 500 per dyno/month, depending on which plan you will choose.
With Heroku though, the higher the volume of your applications, the higher the price which is most logical since it needs more space, bandwidth, and other scaled features.
Let's look at this at the management perspective.
With shared hosting, the site shall be run by other developers but not as much that you have no complete control over your website.
It's just that, you could depend on other people for it.
The same essentially goes for Heroku.
As a developer, you won't have to deal with the infrastructure of a web server ( devops ).
All you have to do is to choose a plan that will cater to the number of processing units or dynos that you will need and you're good to go to deploy your apps through Heroku toolbelt.
But you cannot exactly control your application's exact configuration.
Heroku had no cPanel.
Heroku has certain standards when it comes to hardware, operating system, firewall, versions, and the like in order to run smoothly.
If there's one thing that bothers website owners more than anything, it's an inaccessible page.
As for you, if you're running a business that's dependent on the accessibility of the site, then you might be losing money.
Therefore, it is important that the ability of a server to handle crashes remains intact.
However, this is not the case for shared hosting.
There will always be a possibility of a machine failure due to the number of websites accessing the same server ( many websites shared the same resource ).
There are several preventive measures for failure.
But no matter how reputable the web hosting provider is, sometimes, it just doesn't fully work crash-free.
Heroku, however, is a more secure service when it comes to crashes.
Though there shall be instances wherein you can find apps crashing after it has been deployed on Heroku, or that it's working locally but not on Heroku.
It usually happened due to your own fault when deploying your app on Heroku.
One that's common is the missing environment variable to set on Heroku app.
A web developer will know that one of the main resources to consider is the disk space.
With shared hosting, this will not be a problem because there really is no problem when it comes to getting enough bandwidth.
Heroku, however, is breaking grounds when it comes to storage.
You really won't need to bother with the infrastructure as it runs on the top of managed AWS service.
When it comes to size, you can easily get 20GB storage with shared hosting (Namecheap offered it for its old $9.88/year plan) and it'll be more than enough for a starter application or website.
If you're handling a big organization, then Heroku might not just be for you.
It is because the target market of this application is for an individual who just needs enough bandwidth.
This can be seen in the documentation aspects of Heroku because it is not too bulky.
Overall, it all depends on what do you need.
Like any other decisions out there, you have to weigh in which aspects will you need for your site.
If you need an easy set-up, infrastructure-less host, you can go with Heroku as long as you are okay with giving up some control because of Heroku’s standards as mentioned above.
However, if you’re on a budget and you don’t mind working on a shared server with some security and crash attacks, then you can go with shared hosting.
Again, it’s all just a matter of what you need and what you can compromise.
But if you are running WordPress, I would suggest you to go for shared hosting rather than heroku except you're ready to set up custom buildpack to run WordPress on Heroku.
Trust me, running WordPress on Heroku is just not a good combination for your business.