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) cloud platform built on AWS infrastructure that enables developers to deploy and manage web applications without building or maintaining infrastructure. The course covers essential prerequisites (basic Python or Node.js knowledge, Git, and CLI), explains Heroku's core architecture using Dynos—virtualized Linux containers that scale based on demand—and compares Heroku with AWS to help developers choose the right platform for their needs.

Key points

  • Heroku is a Platform-as-a-Service (PaaS) that provides cloud-based hardware and software tools for developing and deploying applications via the internet
  • Dynos are virtualized, isolated Linux containers that execute code and scale dynamically based on resource requirements and user demand
  • Heroku is built on top of AWS infrastructure, meaning applications run on Amazon's cloud while developers benefit from a simplified, managed platform
  • Heroku includes numerous add-ons that extend application functionality with a single click, saving developers time and effort
  • Heroku is ideal for startups and novices due to its simplicity and ease of configuration, while AWS is better suited for heavy computing, data mining, and machine learning workloads
  • Using Heroku eliminates the need for dedicated IT teams to purchase hardware, install operating systems, configure middleware, manage security, and maintain monitoring systems

FAQ

What is a Platform-as-a-Service (PaaS) and how does Heroku fit this model?

A PaaS is a cloud service provider that delivers hardware and software tools via the internet, allowing developers to build and deploy applications without installing or maintaining internal infrastructure. Heroku is a PaaS that abstracts away infrastructure complexity, letting developers focus on application development and deployment.

What are Dynos and why are they important in Heroku?

Dynos are virtualized, isolated Linux containers designed to execute code based on user-specified commands. They are essential building blocks of Heroku applications and can be scaled to any number depending on resource demand, enabling highly scalable and flexible application execution.

Why choose Heroku over AWS?

Heroku is more accessible to beginners and startups because it is simpler to learn and configure, offers add-ons for extended functionality, and eliminates infrastructure management overhead. AWS is the better choice if you have complex infrastructure needs, large-scale data processing, or machine learning workloads that benefit from its more powerful and flexible compute options.