Mikroserwisy kontra monolit: ukryte koszty infrastruktury pochłaniające 40% budżetu IT
W projektach o obciążeniu do 30 RPS wdrożenie Kubernetes, Kafka i 47 mikroserwisów generuje miesięczne wydatki na chmurę rzędu 1 mln rubli. Logi zajmują miejsce, kontenery kończą się błędem OOMKilled, a inżynierowie DevOps muszą stale interweniować. Zamiast rozwijać nowe funkcje, zatrudnia się specjalistów do utrzymania systemu — co pochłania 30–40% budżetu IT.
Dla zespołów do 15 osób taka architektura tworzy typowy schemat: 1 mln rubli miesięcznie na DevOps (2–3 inżynierów po 450–500 tys. rubli brutto). Monolit oparty na PostgreSQL z jednym administratorem pracującym w wymiarze częściowym kosztuje rocznie o 10 mln rubli mniej w kategorii wynagrodzeń.
Opóźnienia sieciowe i spadek konwersji
Żądanie strony produktu w architekturze mikroserwisowej przechodzi przez łańcuch: API Gateway → Usługa autoryzacji → Baza danych produktów → Usługa cen → Stan magazynowy → Recenzje. Każdy skok dodaje serializację, deserializację i opóźnienie sieciowe — łącznie 500–800 ms zamiast optymalnych 50 ms.
HTTP Request
→ Nginx (reverse proxy) +2 ms
→ Express.js middleware #1-5 +8 ms, +45 MB RAM
→ Abstrakcja ORM +12 ms (wykonuje 3 nieoptymalne JOIN-y)
→ PostgreSQL +5 ms
← Serializacja ORM +6 ms, +30 MB RAM
← Serializacja JSON +3 ms
← Kompresja gzip w Nginx +2 ms
Łącznie: ok. 38 ms i ~75 MB RAM na żądanie. Bezpośredni zapytanie SQL: 5 ms i <1 MB. Opóźnienia obniżają konwersję o 5–8%: 100 ms = 1% sprzedaży (Amazon), 500 ms = 20% porzuconych żądań (Google).
Utrzymanie niskiej latencji wymaga dodatkowych inżynierów — co zwiększa koszty.
Całkowity koszt posiadania (TCO) chmury: różnica 13 mln rubli w trzech latach
Dla klastra 32 vCPU, 128 GB RAM, zarządzanej bazy danych i Kafka:
| Pozycja kosztowa | Chmura publiczna | Serwery dedykowane |
|------------------------|------------------|---------------------|
| Wynajem (miesięcznie) | ~320 000 ₽ | ~100 000 ₽ |
| Usługi zarządzane | +95 000 ₽ | 0 ₽ |
| Ruch wychodzący | ~15 000 ₽ | Wliczony |
| Razem rocznie | ~5 160 000 ₽ | ~1 200 000 ₽ |
| Razem za 3 lata | ~17 000 000 ₽ | ~4 000 000 ₽ |
Główne przyczyny różnicy:
- Zarządzane usługi Kubernetes/Kafka są 1,5–2 razy droższe niż maszyny wirtualne.
- Komunikacja HTTP zamiast wywołań w pamięci generuje ruch sieciowy i wymaga balanserów obciążenia.
- Service Mesh, logi i metryki Kubernetes zużywają 20–30% mocy procesora.
Na serwerach dedykowanych administrator instaluje usługi samodzielnie — oszczędzając na narzutach.
Atrofia zasobów i „development driven by resume”
Warstwy abstrakcji (ORM, middleware) gromadzą pamięć RAM: 75 MB na żądanie zamiast 1 MB. W chmurze 32 GB nadmiarowej pamięci na 10 instancji to dodatkowo 200 tys. rubli miesięcznie.
„Resume Driven Development” motywuje wprowadzanie Istio tylko dla CV: pół roku na konfigurację (12–15 mln rubli w kosztach wynagrodzeń), szybkość wdrażania funkcji spada dwukrotnie, a konkurent przejmuje liderstwo. Autor odchodzi z „piękną pozycją w CV”, a biznes rozwiązuje powstałe problemy.
Modularny monolit jako alternatywa
Zorganizuj kod w moduły z wyraźnymi granicami i oddzielnymi tabelami bazodanowymi — ale w jednym procesie.
| Parametr | Mikroserwisy | Modularny monolit |
|--------------------------|------------------|-------------------|
| Repozytoria Git | 23 | 1 |
| Kontenery Docker | 47 | 1 proces |
| DevOps | 3 | 1 administrator |
| Opóźnienie wywołania | 500+ ms | <1 ms |
Zalety: przejrzystość kodu, szybkie testy, zerowy „podatek infrastrukturalny”. Niezależny deployment nie jest kluczowy dla zespołów 30–40 osób. Ciężkie moduły (np. raporty) można wydzielić później.
Zależności w jednym miejscu: łatwiejsze aktualizacje i mniejsze ryzyko awarii typu left-pad lub Log4Shell.
Innowacyjne „tokeny” i legacy przyszłości
Ogranicz się do 2–3 nowych technologii: np. baza grafowa = jeden token → backend w Javie/C#, baza danych — PostgreSQL. Przeciętne, sprawdzone stosy technologiczne redukują ryzyko błędów.
Dzisiejszy hajs = jutrzejszy legacy. Amazon Prime Video powróciło do monolitu (–90% kosztów), Shopify korzysta z modularnego monolitu, a Segment zrezygnował z mikroserwisów.
Pytania CTO dla CEO:
- Czy ścieżka kliknięcia użytkownika do odpowiedzi trwa dłużej niż 200 ms?
- Czy płacisz więcej za chmurę niż za dwa serwery dedykowane?
- Dlaczego infrastruktura kradnie czas od rozwoju funkcji?
Na czym najbardziej zależy:
- Mikroserwisy pochłaniają 30–40% budżetu IT na DevOps i chmurę przy niskim obciążeniu.
- Opóźnienia sieciowe obniżają konwersję o 5–8%, bez widocznych wskaźników w dashboardach.
- Całkowity koszt posiadania (TCO) chmury jest 4 razy wyższy niż serwerów dedykowanych w trzech latach.
- Modularny monolit zapewnia elastyczność bez „podatku infrastrukturalnego”.
- Ogranicz hajs do maksymalnie 2–3 innowacyjnych „tokenów” technologicznych.
— Editorial Team
Brak komentarzy.