So you want to learn Heroku? well, so do I, the other day I had to deploy an app to Heroku and I thought I could do it easily as I had already done the process before, what happened is that I spend the following couple hours with no idea which command to run and a lot of errors to deal with so I decided to create this series for me and anyone wanting to get started with Heroku and deploy their first application in few steps.
First Heroku has a very good detailed Documentation (which I will be referencing to often) and you should check that out as well for more information but this series should give you everything you need to know to have your application hosted on this amazing platform. Let's get started!
This will be a series, a long one 😉, and it will be made intentionally long as each article will be a short one focusing on a single aspect of Heroku. This will be an advantage to you as you will be learning one thing at a time, also able to skip to the section that interest you.
That said let's focus on understanding what is Heroku in this first post.
So What exactly is Heroku?
Heroku is a platform as a service (PaaS) that allows developers to quickly build and deliver applications.
But what does this mean? first let's explain what is a platform as service (PaaS)
Platform as a service: PaaS is a cloud computing model where the provider offers a platform where customers can develop and run apps without building and maintaining cloud infrastructures required to launch an app.
This means that with Heroku you don't have to worry about servers, networking, installations, operating systems or any of that configuration, you will only worry about your code and others will be handled by Heroku platform. PaaS is more like renting a car where you don't have to worry about car maintenance or any other mechanical settings but it's still be up to you to drive it to where you want to go.
This doesn't mean that apps running on Heroku don't require servers or any other cloud infrastructures in fact Heroku is based on AWS and that's where all Heroku applications will be hosted but all that underlying configuration is abstracted from the user for ease of use.
Heroku has built in support for git and many programming languages including Node.js, Python, Ruby, Java, PHP... and it offers a free plan where developers can push their application and get them running in matter of minutes and that's what we will be doing in this series.
Now that you have an idea what Heroku is in the next article we will be looking into how to get started with Heroku by creating an account starting interactions in the command line.