encyklopedia.space

Heroku

Typ Platforma jako usługa (PaaS)
Właściciel Salesforce.com
Data powstania 2007 rok
Główna siedziba San Francisco, Stany Zjednoczone
Technologie Ruby, JavaScript (Node.js), Python, Java, PHP, Go, Rust, Docker, Git
Model cenowy Plany darmowy, płatny (Free, Hobby, Professional, Enterprise)

Historia

Usługa Heroku została uruchomiona w 2007 roku jako platforma oparta na języku Ruby. Projekt powstał w ramach startupu Heroku, Inc. założonego przez Jamesa Lu, Adama Wellinga i Oriona Henriksen. Początkowo wykorzystywała Cedar jako bazowy stos techniczny, a w 2010 roku wprowadzono drugi stos – Cedar-14, a następnie Heroku-20, które umożliwiały uruchamianie aplikacji w kontenerach opartych o Linux.

W 2010 roku platforma została przejęta przez Salesforce.com za około 212 milionów dolarów, co pozwoliło na dalszy rozwój i integrację z ekosystemem chmury obliczeniowej.

Architektura i model działania

Heroku działa w modelu chmurowym i zapewnia uruchamianie aplikacji w tzw. dynos – wirtualnych jednostkach uruchomieniowych opartych na Linux. Każdy dyno jest izolowany, a ich liczba i rozmiar można skalować ręcznie lub automatycznie przy użyciu mechanizmów CI/CD i autoskalowania.

  • Buildpacks – zestawy skryptów konwertujące kod źródłowy na gotową do uruchomienia paczkę. Domyślne buildpacki obsługują Ruby on Rails, Node.js, Python, Java, PHP, Go i inne.
  • Git – najczęściej używany sposób wdrażania aplikacji; programiści wypychają kod do repozytorium git@heroku.com:app.git, a platforma automatycznie uruchamia proces budowania.
  • Add‑ony – zewnętrzne usługi dostępne poprzez jednopunktowy interfejs, np. bazy danych PostgreSQL, pamięć podręczna Redis, usługi SendGrid czy monitorowanie New Relic.

Obsługiwane języki i frameworki

W ramach projektu open‑source Heroku utrzymuje zestaw buildpacks, dzięki którym platforma obsługuje:

Model cenowy

Heroku oferuje cztery główne kategorie planów:

  1. Free – darmowy plan z ograniczeniami czasowymi (tzw. “sleep mode” po 30 minutach braku aktywności) i jedną darmową bazą PostgreSQL.
  2. Hobby – przeznaczony dla małych projektów i prototypów; brak automatycznego usypiania.
  3. Professional (Standard/Performance) – dedykowane dynosy o zwiększonej mocy i stałym czasie działania; opcje skalowania poziomego i pionowego.
  4. Enterprise – rozwiązania klasy biznesowej, z możliwością integracji z prywatnymi sieciami (VPN) i dedykowanymi komponentami bezpieczeństwa.

Ceny zależą od liczby dynos, ich rozmiaru (Standard‑1X, Standard‑2X, Performance‑M, Performance‑L) oraz dodatkowych usług (bazy danych, pamięci podreka, monitoring).

Zalety i wady

Zalety

  • Prosty proces wdrażania – git push heroku master.
  • Automatyczne skalowanie i zarządzanie infrastrukturą.
  • Rozbudowana biblioteka add‑onów oraz integracja z popularnymi narzędziami CI/CD (np. GitHub Actions, Travis CI).
  • Wsparcie dla wielu języków i frameworków.
  • Środowisko przyjazne deweloperom – dostęp do CLI oraz panelu administracyjnego.

Wady

  • Wyższy koszt w porównaniu do uruchamiania własnych serwerów w AWS czy GCP.
  • Ograniczenia w konfiguracji niskopoziomowej (np. brak dostępu do root w dynosach).
  • Problemy ze stabilnością w darmowych planach (usypianie dynos, ograniczenia czasu działania).
  • Uzależnienie od jednego dostawcy (vendor lock‑in).

Znaczenie w ekosystemie

Heroku odegrało kluczową rolę w popularyzacji modelu PaaS i przyspieszyło rozwój startupów technologicznych, które mogły szybko wdrażać prototypy bez potrzeby zarządzania infrastrukturą. Dzięki prostemu workflow i integracji z GitHub, platforma stała się standardowym wyborem w programach inkubacyjnych oraz w edukacji programistycznej.

Zobacz także