Why I adopted Heroku


Posted on Jul 31, 2020


featured image

This post is built from a developer perspective where the main task we do daily is (obviously) development. So if you are a sysadmin guy, Heroku will like you at the beginning but soon you will have your hands tied since flexibility is not the main feature.

It’s not a complete guide and probably won’t be enough to make a decision but sure will be useful to start to investigate a bit more about this great platform.

What is Heroku?

heroku

Heroku is a platform as a service (PaaS) acquired by Salesforce in 2011.

Let’s say it’s a smart hosting for your web apps (*)

(*) Even you can deploy a daemon (a.k.a Heroku worker), I would bet that most of the software deployed on Heroku are web applications.

You developed your web application and then what?

thinking

You created a beautiful web application and now you want to publish it under your own domain http://www.myawesomeapp.com. You have a couple of options.

One option is to hire a Virtual Private Server (VPS).

Another option is to hire a dedicated server. Both of them require some sysadmin knowledge because most of the time you get (literally) an OS with enough software to boot.

For sure that has some advantages such as total control of security and performance. The main disadvantage I see is you lose focus on development to pay attention to backups, security, deployments, etc.

Concentrate on development, not in deployment

Even if you build your own blog where you document your experiences, you need a 99% uptime so you will have these main tasks:

  • Development
  • Configure the production environment
  • Deployment
  • Writing
  • Backups
  • Scale. Ok, only if you write lots and interesting articles :)

It seems lots of tasks just for a personal blog, right?

Most of those tasks you can delegate to Heroku and concentrate more on development.

  • Great support
  • Nice uptime
  • A large list of Add-ons
  • A free plan to start learning and to have your testing environment (unless you do stress testing).

Disadvantages

Flexibility. Is not like a VPS where you are able to customize lots of things such as web server configuration and even the OS.

But wait… is not too expensive?

The answer depends on the value you add to your time and headaches.

Since most of the time we don’t have a sysadmin guy on our team, we will have to that work, taking time from our main task: development our cool app.

My experience with Java and Heroku

I’m involved in the Java world for 10+ years and even more if I count years from the university. However, I started to use Heroku a couple of years ago. In the past, I used to configure a server from scratch, install Tomcat, Glassfish, MySql, Iptables, Mail server (very painful), Apache, PHP, JRE, etc. Even it’s hard, it’s also fun to learn

Currently, I’m involved in some projects with Java plus Heroku and It feels very comfortable to do deployments just with one command or click without configuring so much stuff.

Security

If you deal with sensitive data such as Salesforce org data, Heroku offers private spaces that have (among other things) special configuration for those cases.


java javascript nodejs heroku review dev
Search
Side Widget
You can put anything you want inside of these side widgets. They are easy to use, and feature the new Bootstrap 4 card containers!