stringtranslate.com

Heroku

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

История

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

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

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

В марте 2024 года на выставке Kubecon в Париже компания Heroku объявила о переходе на платформу Kubernetes. [19]

Этимология

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

Архитектура

Схематическое изображение работы платформы Heroku

Приложения, которые запускаются на Heroku, обычно имеют уникальный домен , используемый для маршрутизации HTTP-запросов в нужный контейнер приложения [21] или dyno. [22] Каждый из dyno распределен по «сетке dyno», которая состоит из нескольких серверов. Git- сервер Heroku обрабатывает push-запросы репозитория приложений от разрешенных пользователей. [23]

Все сервисы Heroku размещены на платформе облачных вычислений Amazon EC2 . [24]

Продукция

Платформа Heroku
Сеть Heroku запускает приложения клиента в виртуальных контейнерах, которые выполняются в надежной среде выполнения. Heroku называет эти контейнеры «Dynos». Эти Dyno могут запускать код, написанный на Node, Ruby, PHP, Go, Scala, Python, Java или Clojure. Heroku также предоставляет пользовательские пакеты сборки, с помощью которых разработчик может развертывать приложения на любом другом языке. Heroku позволяет разработчику мгновенно масштабировать приложение, просто увеличивая количество dyno или изменяя тип dyno, в котором работает приложение. [25]
Heroku Постгрес
Heroku Postgres — это облачная база данных (DBaaS) для Heroku на основе PostgreSQL . Heroku Postgres предоставляет такие функции, как непрерывная защита, откат и высокая доступность; а также форки, последователи и клипы данных.
Heroku Redis
Heroku Redis — это настроенный Redis от Heroku, который обеспечивает лучший опыт разработчика. Он полностью управляется и предоставляется как услуга Heroku. Он помогает управлять экземплярами с помощью CLI, связывать данные с Postgres для получения бизнес-информации с помощью инструментов SQL и позволяет клиенту получить видимость производительности.
Команды Heroku
Heroku Teams — это инструмент управления командой, который обеспечивает совместную работу и контроль для объединения разработчиков, процессов и инструментов клиента с целью создания лучшего программного обеспечения. С Heroku Teams команды могут самостоятельно организовывать, добавлять и управлять участниками, получать детальный контроль с разрешениями на уровне приложений, а также использовать инструменты совместной работы, такие как Heroku Pipelines. Он также обеспечивает делегированное администрирование и централизованный биллинг.
Heroku Энтерпрайз
Heroku Enterprise предоставляет услуги крупным компаниям, помогая им улучшить взаимодействие между различными командами. Он предоставляет набор функций, таких как детальный контроль доступа, федерация удостоверений и частные пространства для управления процессом разработки корпоративных приложений, ресурсами и пользователями.
Heroku Connect
Heroku Connect позволяет пользователям создавать приложения Heroku, которые можно легко интегрировать с развертываниями Salesforce в масштабе. Это достигается за счет бесшовной синхронизации данных между базами данных Heroku Postgres и организациями Salesforce.
Элементы Heroku
Heroku Elements предоставляет пользователям дополнения (инструменты и сервисы для разработки, расширения и эксплуатации приложения), Buildpacks (автоматизирующие процессы сборки для предпочитаемых языков и фреймворков) и Buttons (инструмент для подготовки, настройки и развертывания сторонних компонентов, библиотек и шаблонов одним щелчком мыши).

Ссылки

  1. ^ "Обзор приложений Heroku - wikieduonline".
  2. ^ «Heroku Review Apps теперь общедоступны». blog.heroku.com . 18 апреля 2016 г.
  3. ^ "О Heroku". Stack Overflow . Получено 2 марта 2016 г.
  4. ^ Уотерс, Робин (2010-12-08). «Salesforce.com покупает Heroku за 212 миллионов долларов наличными». TechCrunch . Получено 2024-08-28 .
  5. ^ "Адам Уиггинс" . Получено 22 октября 2016 г.
  6. ^ https://www.linkedin.com/in/orion-henry-9056727 [ самостоятельно опубликованный источник ]
  7. ^ Стартап Heroku на Ruby on Rails получает 3 миллиона долларов, Tech Crunch, 2008-05-08
  8. ^ Heroku Cloud Platform, TheTechnologyVault, 11 января 2023 г.
  9. Байрон Себастьян из SourceLabs присоединяется к Heroku в качестве генерального директора, Venture Beat, 2009-10-14
  10. Создатель Ruby, Matz, присоединяется к Heroku (статья), Ruby Inside, 2011-07-12
  11. Facebook сотрудничает с Heroku, предлагая разработчикам бесплатный хостинг для образцов приложений, Social Times, 15 сентября 2011 г., архивировано из оригинала 06.03.2016 г.
  12. ^ «Шесть вещей, которые следует учитывать при использовании Redis на Heroku». Redis Labs. 9 ноября 2012 г. Получено 2 марта 2016 г.
  13. ^ NoSQL, Heroku и вы (веблог), Heroku, 20 июля 2010 г.
  14. ^ "Rails Heroku Tutorial". Проект RailsApps . Получено 2 марта 2016 г.
  15. ^ ab Alspach, Kyle. "Кибератака Heroku-GitHub включала украденные пароли клиентов - Протокол" . Получено 29.07.2023 .
  16. ^ ab Duckett, Chris. "Heroku начнет сброс пароля пользователя почти через месяц после кражи токена GitHub OAuth". ZDNET . Получено 29 июля 2023 г.
  17. ^ "GitHub взломан, данные npm украдены после Heroku, токены Travis-CI использованы не по назначению". The Stack . 2022-04-19 . Получено 2023-07-29 .
  18. ^ Wiggers, Kyle (25 августа 2022 г.). «Heroku объявляет о планах по ликвидации бесплатных планов, обвиняя в этом «мошенничество и злоупотребления». TechCrunch . Получено 25 августа 2022 г.
  19. ^ «Heroku объявляет о перенастройке платформы на Kubernetes» . Хероку. 27 июня 2024 г.
  20. ^ "Термин является слиянием "Hero" и "Haiku". | Hacker News". news.ycombinator.com . Получено 2016-08-05 .
  21. ^ "Что такое контейнеризация приложений (app containerization)? - Определение с сайта WhatIs.com" . Получено 22 октября 2016 г.
  22. ^ "Dynos и Dyno Manager - Heroku Dev Center" . Получено 22 октября 2016 г.
  23. ^ "Развертывание приложений Node.js на Heroku - Heroku Dev Center" . Получено 22 октября 2016 г.
  24. ^ "Heroku Security" . Получено 1 декабря 2017 г. .
  25. ^ Миддлтон, Нил; Шнееман, Ричард (ноябрь 2013 г.). «Как работает Heroku». Heroku: Up and Running. Севастополь, Калифорния: O'Reilly Media, Inc. ISBN 978-1-4493-4138-1. Получено 2024-03-16 .

Внешние ссылки