To jest przykładowe case study pokazujące format. Podmień treść na realny projekt.
Problem
Platforma rosła szybciej niż jej architektura: jeden proces obsługiwał API, raporty i integracje, więc każdy cięższy eksport spowalniał całą aplikację. Awarie zgłaszali klienci, a diagnoza trwała godzinami, bo logi były rozproszone po podach.
Decyzje
- Modularny monolit w NestJS z wyraźnymi granicami modułów zamiast przedwczesnych mikroserwisów.
- Ciężkie operacje przeniesione do kolejki i workerów, skalowanych niezależnie.
- Observability: logi w Loki, metryki w Prometheus, dashboardy i alerty w Grafanie, korelacja po request-id.
- Wdrożenia przez CI/CD z automatycznym rollbackiem po nieudanym health-checku.
Wynik
- Platforma obsłużyła 10× większy ruch bez przepisywania.
- Średni czas przywrócenia działania (MTTR) -70%.
- Dostępność 99,9% w kolejnym kwartale.