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.