Heroku has become our most used services for deploying web applications. I personally propose it as my first option and all the apps at Regos run over it. You might wonder what makes it so special for a company to decide running everything on top of it. I’ll explain 3 reasons why we do.
Definitively, the way we deploy applications on Heroku is the thing I like the most. Doesn’t matter if you have a continuous delivery set up or a manual process, as Heroku is basically a git repository where you can push your code, it’s super easy to upload your changes, trigger a new deploy and revert your changes in case something went wrong.
Heroku is also flexible and allows you to run some tasks before a new version is published so that you can get ready for production.
In the case of Regos our main language for the backend is Node.js, however, Heroku is prepared for a lot of technologies and the deploy is as simplified and complete as it is for Node.js
To be honest, the only technology that I have noticed problems with is Java, and was related to memory requirements.
Heroku is also a good option to start exploring microservices, in a sense of communication between servers running different technologies and focusing on specific things for each one. I personally prefer another set up for that, but the topic would be exhausting for new people if they want to learn about the architecture and also have to understand docker, something like kubernetesand so.
Add-ons and simplified administration
Once your application is running (and you can achieve that in 1 hour) administrate the “dyno“ becomes a very easy task.
From features like releases history and basic logging to advanced topics like performance metrics, Heroku provides a set of natively-enabled features that get complimented with add-ons that can be added just by clicking a few buttons.
Some add-ons that are almost always in our new Heroku dynos are:
- mLab MongoDB (Or your preferred database)
- Logentries (Or something else for advanced logging)
- Heroku Scheduler (Similar to cron)
Besides the add-ons, the environment variables management is great compared with the classic file in the server used by some frameworks.
If you haven’t tried Heroku before I really encourage you to give it a chance and see how it goes. In case you are using another service to run your applications, please share it with the community in the comment box below this post.
Regos Dev Studio is a product development company that builds add-ons for Jira, Confluence and LiveChat, combined with development of custom solutions in a variety of languages.