# Deploy CRA to Heroku

### Heroku [https://www.heroku.com/](#heroku-https-www.heroku.com)

**Heroku** — облачная мультиязычная платформа

### Для чего нужна платформа Heroku <a href="#dlya-chego-nuzhna-platforma-heroku" id="dlya-chego-nuzhna-platforma-heroku"></a>

Обычно приложения работают на выделенном сервере, а для сайтов используют хостинги. Но возможности хостингов ограничены. А выделенные серверы, такие как VPS, нужно настраивать: самостоятельно определять архитектуру, собирать приложение, заботиться о безопасности. Тратить на это ресурсы не всегда возможно.

В таких случаях используется Heroku. Платформа позволяет загружать любое приложение и не заниматься настройкой серверной части.

Heroku — Platform as a Service. Это означает, что платформа работает как сервис: предоставляет пользователю определенные функции и возможности, доступ к системам и ПО. При этом ее инфраструктура полностью скрыта.

За пользователя все делают сотрудники сервиса — эта работа остается «под капотом», а многие процессы автоматизированы. За безопасность, архитектуру и настройку сервера отвечают специалисты платформы.

Поэтому Heroku нужна:

* для размещения приложений и веб-сервисов;
* упрощения и ускорения цикла разработки;
* снижения потребности в сложной работе с сервером;
* работы с нагруженными приложениями;
* быстрого масштабирования проектов.

### Особенности Heroku <a href="#osobennosti-heroku" id="osobennosti-heroku"></a>

**Мультиязычность.** Heroku поддерживает Ruby, [Python](https://blog.skillfactory.ru/komu-i-dlya-chego-nuzhen-python/), [PHP](https://blog.skillfactory.ru/glossary/php/), [Node.js](https://blog.skillfactory.ru/glossary/node-js/), Java, [Go](https://blog.skillfactory.ru/glossary/golang/), Scala и Clojure.&#x20;

**Быстрое развертывание и легкое масштабирование.** Для добавления, развертывания и запуска приложения достаточно ввести несколько команд в консоли. Длительная подготовка и предварительная настройка не требуются. Работать с сервисом может начинающий специалист. Также использование Heroku экономит время разработчика при запуске и масштабировании нового проекта.

**Интеграция с сервисами.** Heroku «из коробки» поддерживает [Docker](https://blog.skillfactory.ru/glossary/docker/) и [Git](https://blog.skillfactory.ru/glossary/git/). Они доступны даже в базовых тарифах. Если программисту не хватает встроенных возможностей и собственных  проектов Heroku, он может воспользоваться надстройками — дополнительными модулями, которые открывают доступ к стороннему ПО.

**Бесплатный доступ для небольших проектов.** В Heroku есть начальный тариф Free. Он бесплатно дает пользователю 550–1000 часов работы диносов в месяц. В тарифе доступны два типа процессов и возможность добавлять пользовательские домены. Через 30 минут без активности сервис «засыпает»: этого можно избежать при выборе другого базового тарифа.
