History Heroku Platform
Heroku was founded in 2007 by Orion Henry, James Lindenbaum, and Adam Wiggins. Heroku is a cloud computing platform as a service (PaaS) that was initially developed to support Ruby language applications but has subsequently extended its support to numerous languages and applications that offer greater flexibility and agility when building applications in this development environment.
In December 2010, Heroku was acquired by Salesforce in a move that reached $ 212 million. Heroku is a fully managed PaaS so all underlying complexity such as fault response, security vulnerability monitoring, upgrade planning and actual upgrades are managed by the platform itself.
Heroku is a cloud service platform (known as PaaS or Platform as a Service), whose popularity has grown in recent years due to its ease of use and versatility for different projects.
This is one of the PaaS most used today in business environments due to its strong focus on solving the deployment of an application. It also allows you to manage the servers and their configurations, scaling, and administration. You only tell Heroku which backend language you are using or which database you are going to use and you only worry about the development of your application.
If you are developing apps in your day-to-day life, you must be aware that the impact begins when you start to have users, so it is important to launch your application without having infrastructure complications, managing servers, your databases, and the security that they must to have among other things.
In the market, there are a series of alternatives known as PaaS (Platform as a Service) or "Platforms as Services" which, in addition to being the evolution of IaaS (Infrastructure as a Service), such as Amazon EC2 where they give you a server and your you are in charge of provisioning and managing them with PaaS, you can forget about all these administration issues, because you directly use a platform that does it for you.
If this topic interests you, we will soon launch a course so that you can create your own PaaS using Microsoft Azure.
Who uses Heroku?
Heroku has a well-defined clientele: companies that want to stop worrying about infrastructure issues and just focus on development. These are usually large companies or startups that prefer not to invest in an operations team when they are at an early stage, and their priority should be to make a product that people want.
Heroku has two tiers, or levels, for people interested in learning: a free version similar to that of now. sh, which goes into “sleep” mode every 30 minutes without traffic, and another of 7 USD that competes with the basic service of 5 USD per month offered by Digital Ocean, but add the benefits of our servers being managed by us.
Before you begin to fully understand Heroku's benefits, it is important to know the history behind cloud computing and where Heroku fits in.
Cloud computing is a paradigm of information technology. It is a model that allows access to shared groups of configurable resources without interruption, such as computer networks, servers, storage, applications, and other services.
Cloud services can be delivered quickly with minimal management effort on the part of the company since the logistics of managing these services is distributed and works from the internet. A cloud is an attractive option for companies with diverse needs. However, the particularities of the business model and the needs of each project will determine which cloud service provider will be the most optimal for what you need in your company.
Heroku, a platform-as-a-service solution is generally easy to use. But it is more beneficial for companies in specific situations. Heroku has a free service model for small projects. In addition, there are tiered service packages for cases where more complex business needs need to be addressed.
Service-oriented architectures are the essence of cloud computing and can be separated by purpose.
The most prominent categories are Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS). Learn what IaaS and PaaS are .
Infrastructure as a service
IaaS architectures provide storage, networking, computing power, and other base computing resources where service users can deploy and run arbitrary software. The software may include operating systems (OS) and applications.
In this model, users do not manage or control the underlying cloud infrastructure. Instead, they have control over operating systems, storage, deployed applications, and possibly some pieces of network components.
Examples of IaaS architectures are Amazon Web Services and Microsoft Azure.
Heroku Runtime is the part of the Heroku Platform responsible for provisioning and orchestrating the containers where applications run, better known as dynos, as well as managing and monitoring their life cycle, providing the appropriate network configuration, HTTP routing, and more. functionalities. But what is a Dyno? Dynos are isolated, virtualized Linux containers that are designed to run code based on the user-specified command. They are in charge of supporting the execution of the different applications that are deployed on the Heroku Platform and have a scaling based on the resources demanded by each application.
One-off: They are usually short-lived or temporary processes, which can work independently of other dynos that are responsible for the global execution of the application.
The possible commands to be executed in the dynos include any type of process defined in the Procfile file of the application. This is a text file located in the root directory and it is the mechanism provided for the declaration of the different commands that the dyno will later execute.
We can highlight the following characteristics of the dynos:
Scalability The amount of Dynos assigned to an application can be modified at any time through the Heroku online command interface (Heroku CLI) or through the application dashboard.
Dynos size. Heroku offers different types of dynos with different processing and memory capacities.
Distribution and isolation. Being isolated, if an error occurred in the infrastructure of one of them, it would not affect other dynos or the application.
Heroku offers a wide variety of languages on which to build the applications that will run on the platform. It currently supports the following languages, with customized documentation for each of them on the official Heroku website:
Heroku elements can be defined as third-party cloud services that allow developers to immediately expand the capabilities and functionalities that their application needs according to both functional and technical requirements.
They are components that support an application in functionalities such as data storage, monitoring, analysis, data processing, log recording, error and exception control, testing, and many more.
Registration and Cost
To use the application you need to register.
In the case of the cost we have two options:
Free registration: through free registration, we can access the basic features, but we will not be able to enjoy all the possibilities offered by this platform.
Registration with payment: registration with payment allows us to access all the features of HEROKU.
It is also possible to register for free and pay for those services that are necessary for us.
In Heroku the code always runs inside a dyno which is the one that provides the platform with the computing capacity, it is a process that can be used to execute web content, to execute batch processes
- Dynos guarantees scalability in case an application goes viral (multiple dynos are automatically lifted)
- Dynos can be of three types: web, worker, or cron.
- WEB: is responsible for the development of the web application.
- WORKER: run the database.
- CRON: used for short-lived processes or Secure Shell connections (secure command interpreter).
- Dynos isolate from SSL communities, routing, or laundering.
- Dynos are transparent and can be lifted on other machines transparently.
- Heroku is a "polyglot", that is, Heroku allows the use of different programming languages.
- Heroku is supported internally by GitHub, but no additional payments are required.
- When transferring any application to Heroku, we must adapt any type of file recording to the filesystem that we are doing, and pass it on to other Amazon services.
- Java applications on Heroku do not need a servlet container.
- Heroku includes Logplex, assuming that a log is a stream of events.
- Register Heroku
- Make App name as you want
- Choose a region
- Deploy VPS
- Wait for 5 to 10 minutes
- On railway.app you need 10-20 minutes to deploy
Any question? write in comments
This tutorial is for educational purposes only
if this tutorial doesn't work please comment, akuh.net will update soon