Gëff mir meng Monolith zréck

Et schéngt, datt den Héichpunkt vum Hype fir Mikroservicer hannert eis ass. Mir liesen net méi Posts e puer Mol d'Woch "Wéi hunn ech mäi Monolith op 150 Servicer geplënnert." Elo héieren ech méi gesonde Mënscheverstand Gedanken: "Ech haassen de Monolith net, ech këmmere mech just ëm Effizienz." Mir hunn souguer e puer Migratiounen observéiert vu Mikroservicer zréck op Monolith. Wann Dir vun enger grousser Applikatioun op méi kleng Servicer plënnert, musst Dir e puer nei Probleemer léisen. Loosst eis se sou kuerz wéi méiglech opzielen.

Kader: vu Basischemie bis Quantemechanik

Eng Basisdatenbank an Uwendung mat engem Hannergrondprozess opzestellen war e relativ einfache Prozess. Ech publizéieren de Readme op Github - an dacks no enger Stonn, maximal e puer Stonnen, funktionnéiert alles, an ech starten en neie Projet. Code addéieren a lafen, op d'mannst fir dat initialt Ëmfeld, gëtt um Dag eent gemaach. Awer wa mir a Mikrodéngschter venturen, da geet déi initial Startzäit skyrocket. Jo, elo hu mir Docker mat Orchestratioun an e Cluster vu K8 Maschinnen, awer fir en Ufänger Programméierer ass dëst alles vill méi komplizéiert. Fir vill Junioren ass dëst eng Belaaschtung déi wierklech eng onnéideg Komplikatioun ass.

De System ass net einfach ze verstoen

Loosst eis e Moment op eise Junior konzentréieren. Mat monolitheschen Uwendungen, wann e Feeler geschitt ass, war et einfach ze verfollegen an direkt op Debugging weiderzemaachen. Elo hu mir e Service, dee mat engem anere Service schwätzt, deen eppes op engem Messagebus setzt, deen en anere Service veraarbecht - an da geschitt e Feeler. Mir mussen all dës Stécker zesummesetzen fir schlussendlech erauszefannen datt de Service A d'Versioun 11 leeft, an de Service E schonn op d'Versioun 12 waart. Dëst ass ganz anescht wéi mäi Standard konsolidéierte Log: en interaktiven Terminal / Debugger musse benotzen fir ze goen duerch de Prozess Schrëtt fir Schrëtt. Debugging a Verständnis sinn natierlech méi schwéier ginn.

Wann et net kann debugged ginn, vläicht testen mir se

Kontinuéierlech Integratioun a kontinuéierlech Entwécklung ginn elo allgemeng. Déi meescht nei Apps, déi ech gesinn, erstellen a lafen automatesch Tester mat all neier Verëffentlechung a erfuerderen Tester, déi virun der Aschreiwung geholl an iwwerpréift ginn. Dëst si grouss Prozesser, déi net sollten opginn a si fir vill Firmen eng grouss Verréckelung gewiescht. Awer elo, fir de Service wierklech ze testen, muss ech eng voll funktionéierend Versioun vu menger Applikatioun opzéien. Erënnert Iech un deen neien Ingenieur mam K8 Cluster vun 150 Servicer? Gutt, elo wäerte mir eise CI System léieren wéi all dës Systemer opbréngen fir z'iwwerpréiwen datt alles wierklech funktionnéiert. Dëst ass méiglecherweis ze vill Effort, also wäerte mir just all Deel isoléieren testen: Ech sinn zouversiichtlech datt eis Spezifikatioune gutt genuch sinn, d'APIs propper sinn, an e Servicefehler ass isoléiert a wäert anerer net beaflossen.

All Kompromëss hunn e gudde Grond. Riets?

Et gi vill Grënn fir op Mikroservicer ze plënneren. Ech hunn dat gesinn fir méi Flexibilitéit, fir Teams ze skaléieren, fir Leeschtung, fir besser Nohaltegkeet ze bidden. Awer a Wierklechkeet hu mir Joerzéngten an Tools a Praktiken investéiert fir Monolithen z'entwéckelen déi sech weider entwéckelen. Ech schaffen mat Fachleit a verschiddenen Technologien. Mir schwätzen normalerweis iwwer Skaléieren well se an d'Limite vun engem eenzegen Postgres Datebank Node lafen. Déi meescht vun de Gespréicher sinn iwwer Datebank Skaléieren.

Mee ech sinn ëmmer interesséiert iwwer hir Architektur ze léieren. A wéi enger Etapp vum Iwwergank zu Mikroservicer sinn se? Et ass interessant méi Ingenieuren ze gesinn, déi soen, si si frou mat hirer monolithescher Applikatioun. Vill Leit profitéiere vu Mikroservicer, an d'Virdeeler wäerte méi wéi d'Bumpen am Migratiounswee sinn. Awer perséinlech, gitt mir w.e.g. meng monolithesch Applikatioun, eng Plaz op der Plage - an ech si ganz frou.

Source: will.com

Setzt e Commentaire