Powrót do strony głównej

Mikrousługi pochłaniają 40% budżetu IT: wyliczenia

Artykuł analizuje ukryte koszty architektury mikrousługowej: 30–40% budżetu IT na utrzymanie przy niskich obciążeniach. Porównanie TCO chmury i serwerów pokazuje różnicę 13 mln rub za 3 lata. Zaleca się modułowy monolit dla zespołów do 40 osób.

40% budżetu IT w błoto: prawda o mikrousługach
Advertisement 728x90

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.

Google AdInline article slot
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:

Google AdInline article slot

| Pozycja kosztowa | Chmura publiczna | Serwery dedykowane |

|------------------------|------------------|---------------------|

| Wynajem (miesięcznie) | ~320 000 ₽ | ~100 000 ₽ |

Google AdInline article slot

| 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

Advertisement 728x90

Czytaj dalej