## The TL;DR
Heroku, founded in 2007, was (and is) one of the first cloud platforms as a service. Heroku makes it easy to build and run applications in the cloud without the need to set up or manage your own infrastructure.
Though easier than in the past, setting up your application today requires a good deal of configuration and maintenance
Standard infrastructure as a service offerings (AWS EC2, etc.) have lots and lots of knobs and buttons to nail down (flexibility comes at a cost!)
Heroku (and PaaS like it) greatly simplify everything for developers and makes it easy to deploy and run apps
Key Heroku features: auto deploy from GitHub, straightforward CLI, simple pricing, plugin ecosystem
In many ways, Heroku was ahead of its time: they were acquired by Salesforce in 2010 (12 years ago!), and since then have mostly gone downhill. It’s hard to find a product as beloved by developers as Heroku (and as tragic), so it’s worth understanding what they do.
This post is a guest spot from Danish Khan, a friend of mine with a lot of API building and using experience at companies like GitHub and Travis CI. If you like it, give him a shoutout on Twitter.
## Setting the stage: AWS EC2
The easiest – and perhaps most important – way to understand Heroku is to first understand what it looks like to deploy an app using the run of the mill infrastructure as a service offerings like EC2. EC2 stands for elastic compute cloud, all made up words, frankly.
🔮 Dependencies 🔮
If you aren’t familiar with AWS, it’s worth at least skimming the Technically AWS for the rest of us post before reading on.
🔮 Dependencies 🔮
Keep reading with a 7-day free trial
Subscribe to Technically to keep reading this post and get 7 days of free access to the full post archives.