Heroku - 2 Présentation Heroku v 4

Before diving into the details, this lesson introduces Heroku and the prerequisites for the course. By the end of the course, you should be able to deploy your own web applications and use Heroku's features to save serious amounts of time. We will also cover Heroku's architecture, so you get a better idea of how things work under the hood, and finish with concrete real-world examples to illustrate what was explained.

Prerequisites

There are very few hard prerequisites, but the course is much easier to follow with some basic knowledge of Python or Node.js, because there will be code samples along the way. Knowing how Git works is also valuable, because a significant part of the work in Heroku is done through Git pushes.

What is Heroku?

Heroku is a Platform as a Service (PaaS). A PaaS is a cloud provider that offers hardware and software tools as a service over the internet, so developers can build, deploy and manage applications without owning or maintaining the underlying infrastructure. The hardware and software live on the provider's infrastructure; users do not need to install their own servers, operating systems or middleware in-house.

This matters because, traditionally, deploying a web application internally can require a full IT team to buy and install hardware, choose and maintain an OS, set up middleware like databases and web servers, define users and security, and plug the new app into existing monitoring tools. Heroku removes most of that work: you can deploy web APIs and use platform features that save a lot of time.

Dynos: the building blocks

Applications on Heroku run inside dynos. Dynos are Linux-based, isolated and virtualized containers, designed to execute code based on the commands you specify (for example a start script). You can scale your application to any number of dynos depending on the load you need to handle. Dynos are the essential building blocks of any Heroku app, whether the app is very simple or very sophisticated. Heroku then bills you according to the number and size of the dynos you actually use.

Heroku vs AWS

If we compare Heroku to AWS (Amazon Web Services), we discover that Heroku actually runs on top of AWS: the Heroku platform and the apps deployed on it live in the AWS cloud. So why pick Heroku over AWS directly? You should use Heroku if you do not have, or do not want, a dedicated team to manage and configure the infrastructure. Heroku is seen as far more approachable for beginners and startups: it is easier to learn and configure, and the many Heroku add-ons let you plug in databases, monitoring, mail and other services with a single click, saving more valuable time. The trade-off is that Heroku costs a bit more than AWS. AWS, on the other hand, is more attractive for heavy workloads like data mining or machine learning algorithms, where you usually want fine-grained control over compute resources. That is all for this presentation — see you in the next lesson.

Summary

This lesson introduces Heroku, a Platform as a Service (PaaS) that handles infrastructure management, enabling developers to deploy web applications without building and maintaining complex server infrastructure. It explains how Heroku uses dynos—virtualized Linux containers—to execute and scale applications, and compares Heroku with AWS, emphasizing Heroku's ease of use for beginners through its add-ons ecosystem and simplified deployment process.

Key points

  • Heroku is a PaaS offering cloud-based hardware and software tools via the internet, eliminating the need for teams to install and manage internal infrastructure
  • Dynos are virtualized, isolated Linux containers that execute application code and scale dynamically based on resource demands
  • Heroku runs on AWS infrastructure, serving as an abstraction layer that simplifies cloud deployment without requiring DevOps expertise
  • Heroku's one-click add-ons enable developers to extend application functionality quickly, saving development time
  • Heroku is more accessible to beginners and startups than AWS, though slightly more expensive; AWS is preferable for data-intensive workloads and machine learning
  • Prerequisites for the course include basic knowledge of Node.js or Python and familiarity with Git for understanding code examples

FAQ

What is a Platform as a Service (PaaS)?

A PaaS is a cloud service provider offering hardware and software tools via the internet, enabling developers to build and deploy applications without purchasing, installing, or maintaining their own internal infrastructure and middleware.

What are dynos and why does Heroku use them?

Dynos are virtualized, isolated Linux containers designed to execute application code according to user specifications. Heroku uses them as essential building blocks that can scale to any number based on resource demands, enabling highly scalable and flexible application deployment.

When should you choose Heroku over AWS?

Choose Heroku if you lack a dedicated infrastructure team, prefer simplicity and faster learning, or have lightweight applications. Choose AWS for data-intensive operations, machine learning algorithms, or compute-heavy workloads that require more flexibility and cost efficiency at scale.