sk

Ako to funguje?

Potrebujete pomoc pri podnikaní?

Kontaktujte nás pre personalizovanú ponuku FinMV prispôsobenú vašim potrebám.

Monolitický alebo mikroservis?

Technický riaditeľ vašej spoločnosti si pri plánovaní spustenia finančnej platformy bude musieť vybrať architektúru projektu. Aké možnosti architektúry má k dispozícii a ktorú z nich je lepšie zvoliť?

Začnite s najjednoduchšou architektúrou, ktorá zachováva jasné hranice

Nová investičná platforma má jeden tím, jedno nasadenie a jednu databázu. Náklady na distribuovaný systém v tejto fáze idú výlučne na réžiu: sieťové volania tam, kde by stačilo volanie funkcie, prípadná konzistencia tam, kde by stačila transakcia, a prevádzková záťaž, na ktorú nikto nemá personál.

Preto je predvolená implementácia modulárna: onboarding, ponuky, investície, platby, dokumenty, servis a reportovanie žijú za explicitnými hranicami v rámci jedného nasaditeľného systému. Modulárnou ju robí nie štruktúra priečinkov, ale skutočnosť, že každý modul má zmluvu, vlastní svoje dáta a je pokrytý vlastnými testami.

Služba sa vyčlení vtedy, keď na to existuje dôvod

Modul sa stáva samostatnou službou z konkrétneho dôvodu, a tieto dôvody sú obchodné, nie módne:

  • škála — časť systému musí rásť alebo zlyhávať nezávisle od zvyšku
  • bezpečnosť — hranica potrebuje silnejšiu izoláciu, než poskytuje modul v rámci jedného procesu
  • compliance — regulátor alebo audit vyžadujú oddelenie právomocí alebo dát
  • nasadenie — časť sa musí vydávať s inou periodicitou alebo iným tímom
  • integrácie — externý systém diktuje vlastný profil dostupnosti a záťaže
  • organizácia — rôzne tímy musia vlastniť rôzne veci bez koordinácie každého vydania

Keďže hranice a zmluvy už existujú, vyčlenenie služby je plánovaná operácia, nie prepis. Presne v tom je zmysel: možnosť zostáva otvorená a zostáva lacná.

Asynchrónnosť tam, kde sa oplatí

Práca, ktorá nesmie blokovať používateľa — zosúlaďovanie vyrovnaní, generovanie dokumentov, callbacky poskytovateľov, reportovanie — prebieha cez fronty. Sprostredkovatelia správ ako RabbitMQ alebo Kafka sa objavujú vtedy, keď je to opodstatnené záťažou alebo topológiou integrácií, nie predvolene. PostgreSQL zostáva systémom záznamu; Redis sa používa tam, kde je skutočne potrebná rýchla cache alebo koordinácia.

Čo nerobíme

Nepredávame monolit a nepredávame mikroslužby. Oboje sú odpovede na otázky, ktoré ešte nikto nepoložil. Takisto nebudujeme distribuovaný systém len preto, aby platforma pôsobila seriózne — architektonické divadlo je drahé na prevádzku a ťažko sa odovzdáva.

Architektúra sa volí podľa vašej škály, regulačných povinností, integrácií a veľkosti tímu, ktorý ju bude prevádzkovať — a je navrhnutá tak, aby sa mohla meniť spolu s nimi.