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 |
| Основатели | Джеймс Линденбаум, Адам Виггинс, Орион Генри |
| Расположение | Сан-Франциско, Калифорния |
| Ключевые фигуры |
Гейл Фредерик (технический директор)[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].
Руководство
Корпоративная структура и финансы
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 исторически развивалась поколениями. Изначально платформа была построена на стеке «Cedar», но в 2024—2025 годах начался переход на архитектуру нового поколения «Fir».
Приложения, работающие на Heroku, обычно имеют уникальный сетевой домен, используемый для маршрутизации HTTP-запросов к нужному контейнеру приложения[39] или «dyno»[40]. Каждый dyno распределён по «dyno grid» — сетке, которая состоит из нескольких серверов. Git-сервер Heroku обрабатывает отправку репозиториев приложений от разрешённых пользователей[41].
Все сервисы Heroku размещаются на облачной платформе Amazon Web Services (EC2)[42].
В 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 для этой архитектуры.
Примечания
Ссылки
- heroku.com — официальный сайт Heroku