𝗪𝗵𝘆 𝗪𝗲 𝗠𝗼𝘃𝗲𝗱 𝗕𝗮𝗰𝗸 𝘁𝗼 𝗮 𝗠𝗼𝗱𝘂𝗹𝗮𝗿 𝗠𝗼𝗻𝗼𝗹𝗶𝘁𝗵

Timu za programu zinabadilisha mkakati wao. Timu nyingi zimetumia miaka mingi kuvunja programu (apps) kuwa microservices. Sasa, wanazikusanya vipande hivyo pamoja tena. Hawajengi monolith za zamani na zilizochafuka. Wanajenga modular monoliths.

Microservices huleta gharama zisizoonekana. Mifumo iliyosambazwa (distributed systems) huongeza utata mkubwa. Timu nyingi hutumia microservices kwa sababu ya umaarufu (hype), si kwa sababu zinahitaji uwezo mkubwa wa upanuzi (scale). Ikiwa una timu ndogo, microservices zinaweza kuwa zinakuchelewesha.

Modular monolith inakupa faida za pande zote mbili. Inabaki kama kitengo kimoja kinachoweza kuwekwa (deployable unit), lakini kodi imepangwa katika moduli kali (strict modules). Unapata mipaka ya wazi bila gharama kubwa za kuendesha mfumo uliosambazwa.

Linganisha mbinu hizi mbili:

• Usambazaji (Deployment): Monoliths hutumia kitengo kimoja. Microservices hutumia vingi. • Mipaka (Boundaries): Monoliths hutumia sheria kali za kodi. Microservices hutumia mtandao. • Mawasiliano: Monoliths hutumia wito rahisi wa kazi (function calls). Microservices hutumia wito wa mtandao (network calls). • Gharama za ziada (Overhead): Monoliths zina gharama ndogo za uendeshaji. Microservices zina gharama kubwa.

Unapaswa kuchagua lini modular monolith?

  • Timu yako ina wahandisi chini ya 50.
  • Unahitaji kupunguza gharama za miundombinu ya wingu (cloud infrastructure).
  • Unataka kurahisisha urekebishaji wa makosa (debugging) na majaribio (testing).
  • Huduma zako mara nyingi zinahitaji kusambazwa pamoja hata hivyo.

Makampuni halisi tayari yanafanya hivi. Shopify hutumia mbinu ya moduli (modular approach) kusimamia wafanyabiashara mamilioni. Amazon Prime Video ilihamisha mzigo maalum wa kazi kutoka kwenye microservices kurudi kwenye monolith. Waliona upungufu wa 90% katika gharama za miundombinu.

Usijenge kwa ajili ya ukubwa wa Netflix ikiwa wewe ni timu ndogo. Anza kwa njia ya moduli (modular). Toa huduma (extract a service) pale tu ambapo data yako inaonyesha kuwa unahitaji kufanya hivyo kweli.

Tumia orodha hii ya ukaguzi (checklist) ili kuona ikiwa unahitaji kuunganisha:

  • Je, unatumia muda mwingi zaidi kurekebisha miunganisho ya huduma (debugging service connections) kuliko kujenga vipengele (features)?
  • Je, bili yako ya wingu (cloud bill) inakua kwa kasi zaidi kuliko watumiaji wako?
  • Je, una wahandisi wachache kuliko 5 wa DevOps kwa huduma nyingi?
  • Je, wahandisi wanatafuta ombi moja (request) kupitia huduma 3 au zaidi ili kupata hitilafu (bug)?

Ikiwa ulijibu ndiyo, modular monolith huenda ndiyo hatua sahihi.

Source: https://dev.to/ail_akram_dcc5063c428734b/why-we-moved-back-to-a-modular-monolith-the-costly-reality-of-microservices-in-2026-3kbo

Optional learning community: https://t.me/GyaanSetuAi