Wtedy zespoły zaczynają patrzeć w stronę AWS. Zrealizowaliśmy wiele migracji z Heroku do AWS dla klientów z fintechu, healthcare i SaaS. Ten post opisuje jak ten proces faktycznie wygląda, jakie decyzje będziesz podejmować i gdzie zespoły najczęściej się zatrzymują.
Dlaczego zespoły odchodzą z Heroku
Powody grupują się wokół kilku tematów. Koszt to najczęstszy wyzwalacz. Zasada którą słyszeliśmy wielokrotnie na branżowych meetupach: gdy rachunek za Heroku przekracza $10k/miesiąc, przepłacasz za to co dostajesz. Ale sam koszt nie jest jedynym powodem żeby migrować wcześniej.
Bezpieczeństwo i compliance to często prawdziwy forcing function. Model współdzielonej infrastruktury Heroku utrudnia wdrożenie izolacji sieciowej, prywatnych subnetów czy kontroli IAM jakich oczekują audytorzy. Jeśli musisz przejść SOC 2, ISO 27001 lub Cyber Essentials Plus, na Heroku napotkasz bariery które na AWS nie istnieją.
Trzeci powód to kontrola operacyjna. Brak konfiguracji VPC. Ograniczone logowanie. Brak natywnej integracji z narzędziami jak Datadog czy PagerDuty na poziomie infrastruktury. Brak możliwości uruchamiania zadań w tle wymagających więcej niż 512MB pamięci bez płacenia premium.
I wreszcie developer experience. Prostota Heroku to jego główny atut, ale staje się ograniczeniem gdy zespół potrzebuje środowisk preview powiązanych z pull requestami, automatycznego skanowania bezpieczeństwa w pipeline czy strategii wdrożeń wykraczających poza “push to main”. Na AWS dostajesz pełen zakres narzędzi QA i bezpieczeństwa na poziomie CI/CD: skanowanie SAST/DAST, inspekcja obrazów kontenerów, bramki policy-as-code i automatyczne testy wydajnościowe. To bogatsza warstwa automatyzacji której Heroku po prostu nie oferuje.
Jak usługi Heroku mapują się na AWS
Mapowanie nie jest jeden-do-jednego, ale tak wyglądają odpowiedniki głównych komponentów:
- Heroku Dynos → Amazon ECS na Fargate (lub EKS jeśli potrzebujesz Kubernetes). Fargate to najbliższy odpowiednik: skonteneryzowane serverless compute bez zarządzania instancjami EC2.
- Heroku Postgres → Amazon RDS for PostgreSQL. Zarządzany, automatyczne backupy, point-in-time recovery, Multi-AZ dla wysokiej dostępności.
- Heroku Redis → Amazon ElastiCache for Redis. Ten sam model zarządzany, lepsze opcje skalowania.
- Heroku Scheduler → Amazon EventBridge + taski ECS. Bardziej elastyczne planowanie z logowaniem i logiką ponawiania.
- Heroku Config Vars → AWS Systems Manager Parameter Store lub Secrets Manager. Szyfrowane, wersjonowane, z kontrolą dostępu przez IAM.
- Heroku Pipelines → GitHub Actions, GitLab CI lub AWS CodePipeline. Musisz to zbudować sam, ale zyskujesz pełną kontrolę nad procesem budowania i wdrażania.
- Heroku Add-ons → Natywne usługi AWS lub samodzielnie zarządzane alternatywy. Większość add-onów (logowanie, monitoring, email) ma bezpośrednie odpowiedniki na AWS lub lepsze integracje z narzędziami zewnętrznymi.
Proces migracji
Każda migracja z Heroku do AWS którą zrealizowaliśmy przebiega według podobnych faz:
Myślisz o migracji z Heroku?
Umów bezpłatną 30-minutową rozmowę. Omówimy Twój setup i przygotujemy wstępne porównanie kosztów.
Zmiana organizacyjna
To jest część którą większość technicznych przewodników pomija. Migracja z Heroku do AWS to nie tylko zmiana infrastruktury. To zmiana workflow dla całego zespołu developerskiego.
Na Heroku jeden deweloper może wdrażać, skalować i zarządzać wszystkim. Na AWS zyskujesz moc, ale też odpowiedzialność. Ktoś musi być właścicielem kodu infrastruktury. Ktoś musi recenzować zmiany w Terraform. Zespół musi rozumieć jak promowane są środowiska i jak zarządzane są sekrety.
Na wstępie ocenimy obecny workflow Twojego zespołu i zarekomendujemy minimalne wymagane zmiany organizacyjne potrzebne do efektywnej pracy na AWS. Czasem to oznacza przeszkolenie deweloperów z nowego flow wdrożeniowego. Czasem dodanie gotowych skryptów. Celem jest dopasowanie modelu operacyjnego do wielkości i dojrzałości zespołu, nie narzucanie procesów enterprise’owych 10-osobowemu startupowi.
Typowe błędy
Niedoszacowanie przebudowy CI/CD. Na Heroku wdrożenie to git push. Na AWS musisz zbudować i utrzymywać pipeline. Zespoły które nie zabudżetują na to czasu kończą z kruchymi ręcznymi wdrożeniami które niweczą sens migracji.
Ignorowanie sieci od początku. Heroku ukrywa warstwę sieciową. Na AWS musisz zaprojektować VPC, subnety, security groups i zdecydować o publicznym vs prywatnym networkingu. Pomyłka na tym etapie oznacza bolesny refactoring później.
Migracja wszystkiego naraz. Podejście fazowe (najpierw staging, potem dev, potem produkcja) wyłapuje problemy zanim dotkną użytkowników. Widzieliśmy zespoły próbujące migracji big-bang które spędzały tygodnie na debugowaniu problemów. Podejście fazowe wyłapuje je w godziny.
Nieprawidłowa konteneryzacja. Kopiowanie Procfile z Heroku do Dockerfile bez zrozumienia różnic prowadzi do kontenerów które działają lokalnie ale niekoniecznie na ECS. Health checki, graceful shutdown, obsługa sygnałów i routing logów wymagają uwagi.
Harmonogram i koszty
Typowa migracja z Heroku do AWS dla pojedynczej aplikacji z 3-5 serwisami trwa 4-8 tygodni. Bardziej złożone środowiska z wieloma aplikacjami, współdzielonymi bazami danych lub wymaganiami compliance mogą zająć 2-4 miesiące.
Koszt infrastruktury AWS po migracji jest zazwyczaj 40-60% niższy niż równoważny rachunek za Heroku. Zależy to od tego jak agresywnie dobierzesz rozmiar zasobów. Przed rozpoczęciem migracji zbudujemy Ci szczegółowy model kosztowy abyś znał oczekiwane koszty z góry. Sama migracja to jednorazowa inwestycja która zwraca się w ciągu 3-6 miesięcy wyłącznie przez obniżone koszty hostingu.
Kiedy zostać na Heroku
Nie każdy zespół powinien migrować. Jeśli masz mały zespół rozwijający jedną aplikację z niskim ruchem i bez wymagań compliance, prostota Heroku jest warta premium. Migracja ma sens gdy:
- Miesięczne koszty Heroku przekraczają to co zapłaciłbyś na AWS za ten sam workload
- Potrzebujesz izolacji sieciowej, prywatnych subnetów lub łączności VPN
- Wymagania compliance (SOC 2, ISO 27001, Cyber Essentials Plus) wymagają kontroli infrastrukturalnych których Heroku nie zapewnia
- Musisz skalować się poza to co model dyno Heroku wspiera efektywnie
- Chcesz pełnej własności infrastruktury zdefiniowanej jako kod
Jak możemy pomóc
Zrealizowaliśmy migracje z Heroku do AWS dla firm fintechowych potrzebujących integracji PAM, platform healthcare wymagających zgodności z NHS i produktów SaaS wyrastających z modelu skalowania Heroku. Każda migracja jest dostarczana z infrastrukturą jako kodem, zautomatyzowanym CI/CD i udokumentowanymi runbookami. Docelowa architektura jest projektowana zgodnie z AWS Well-Architected Framework. Nowe środowisko spełnia najlepsze praktyki bezpieczeństwa, niezawodności, wydajności i kosztów od pierwszego dnia.
Zobacz nasze case study migracji z Heroku do AWS po szczegółowy przykład jak zmigrowaliśmy platformę fintechową z 3-4 godzinami przestoju i 40%+ redukcją kosztów.
Chcesz ocenić czy migracja ma sens dla Twojego setupu? Nasze usługi migracji do chmury zaczynają się od niezobowiązującej oceny Twojego obecnego środowiska Heroku.