Heroku

Heroku — облачная платформа как услуга (PaaS), поддерживающая несколько языков программирования. Являясь одной из первых облачных платформ, Heroku находится в разработке с июня 2007 года, когда поддерживался только язык программирования Ruby, но теперь также поддерживает Java, Node.js, Scala, Clojure, Python, PHP и Go[9]. По этой причине Heroku называют полиглот-платформой, поскольку она предоставляет разработчикам возможности для создания, запуска и масштабирования приложений аналогичным образом для большинства этих языков. В 2010 году Heroku была приобретена компанией Salesforce за 212 миллионов долларов[10].

Общие сведения
Heroku, Inc.
Тип Дочерняя компания
Листинг на бирже Не торгуются[1]
Основание 2007; 19 лет назад (2007)
Основатели Джеймс Линденбаум, Адам Виггинс, Орион Генри
Расположение Сан-Франциско, Калифорния
Ключевые фигуры Гейл Фредерик (технический директор)[2]
Бетти Джунод (директор по маркетингу)[3]
Виш Абрамс (главный архитектор)[4]
Отрасль Облачные платформа как услуга
Продукция Платформа Heroku, Heroku Postgres, Heroku Redis, Heroku Enterprise, Heroku Teams, Heroku Connect, Heroku Elements, Heroku Review Apps [5][6]
Владелец Salesforce.com[7]
Материнская компания Salesforce.com
Аудитор Ernst & Young LLP[8]
Сайт heroku.com

История

Heroku изначально была разработана Джеймсом Линденбаумом, Адамом Виггинсом[11] и Орионом Генри для поддержки проектов, совместимых с платформой Ruby Rack[12]. Разработка прототипа заняла около шести месяцев. Позже Heroku столкнулась с трудностями из-за отсутствия подходящих рыночных клиентов, поскольку многие разработчики приложений использовали собственные инструменты и окружения[13]. В январе 2009 года была запущена новая платформа, практически полностью переписанная за три месяца. В октябре 2009 года Байрон Себастьян присоединился к Heroku в качестве генерального директора[14]. 8 декабря 2010 года компания Salesforce.com приобрела Heroku, сделав её полностью дочерней компанией Salesforce.com. 12 июля 2011 года Юкихиро «Мацу» Мацумото, главный разработчик языка программирования Ruby, присоединился к компании в качестве главного архитектора по Ruby[15]. В том же месяце Heroku добавила поддержку Node.js и Clojure. 15 сентября 2011 года Heroku и Facebook представили Heroku for Facebook[16]. В настоящее время Heroku поддерживает базы данных Redis[17][18] в дополнение к стандартной PostgreSQL[19].

21 июня 2012 года стек Cedar, находившийся в бета-тестировании с 2011 года, стал стандартом для всех новых приложений. Он принёс с собой полиглотичную поддержку (включая Java, Node.js, Python), новую модель процессов на основе файла Procfile и возможность запускать изолированные одноразовые процессы (one-off dynos)[20].

В 2013 году развитие платформы сопровождалось публичной дискуссией о её производительности, вызванной статьёй «Heroku’s Ugly Secret» от компании Rap Genius, в которой утверждалось о снижении пропускной способности маршрутизирующей сетки[21]. В том же году состоялся релиз технологии контейнеризации Docker, которая в последующие годы оказала значительное влияние на всю индустрию развёртывания приложений.

7 апреля 2022 года Heroku подверглась серьёзной атаке на безопасность, когда злоумышленники получили токен доступа к учётной записи Heroku, используемой для автоматизации[22][23]. Heroku подтвердила, что атака затронула OAuth-токены, используемые для интеграции с GitHub, а также солёные и хэшированные пароли клиентов в мае 2022 года[22]. Затем токены OAuth2 были использованы в целевых атаках на неизвестное количество репозиториев GitHub, предположительно с целью поиска секретных токенов, при этом npm был основным репозиторием, который GitHub определил как цель[23]. Неясно, был ли установлен исходный источник утечки[24].

В августе 2022 года Heroku объявила о прекращении бесплатных тарифных планов, сославшись на мошенничество и злоупотребления как причину изменений[25].

В марте 2024 года на Kubecon в Париже Heroku объявила о переносе своей платформы на Kubernetes[26]. В продолжение этой стратегии, в 2024 году был представлен новый стек Heroku-24, основанный на Ubuntu 24.04, который предложил поддержку мультиархитектуры (amd64 и arm64)[27]. 2025 год ознаменовался для компании как дальнейшей трансформацией в AI PaaS, так и крупным сбоем в работе. 10 июня на платформе произошёл серьёзный сбой, вызванный непреднамеренным обновлением системы, что привело к недоступности многих приложений на срок до 24 часов[28]. Ранее, 30 апреля 2025 года, была прекращена поддержка устаревшего стека Heroku-20[29].

Руководство

По состоянию на конец 2024 года пост генерального директора (CEO) компании является вакантным. Предыдущий CEO, Боб Уайз, покинул компанию в ноябре 2024 года[30]. О назначении его преемника публично не сообщалось[31].

Ключевые руководящие должности в компании занимают:

  • Гейл Фредерик — технический директор (CTO)[32].
  • Бетти Джунод — директор по маркетингу (CMO)[33].
  • Виш Абрамс — главный архитектор (Chief Architect).

Корпоративная структура и финансы

Heroku является дочерней компанией, полностью принадлежащей Salesforce.com. Вследствие этого Heroku не является публичной компанией, и её акции не торгуются на фондовой бирже. Инвестиции в деятельность Heroku возможны косвенно через покупку акций материнской компании Salesforce, Inc. (NYSE: CRM)[34].

Salesforce не раскрывает в своей финансовой отчётности отдельные показатели для Heroku, такие как выручка, операционная или чистая прибыль, активы или расходы на НИОКР[35][36]. Финансовые результаты Heroku консолидируются в общей отчётности материнской компании, где доходы от платформы включаются в сегмент «Платформа и другие» (Platform and Other)[37]. Salesforce ведёт свою деятельность как единый операционный сегмент, что является причиной отсутствия детализации по дочерним компаниям[36].

Аудитором материнской компании Salesforce является Ernst & Young LLP.

Этимология

Название «Heroku» — это сращение слов «heroic» и «haiku»[38]. Японская тематика — дань уважения Мацу за создание Ruby. Создатели Heroku не хотели, чтобы название их проекта имело какое-либо определённое значение на японском или любом другом языке, поэтому они выбрали вымышленное имя.

Архитектура

Архитектура Heroku исторически развивалась поколениями. Изначально платформа была построена на стеке «Cedar», но в 2024—2025 годах начался переход на архитектуру нового поколения «Fir».

Классическая архитектура (поколение Cedar)

Приложения, работающие на Heroku, обычно имеют уникальный сетевой домен, используемый для маршрутизации HTTP-запросов к нужному контейнеру приложения[39] или «dyno»[40]. Каждый dyno распределён по «dyno grid» — сетке, которая состоит из нескольких серверов. Git-сервер Heroku обрабатывает отправку репозиториев приложений от разрешённых пользователей[41].

Все сервисы Heroku размещаются на облачной платформе Amazon Web Services (EC2)[42].

Архитектура нового поколения (Fir)

В 2024—2025 годах Heroku представила платформу нового поколения под названием «Fir», которая постепенно заменяет предыдущую архитектуру «Cedar»[43]. В основе «Fir» лежат современные облачные технологии: платформа работает на базе Kubernetes (в частности, AWS EKS) и использует Cloud Native Buildpacks для автоматической сборки приложений в OCI-совместимые контейнеры[44].

Этот технологический сдвиг коснулся и ключевых компонентов Heroku. Контейнеры dynos на платформе «Fir» работают исключительно на процессорах архитектуры ARM, таких как AWS Graviton[43]. Проприетарная система «dyno grid» была заменена стандартными механизмами оркестрации Kubernetes, где аналогом одного dyno выступает pod[45][46]. Хотя Heroku по-прежнему полностью размещается на AWS[47], новая архитектура активно использует такие сервисы, как EKS и AWS Global Accelerator, а dynos работают на ARM-инстансах EC2. Кроме того, в маркетплейсе появились дополнения, совместимые с платформой нового поколения «Fir», а технология Buildpacks эволюционировала в Cloud Native Buildpacks для этой архитектуры.

Примечания