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:
- Ruby on Rails i inne aplikacje Ruby
- Node.js (Express, Koa, NestJS)
- Python (Django, Flask)
- Java (Spring, Play)
- PHP (Laravel, Symfony)
- Go
- Scala
- Clojure
- Rust
Model cenowy
Heroku oferuje cztery główne kategorie planów:
- Free – darmowy plan z ograniczeniami czasowymi (tzw. “sleep mode” po 30 minutach braku aktywności) i jedną darmową bazą PostgreSQL.
- Hobby – przeznaczony dla małych projektów i prototypów; brak automatycznego usypiania.
- Professional (Standard/Performance) – dedykowane dynosy o zwiększonej mocy i stałym czasie działania; opcje skalowania poziomego i pionowego.
- 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.