Dwie platformy SaaS na AWS od zera
Infrastruktura AWS od pustego konta dla platformy SaaS B2B, a od 2026 tak samo zbudowana druga, mniejsza platforma. Na pierwszej deploy trwa 5–6 minut zamiast 45, rachunek jest o 30% niższy niż na pierwotnej infrastrukturze na gotowych usługach AWS typu Amplify, a dostępność w skali roku wynosi 99,99%.
- Branża
- SaaS B2B
- Okres
- od 2023, druga platforma od 2026
- Stack
- AWS Organizations, ECS, Aurora PostgreSQL, RDS PostgreSQL, Terraform, GitHub Actions
- rachunek za AWS względem pierwotnej infrastruktury
- –30%
- dostępności w skali roku
- 99,99%
- środowiska z jednego kodu Terraform
- 3
infrastruktura
- Przed: usługi AWS wyklikane ręcznie (np. Amplify), bez środowisk w kodzie
- Po: AWS Organizations z osobnymi kontami
- Po: 3 środowiska z jednego kodu Terraform
- Po: ECS z autoskalowaniem
- Po: Aurora PostgreSQL, na drugiej platformie RDS PostgreSQL
wynik
- Przed: deploy: 45 min
- Po: deploy: 5–6 min, bez przerwy w działaniu
- Po: rachunek za AWS: –30% względem pierwotnej infrastruktury
- dostępność w skali roku: 99,99%
Przed
Platforma SaaS dla firm działała na infrastrukturze, którą programiści wyklikali ręcznie w konsoli na gotowych usługach AWS typu Amplify: bez kodu infrastruktury i bez osobnych środowisk. Deploy przez GitHub Actions trwał na starej infrastrukturze 45 minut. Nową infrastrukturę budowałem od pustego konta AWS.
- Infrastruktura
- wyklikana ręcznie (np. Amplify)
- Środowiska w kodzie
- 0
- Czas deployu
- 45 min
Co zrobiłem
- AWS Organizations z osobnymi kontami.
- Trzy identyczne środowiska (staging, preprod, produkcja), w całości w Terraform.
- ECS dla backendu i workerów z autoskalowaniem, od kilku do kilkunastu węzłów. CloudFront, ACM i Route 53 przed aplikacją.
- CI/CD w GitHub Actions: deploy skrócony z 45 do 5–6 minut, wdrożenia bez przestoju i szybki rollback.
- Aurora PostgreSQL z replikami do odczytu i Multi-AZ, strojenie zapytań, ElastiCache. Na drugiej platformie RDS PostgreSQL z replikami.
- Koszty: Savings Plans, rightsizing, przejście na Graviton, budżety i alerty kosztowe. Rachunek jest o 30% niższy niż na pierwotnej infrastrukturze, wyklikanej ręcznie przez programistów na gotowych usługach AWS typu Amplify.
- Monitoring w CloudWatch i Grafanie. Reakcja na incydenty w godzinach pracy i na podstawie alertów.
- Regularne aktualizacje, kopie zapasowe z testami odtwarzania.
- Bezpieczeństwo według dobrych praktyk AWS: najmniejsze uprawnienia i jedno logowanie, sekrety poza kodem, szyfrowanie, wykrywanie zagrożeń, prywatne sieci.
- Wsparcie zespołu programistów i dokumentacja infrastruktury.
- Od 2026 buduję i utrzymuję w ten sam sposób drugą, mniejszą platformę. Dzięki Savings Plans, rightsizingowi i Gravitonowi jej koszty są niższe od pierwotnego budżetu.
Po
Obie platformy działają na AWS w tym samym układzie. Staging, preprod i produkcja powstają z jednego kodu Terraform, więc to, co przeszło testy, trafia na produkcję w tej samej konfiguracji. Druga platforma, od 2026, jest mniejsza.
- Środowiska
- 3 na platformę
- Węzły ECS
- kilka do kilkunastu, z autoskalowaniem
- Czas deployu
- 5–6 min
- Rachunek za AWS względem pierwotnej infrastruktury
- –30%
- Dostępność w skali roku
- 99,99%
Masz podobny problem? Opisz go w dwóch zdaniach.
Albo napisz na przemek@codelevel.pl.
Odpowiadam w ciągu 1 dnia roboczego.