Heroku

Heroku — облачная мультиязычная платформа как услуга (PaaS), основанная на управляемой контейнерной системе, с интегрированными службами передачи данных и развитой экосистемой для развертывания и запуска приложений.

Логотип Heroku

Для чего нужна платформа Heroku

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

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

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

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

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

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

Есть нюанс. На цену влияет количество ресурсов, которые использует клиент. Поэтому Heroku не всегда подходит для хайлоад-проектов: обеспечивать работу сервера может быть дешевле, чем использовать платформу. 

Начните свой путь в IT 

Освойте разработку, аналитику данных, Data Science или другие востребованные профессии — получите все курсы для входа в IT по цене одного.

Узнать подробности

Как работает Heroku

Диносы. Работающие в Heroku приложения выполняются изолированно от других — они заключены в специальные контейнеры, которые называются диносами или дино (dyno, dynos). Диносы позволяют создать легковесную независимую среду и развернуть в ней приложение так, чтобы настройки его среды не конфликтовали с другими. Одно приложение может использоваться несколькими диносами, и проект легко масштабируется под задачи разработчика.

Типы процессов. У диносов есть шаблоны — прототипы, на основе которых создается контейнер, как деталь по чертежу. Именно благодаря им приложения в Heroku легко масштабировать.

  • Каждый тип процесса отвечает за свою часть работы и не затрагивает другие модули. Это помогает параллелизму: процессы разделяются и задачи не смешиваются. Так можно избежать конфликтов.
  • Диносы легко масштабировать. Если программа потребует больше ресурсов, увеличить рабочие мощности можно в несколько кликов. Для этого нужно добавить необходимое количество новых диносов с такими же типами процессов, как в используемых до того.

Как пользоваться платформой

  1. Зарегистрироваться на официальном сайте Heroku и выбрать тариф. Для начинающих подойдет стартовый Free: дорогостоящие тарифы нужны для высоконагруженных приложений и коммерческого использования.
  2. Скачать официальную консольную утилиту The Heroku Command Line Interface (CLI, также известна как Herokuapp) на сайте сервиса. Для ее работы необходим установленный Git.
  3. Открыть приложение в командной строке, написать команду heroku login -i, а затем ввести данные от своего аккаунта. Запуск команды без -i откроет браузер. Войти в аккаунт можно и через него.
  4. Перейти в папку, где хранится приложение, и ввести команду heroku create. Heroku автоматически обработает приложение.

Особенности Heroku

Мультиязычность. Heroku поддерживает Ruby, Python, PHP, Node.js, Java, Go, Scala и Clojure. Изначально платформа создавалась для работы с Ruby on Rails, поэтому в старой документации часто встречается упоминание этой связки. Сама платформа Heroku работает на Debian и Ubuntu, дистрибутивах Linux.

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

Дополнительные возможности. Среди проектов Heroku — собственная СУБД SQL database as a service, программное обеспечение для связи команды разработчиков между собой, сервисы автоматизации для программ на разных языках и многое другое. Платформа работает и с noSQL-решениями. Инструментами можно пользоваться вместе с основным облачным сервисом.

Интеграция с сервисами. Heroku «из коробки» поддерживает Docker и Git. Они доступны даже в базовых тарифах. Если программисту не хватает встроенных возможностей и собственных проектов Heroku, он может воспользоваться надстройками — дополнительными модулями, которые открывают доступ к стороннему ПО.

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

Подробная документация. На сайте Heroku Dev Center доступны пошаговые руководства и туториалы. В них подробно описаны особенности работы с Heroku для приложений на всех поддерживаемых языках. Официальная документация доступна на английском и японском. 

Найдите свой путь в IT 

Освойте разработку, аналитику данных, Data Science или другие востребованные профессии — получите все курсы для входа в IT по цене одного.

  • Курсы по Data Science, аналитике данных, программированию и ИТ
  • Безлимитное переключение между курсами
  • Доступ к профориентационному курсу 

Узнать больше

 

Другие термины на букву «H»

Hadoop
HTML
HTTP-протокол

Все термины

(рейтинг: 5, голосов: 4)
Добавить комментарий