Vun Monolithen op Mikroservicer: d'Erfahrung vu M.Video-Eldorado a MegaFon

Vun Monolithen op Mikroservicer: d'Erfahrung vu M.Video-Eldorado a MegaFon

De 25. Abrëll hu mir bei Mail.ru Group eng Konferenz iwwer Wolleken a ronderëm - E-Mail an: CLOUD. E puer Highlights:

  • Den Haapt Russesch Ubidder - Mail.ru Cloud Solutions, #CloudMTS, SberCloud, Selectel, Rostelecom Data Center an Yandex.Cloud geschwat iwwer d'Spezifizitéiten vun eisem Cloud Maart an hir Servicer;
  • D'Kollege vu Bitrix24 hunn erzielt wéi se koum zu multicloud;
  • Leroy Merlin, Otkritie, Burger King a Schneider Electric hunn interessant gesuergt Vue vun Cloud Konsumenten - wéi eng Aufgaben hire Geschäft fir IT setzt a wéi eng Technologien, dorënner Cloud, si se als villverspriechendst.

Dir kënnt all Videoe vun der Mailto:CLOUD Konferenz kucken Link, an hei kënnt Dir liesen, wéi d'Diskussioun iwwer Mikroservicer gaangen ass. Den Alexander Deulin, Chef vum MegaFon Business Systems Research and Development Center, a Sergey Sergeev, Informatiounstechnologie Direkter vun der M.Video-Eldorado Grupp, hunn hir erfollegräich Fälle fir Monolithen lass ze ginn. Mir hunn och verbonne Themen vun IT Strategie, Prozesser a souguer HR diskutéiert.

Panelisten

  • Sergey Sergeev, Group CIO "M.Video-Eldorado";
  • Alexander Deulin, Chef vum Zentrum fir Fuerschung an Entwécklung vun Affär Systemer MegaFon;
  • Moderator - Dmitry Lazarenko, Chef vun PaaS Richtung Mail.ru Cloud Léisunge.

No der Ried vum Alexander Deulin "Wéi MegaFon säi Geschäft duerch eng Mikroservice Plattform erweidert" hien ass fir Diskussioun vum Sergey Sergeev aus M.Video-Eldorado an Diskussioun Moderator Dmitry Lazarenko, Mail.ru Cloud Solutions.

Hei drënner hu mir en Transkript vun der Diskussioun fir Iech virbereet, awer Dir kënnt och de Video kucken:

Den Iwwergank op Mikroservicer ass eng Äntwert op de Maartbedürfnisser

Dmitriy:

Hutt Dir eng erfollegräich Erfarung op Mikroservicer migréiert? An am Allgemengen: Wou gesitt Dir de gréisste Geschäftsvirdeel vu Mikroservicer ze benotzen oder vu Monolithen op Mikroservicer ze goen?

Sergey:

Mir sinn schonn e bëssen am Iwwergank op Mikroservicer komm an hunn dës Approche fir méi wéi dräi Joer benotzt. Déi éischt Bedierfnes, déi de Besoin fir Mikroservicer gerechtfäerdegt war, war déi endlos Integratioun vu verschiddene Front-End Produkter mam Back Office. An all Kéier hu mir gezwongen zousätzlech Integratioun an Entwécklung ze maachen, eis eege Regele fir d'Operatioun vun dësem oder deem Service ëmzesetzen.

Irgendwann hu mir gemierkt datt mir d'Operatioun vun eise Systemer an d'Output vun der Funktionalitéit musse beschleunegen. Dee Moment sinn esou Konzepter wéi Mikroservicer an eng Mikroservice Approche schonn um Maart existéiert, a mir hu beschloss et ze probéieren. Dëst huet am Joer 2016 ugefaang. Duerno gouf d'Plattform geluecht an déi éischt 10 Servicer goufen vun enger separater Equipe ëmgesat.

Ee vun den éischte Servicer, am meeschte gelueden, war de Präisberechnungsservice. All Kéier wann Dir op all Kanal kommt, an d'Firma M.Video-Eldorado Grupp vu Firmen, sief et eng Websäit oder e Buttek, wielt e Produit do, kuckt de Präis op der Websäit oder am "Basket", d'Käschte sinn automatesch berechent vun engem Service. Firwat ass dat noutwenneg: virdru huet all System seng eege Prinzipien fir mat Promotiounen ze schaffen - mat Remise an sou weider. Eise Backoffice geréiert Präisser; Remise Funktionalitéit gëtt an engem anere System ëmgesat. Dëst misst zentraliséiert ginn an en eenzegaartegen, trennbare Service a Form vun engem Geschäftsprozess geschaf ginn, deen eis et erlaabt dëst ëmzesetzen. Dat ass zimlech wéi mir ugefaang hunn.

De Wäert vun den éischte Resultater war ganz grouss. Als éischt konnte mir trennbar Entitéite kreéieren déi et eis erlaben separat an aggregéiert ze schaffen. Zweetens hu mir d'Käschte vum Besëtz reduzéiert a punkto Integratioun mat méi Systemer.

An de leschten dräi Joer hu mir dräi Frontline Systemer bäigefüügt. Et war schwéier se mat der selwechter Quantitéit u Ressourcen z'erhalen, déi d'Firma leeschte konnt. Dofir ass d'Aufgab opgetrueden fir nei Outlets ze sichen, reagéiert op de Maart a punkto Geschwindegkeet, wat intern Käschten an Effizienz ugeet.

Wéi moosst den Erfolleg vun der Migratioun op Mikroservicer

Dmitriy:

Wéi gëtt Erfolleg beim Migratioun op Mikroservicer bestëmmt? Wat war de "virdrun" an all Firma? Wéi eng Metrik hutt Dir benotzt fir den Erfolleg vum Iwwergang ze bestëmmen, a wien huet et eigentlech bestëmmt?

Sergey:

Als éischt gouf et an IT als Enabler gebuer - nei Fäegkeeten "opzemaachen". Mir haten e Besoin fir alles méi séier fir relativ déiselwecht Suen ze maachen, op d'Erausfuerderunge vum Maart reagéieren. Elo gëtt den Erfolleg an der Unzuel vun de Servicer ausgedréckt, déi vu verschiddene Systemer weiderbenotzt ginn, d'Vereenegung vu Prozesser ënner sech. Elo ass et, awer zu deem Moment war et eng Geleeënheet fir eng Plattform ze kreéieren an d'Hypothese ze bestätegen datt mir dat maache kënnen, et wäert en Effekt ginn an de Business Case berechnen.

Alexander:

Erfolleg ass éischter en internt Gefill. D'Geschäft wëll ëmmer méi, an d'Tiefe vun eisem Réckstand ass de Beweis vum Erfolleg. Et schéngt mir esou.

Sergey:

Jo, ech averstanen. An dräi Joer hu mir scho méi wéi zweehonnert Servicer a Réckstand. De Besoin fir Ressourcen am Team wiisst nëmme - ëm 30% jäerlech. Dëst geschitt well d'Leit gefillt hunn: et ass méi séier, et ass anescht, et gi verschidden Technologien, alles entwéckelt sech.

Mikroservicer kommen, awer de Kär bleift

Dmitriy:

Et ass wéi en onendleche Prozess wou Dir an Entwécklung investéiert. Ass den Iwwergank op Mikroservicer fir Geschäfter schonn eriwwer oder net?

Sergey:

Et ass ganz einfach ze äntweren. Wat mengt Dir: Telefonen ersetzen ass en endlosen Prozess? Mir selwer kafen Handyen all Joer. An hei ass et: soulaang et e Bedierfnes fir Geschwindegkeet ass, fir d'Adaptatioun un de Maart, wäerten e puer Ännerungen erfuerderlech sinn. Dëst bedeit net datt mir Standardsaachen opginn.

Mee mir kënnen net alles op eemol iwwerdecken an nei maachen. Mir hunn Legacy, Standard Integratiounsservicer déi virdru existéiert hunn: Enterprise Bussen a sou weider. Mä et gëtt e Réckstand, an et gëtt och e Besoin. D'Zuel vun de mobilen Uwendungen an hir Funktionalitéit wiisst. Gläichzäiteg seet keen, datt Dir 30% méi Sue ginn. Dat heescht, op der enger Säit gëtt et ëmmer Bedierfnesser, op der anerer Säit eng Sich no Effizienz.

Dmitriy:

D'Liewen ass a gudder Form. (Lach)

Alexander:

Am Allgemengen, jo. Mir hu keng revolutionär Approche fir de Kärdeel aus der Landschaft ze läschen. Systematesch Aarbecht ass amgaang Systemer ze zersetzen sou datt se méi konsequent mat der Mikroservicearchitektur sinn, fir den Afloss vu Systemer openeen ze reduzéieren.

Awer mir plangen de Kärdeel ze halen, well an der Landschaft vum Bedreiwer gëtt et ëmmer e puer Plattformen déi mir kafen. Nach eng Kéier brauche mir e gesonde Gläichgewiicht: Mir sollten net séier an de Kär ausschneiden. Mir setzen d'Systemer niewenteneen, an elo stellt sech eraus datt mir scho vill Kärdeeler sinn. Weider, d'Funktionalitéit entwéckelen, kreéiere mir déi néideg Representatioune fir all Kanäl, déi mat eise Kommunikatiounsservicer schaffen.

Wéi verkafen ech Mikroservicer u Geschäfter

Dmitriy:

Ech sinn och interesséiert - fir déi, déi net ëmgewandelt hunn, awer plangen: wéi einfach war et dës Iddi un d'Geschäft ze verkafen a war et en Abenteuer, en Investitiounsprojet? Oder war et eng bewosst Strategie: elo gi mir op Mikroservicer an dat ass et, näischt wäert eis ophalen. Wéi war et fir Iech?

Sergey:

Mir hunn net eng Approche verkaaft, awer e Geschäftsvirdeel. Et gouf e Problem am Geschäft, a mir hu probéiert et ze léisen. Dee Moment gouf et an der Tatsaach ausgedréckt datt verschidde Kanäl verschidde Prinzipien fir d'Berechnung vu Präisser benotzt hunn - separat fir Promotiounen, fir Promotiounen, a sou weider. Et war schwéier ze erhalen, Feeler geschitt, a mir héieren Client Reklamatiounen. Dat ass, mir hunn eng Léisung fir e Problem verkaaft, awer mir koumen mat der Tatsaach datt mir Sue brauche fir eng Plattform ze kreéieren. A si hunn e Business Case mat dem Beispill vun der éischter Etapp vun Investitiounen gewisen: wéi mir weider wäerte recuperéieren a wat dat erlaabt eis ze maachen.

Dmitriy:

Hutt Dir iergendwéi d'Zäit vun der éischter Etapp opgeholl?

Sergey:

Jo, sécher. Mir hunn 6 Méint zougelooss fir de Kär als Plattform ze kreéieren an de Pilot ze testen. Wärend dëser Zäit hu mir probéiert eng Plattform ze kreéieren fir de Pilot ze skaten. Duerno gouf d'Hypothese bestätegt, a well se funktionnéiert, heescht et datt mir kënne weidergoen. Si hunn ugefaang d'Team ze replizéieren an ze verstäerken - si hunn et an eng separat Divisioun geplënnert déi just dat mécht.

Als nächst kënnt systematesch Aarbecht baséiert op Geschäftsbedürfnisser, Méiglechkeeten, Disponibilitéit vu Ressourcen an alles wat am Moment an der Aarbecht ass.

Dmitriy:

OK. Alexander, wat sot Dir?

Alexander:

Eis Mikroservicer goufen aus dem "Schaum vum Mier" gebuer - wéinst Ressourcen spueren, wéinst e puer Iwwerreschter a Form vun Serverkapazitéit an der Ëmverdeelung vu Kräften am Team. Am Ufank hu mir dëse Projet net un d'Geschäft verkaaft. Dëst war e Projet wou mir souwuel recherchéiert an deementspriechend entwéckelt hunn. Mir hunn Ufank 2018 ugefaang an dës Richtung einfach mat Begeeschterung entwéckelt. De Verkaf huet just ugefaang a mir sinn am Prozess.

Dmitriy:

Gëtt et geschitt, datt e Betrib Iech erlaabt esou Saachen wéi Google ze maachen - op engem gratis Dag an der Woch? Hutt Dir esou eng Richtung?

Alexander:

Zur selwechter Zäit wéi d'Fuerschung hu mir eis och mat Geschäftsproblemer beschäftegt, sou datt all eis Mikroservicer Léisunge fir Geschäftsproblemer sinn. Nëmmen am Ufank hu mir Mikroservicer gebaut, déi e klengen Deel vun der Abonnentbasis ofdecken, an elo si mir a bal all Flaggschëffprodukter präsent.

An de materiellen Impakt ass scho kloer - mir kënne scho gezielt ginn, d'Geschwindegkeet vu Produktlancéierungen a verluerene Recetten ka geschat ginn, wa mir den alen Wee gefollegt hunn. Op deem bauen mir de Fall.

Mikroservicer: Hype oder Noutwennegkeet?

Dmitriy:

Zuelen sinn Zuelen. A Recetten oder Sue gespuert si ganz wichteg. Wat wann Dir op déi aner Säit kuckt? Et schéngt, datt Mikroservicer en Trend sinn, en Hype a vill Firmen mëssbrauchen et? Wéi kloer ënnerscheet Dir tëscht deem wat Dir maacht an net op Mikroservicer iwwersetzt? Wann Legacy elo, wäert Dir nach Legacy a 5 Joer hunn? Wat wäert den Alter vun den Informatiounssystemer sinn, déi bei M.Video-Eldorado a MegaFon a 5 Joer schaffen? Gëtt et zéng Joer, fofzéng Joer al Informatiounssystemer oder wäert et eng nei Generatioun sinn? Wéi gesitt Dir dat?

Sergey:

Et schéngt mir, datt et schwéier ass, ganz wäit ewech ze denken. Wa mir zréckkucken, wien huet sech virgestallt datt den Technologiemaart dës Manéier géif entwéckelen, dorënner Maschinnléieren a Benotzeridentifikatioun duerch Gesiicht? Awer wann Dir déi nächst Jore kuckt, schéngt et mir datt Kärsystemer, Enterprise ERP-Klass Systemer an Entreprisen - si hunn eng zimlech laang Zäit geschafft.

Eis Firmen si kollektiv 25 Joer al, mat klassesche ERP ganz déif an der Systemlandschaft. Et ass kloer datt mir e puer Stécker dobausse huelen a probéieren se a Mikroservicer ze aggregéieren, awer de Kär bleift. Et ass schwéier fir mech elo virzestellen datt mir all Kärsystemer do ersetzen a séier op déi aner hell Säit vun den neie Systemer plënneren.

Ech sinn e Supporter vun der Tatsaach, datt alles wat dem Client a Konsument méi no ass, wou de gréisste Geschäftsvirdeel a Wäert ass, wou Adaptabilitéit a Fokus op Geschwindegkeet, op Ännerung, op "probéieren, annuléieren, weiderbenotzen, eppes anescht maachen" sinn néideg "- dat ass wou d'Landschaft wäert änneren. A Këschteprodukter passen net ganz gutt dran. Op d'mannst gesinn mir et net. Déi einfachst, einfachst Léisunge sinn do néideg.

Mir gesinn dës Entwécklung:

  • Kär Informatiounssystemer (meeschtens Back Office);
  • Mëttelschichten a Form vu Mikroservicer verbannen de Kär, aggregéiert, e Cache erstellen, a sou weider;
  • Front-Line Systemer riicht sech un de Konsument;
  • eng Integratiounsschicht déi allgemeng a Maartplazen, aner Systemer an Ökosystemer integréiert ass. Dës Schicht ass sou hell wéi méiglech, einfach, an enthält e Minimum vu Geschäftslogik.

Awer gläichzäiteg sinn ech Supporter fir déi al Prinzipien weider ze benotzen wa se entspriechend benotzt ginn.

Loosst eis soen datt Dir e klassesche Enterprise System hutt. Et läit an der Landschaft vun engem Verkeefer a besteet aus zwee Moduler déi matenee schaffen. Et gëtt och eng Standard Integratioun Interface. Firwat et nei maachen an e Mikroservice dohinner bréngen?

Awer wann et 5 Moduler am Back Office sinn, vun deenen Informatiounsstécker an e Geschäftsprozess gesammelt ginn, deen dann vun 8-10 Frontline Systemer benotzt gëtt, da gëtt de Benefice direkt bemierkt. Dir hëlt vu fënnef Back-Office Systemer a kreéiert e Service, en isoléierten, deen op de Geschäftsprozess fokusséiert ass. Maachen de Service technologesch fortgeschratt - sou datt et Informatiounen cache a Feeler-tolerant ass, an och schafft mat Dokumenter oder Affär Entitéite. An Dir integréiert se no engem eenzege Prinzip mat all Front-Line Produkter. Si hunn de Frontline-Produkt annuléiert - si hunn d'Integratioun einfach ausgeschalt. Muer musst Dir eng mobil Applikatioun schreiwen oder eng kleng Websäit maachen an nëmmen een Deel an d'Funktionalitéit setzen - alles ass einfach: Dir hutt et wéi e Konstruktor zesummegesat. Ech gesinn méi Entwécklung an dës Richtung - op d'mannst an eisem Land.

Alexander:

Sergey huet eis Approche komplett beschriwwen, merci. Ech soen just wou mir definitiv net goen - zum Kärdeel, zum Thema vun der Online Rechnung. Dat ass, Bewäertung an Opluedstatiounen bleift, an Tatsaach, eng "grouss" thresher datt zouverlässeg Suen ofschreiwen. An dëse System wäert weiderhin vun eise reglementaresche Autoritéiten zertifizéiert ginn. Alles anescht wat op Cliente kuckt, natierlech, ass Mikroservicer.

Dmitriy:

Hei Zertifizéierung ass eng Geschicht. Wahrscheinlech méi Ënnerstëtzung. Wann Dir wéineg un Ënnerstëtzung verbréngt oder de System keng Ënnerstëtzung an Ännerung erfuerdert, ass et besser et net ze beréieren. E raisonnabele Kompromiss.

Wéi verlässlech Mikroservicer z'entwéckelen

Dmitriy:

Gutt. Mee ech sinn nach ëmmer interesséiert. Elo erzielt Dir eng Erfollegsgeschicht: alles war gutt, mir sinn op Mikroservicer gewiesselt, d'Iddi fir d'Geschäft verdeedegt, an alles huet geklappt. Awer ech hunn aner Geschichten héieren.

Virun e puer Joer huet eng Schwäizer Firma, déi zwee Joer investéiert hat fir eng nei Mikroserviceplattform fir Banken z'entwéckelen, schlussendlech de Projet zougemaach. Ganz zesummegefall. Vill Millioune Schwäizer Frang goufen ausginn, an um Enn war d'Equipe verspreet - et huet net geklappt.

Hutt Dir ähnlech Geschichten? Waren oder ginn et Schwieregkeeten? Zum Beispill, Mikroservicer z'erhalen an Iwwerwaachung ass och e Kappwéi an den operationellen Aktivitéiten vun der Firma. No all, erhéicht d'Zuel vun de Komponenten Zéngfach. Wéi gesidd Dir et, goufen et net erfollegräich Beispiller vun Investitiounen hei? A wat kënnt Dir de Leit beroden, fir datt se net esou Problemer begéinen?

Alexander:

Mëssgléckt Beispiller enthalen Geschäfter déi Prioritéite änneren an Projeten annuléieren. Wann an enger gudder Phase vun der Bereetschaft (tatsächlech de MVP ass prett), sot de Geschäft: "Mir hunn nei Prioritéite, mir ginn op en anere Projet a mir maachen dësen zou."

Mir hu keng global Feeler mat Mikroservicer. Mir schlofen friddlech, mir hunn eng 24/7 Pflichtverschiebung déi de ganze BSS servéiert [Business Support System].

An nach eng Saach - mir verlounen Mikroservicer no de Reegelen déi fir Boxprodukter gëllen. De Schlëssel zum Erfolleg ass datt Dir als éischt en Team muss sammelen dat de Mikroservice komplett op d'Produktioun virbereet. D'Entwécklung selwer ass bedingt 40%. De Rescht ass Analyse, DevSecOps Methodik, déi richteg Integratiounen an déi richteg Architektur. Mir bezuelen speziell Opmierksamkeet op d'Prinzipien vun Gebai sécher Uwendungen. Informatiounssécherheetsvertrieder bedeelegen un all Projet souwuel an der Architekturplanungsstadium wéi och beim Ëmsetzungsprozess. Si verwalten och Systemer fir Code fir Schwachstelle ze analyséieren.

Loosst eis soen datt mir eis stateless Servicer ofsetzen - mir hunn se a Kubernetes. Dëst erlaabt jidderee friddlech ze schlofen wéinst Auto-Scaling an Auto-Erhéijung vun de Servicer, an d'Pflichtverschiebung hëlt Tëschefäll op.

An der ganzer Existenz vun eise Mikroservicer sinn et nëmmen een oder zwee Tëschefäll, déi eis Linn erreecht hunn. Elo gëtt et keng Problemer mat der Operatioun. Mir hunn natierlech net 200, awer ongeféier 50 Mikroservicer, awer si ginn a Flaggschëffprodukter benotzt. Wa se gescheitert wiere mir déi éischt, déi doriwwer wëssen.

Microservices an HR

Sergey:

Ech averstane mat mengem Kolleg iwwer d'Iwwerweisung op Ënnerstëtzung - datt d'Aarbecht muss richteg organiséiert ginn. Mä ech wäert Iech iwwer d'Problemer soen, déi natierlech existéieren.

Als éischt ass d'Technologie nei. Dëst ass Hype op eng gutt Manéier, an e Spezialist ze fannen deen dëst versteet a ka kreéieren ass eng grouss Erausfuerderung. D'Konkurrenz fir Ressourcen ass verréckt, sou datt Experten hir Gewiicht am Gold wäert sinn.

Zweetens, mat der Schafung vu bestëmmte Landschaften an enger wuessender Zuel vu Servicer, muss de Problem vum Wiederverwendung permanent geléist ginn. Wéi d'Entwéckler gären maachen: "Loosst eis elo vill interessant Saachen hei schreiwen ..." Wéinst deem wiisst de System a verléiert seng Effektivitéit a punkto Geld, Käschte vum Besëtz, asw. Dat ass, et ass néideg fir d'Wiederverwendung an der Systemarchitektur ze enthalen, et an der Fahrplang fir d'Aféierung vun Servicer ze enthalen an d'Ierfschaft an eng nei Architektur ze transferéieren.

En anere Problem - obwuel dat op seng Manéier gutt ass - ass d'intern Konkurrenz. "Oh, nei fashionable Kärelen sinn hei opgetaucht, si schwätzen eng nei Sprooch." D'Leit sinn natierlech anescht. Et ginn déi, déi benotzt gi fir op Java ze schreiwen, an déi, déi Docker a Kubernetes schreiwen a benotzen. Dëst si komplett verschidde Leit, si schwätzen anescht, benotze verschidde Begrëffer a verstinn heiansdo net. D'Fäegkeet oder d'Onméiglechkeet Praxis ze deelen, Wëssensdeelen, an dësem Sënn ass och e Problem.

Gutt, Ressourcen skaléieren. „Super, loosst eis goen! An elo wëlle mir méi séier, méi. Wat, kënnt Dir net? Ass et net méiglech zweemol esou vill an engem Joer ze liwweren? A firwat?" Esou wuessen Péng si wahrscheinlech Standard fir vill Saachen, vill Approche, an Dir kënnt se fillen.

Iwwer Iwwerwaachung. Et schéngt mir datt Servicer oder industriell Iwwerwaachungsinstrumenter scho léiere oder fäeg sinn mat Docker a Kubernetes an engem aneren, net-Standard Modus ze schaffen. Also datt Dir zum Beispill net mat 500 Java Maschinnen ophalen, ënner deenen dat alles leeft, nämlech aggregéiert. Awer dës Produkter feelen nach ëmmer Reife; si mussen duerch dëst goen. D'Thema ass wierklech nei, et wäert sech weider entwéckelen.

Dmitriy:

Jo, ganz interessant. An dat gëllt fir HR. Vläicht hunn Äre HR Prozess an HR Mark e bësse geännert iwwer dës 3 Joer. Dir hutt ugefaang aner Leit mat verschiddene Kompetenzen ze rekrutéieren. An et gi wahrscheinlech souwuel Virdeeler wéi Nodeeler. Virdrun waren d'Blockchain an d'Datenwëssenschaft den Hype, a Spezialisten an hinnen ware Millioune wäert. Elo falen d'Käschte, de Maart gëtt gesättegt, an et gëtt en ähnlechen Trend a Mikroservicer.

Sergey:

Jo, absolut.

Alexander:

HR stellt d'Fro: "Wou ass Äre rosa Eenhoorn tëscht dem Backend a Frontend?" HR versteet net wat e Mikroservice ass. Mir hunn hinnen d'Geheimnis gesot an hinnen gesot datt de Backend alles gemaach huet, an et gëtt keen Eenhoorn. Awer HR ännert sech, léiert séier a rekrutéiert Leit déi Basis IT Wëssen hunn.

D'Evolutioun vu Mikroservicer

Dmitriy:

Wann Dir d'Zilarchitektur kuckt, kucken Mikroservicer wéi e Monster aus. Är Rees huet e puer Joer gedauert. Anerer hunn e Joer, anerer dräi Joer. Hutt Dir all d'Problemer virausgesinn, d'Zilarchitektur, huet eppes geännert? Zum Beispill, am Fall vu Mikroservicer, erschéngen Gateways a Service Meshes elo erëm. Hutt Dir se am Ufank benotzt oder hutt Dir d'Architektur selwer geännert? Hutt Dir esou Erausfuerderungen?

Sergey:

Mir hu scho verschidde Kommunikatiounsprotokoller ëmgeschriwwen. Fir d'éischt gouf et ee Protokoll, elo si mer op en anere gewiesselt. Mir erhéijen Sécherheet an Zouverlässegkeet. Mir hunn ugefaang mat Enterprise Technologien - Oracle, Web Logic. Elo plënnere mir ewech vun technologeschen Enterprise Produkter a Mikroservicer a plënneren op Open Source oder komplett oppen Technologien. Mir verloossen Datenbanken a plënneren op dat wat méi effektiv fir eis an dësem Modell funktionnéiert. Mir brauche keng Oracle Technologien méi.

Mir hunn einfach als Service ugefaang, ouni ze denken wéi vill mir e Cache brauchen, wat mir maache wann et keng Verbindung mat engem Mikroservice gëtt, awer Daten gebraucht ginn, etc. Elo entwéckelen mir eng Plattform fir datt d'Architektur beschriwwe ka ginn net an der Sprooch vun de Servicer, an am Betrib Sprooch, huelen Affär Logik op den nächsten Niveau wann mir ufänken a Wierder ze schwätzen. Elo hu mir geléiert a Bréiwer ze schwätzen, an den nächsten Niveau ass wann d'Servicer an eng Aart aggregéiert gesammelt ginn, wann dat schonn e Wuert ass - zum Beispill eng ganz Produktkaart. Et ass aus Mikroservicer gesammelt, awer et ass eng API uewen drop gebaut.

Sécherheet ass ganz wichteg. Soubal Dir ufänkt zougänglech ze sinn an Dir hutt e Service, duerch deen Dir vill interessant Saache kritt, a ganz séier, an enger Split-Sekonn, da gëtt et de Wonsch et op eng net déi sécher Manéier ze kréien. Fir dovunner ewechzekommen, hu mir misse Approche fir Testen an Iwwerwaachung änneren. Mir hu missen d'Team änneren, d'Liwwerungsmanagementstruktur, CI / CD.

Dëst ass eng Evolutioun - wéi mat Telefonen, nëmme vill méi séier: fir d'éischt goufen et Push-Button-Telefonen, duerno koumen Smartphones. Mir hunn de Produit nei geschriwwen an nei designt well de Maart en anere Besoin hat. Esou evoluéiere mir: Éischte Schouljoer, Zéngte Schouljoer, Aarbecht.

Iterativ gëtt pro Joer eppes aus der Siicht vun der Technologie geluecht, eppes anescht aus der Siicht vum Réckstand a Besoinen. Mir verbannen eng Saach an déi aner. D'Team verbréngt 20% op technesch Scholden an technesch Ënnerstëtzung fir d'Team, 80% op d'Geschäftsentitéit. A mir plënneren mat engem Verständnis firwat mir et maachen, firwat mir dës technologesch Verbesserunge maachen, wat se féieren. Esou.

Dmitriy:

Cool. Wat ass am MegaFon?

Alexander:

D'Haaptfuerderung wa mir op Mikroservicer ukomm sinn, war net an de Chaos ze falen. D'Architekturbüro vu MegaFon ass direkt bei eis komm, gouf souguer en Initiator a Chauffeur - elo hu mir eng ganz staark Architektur. Seng Aufgab war ze verstoen wat Zilmodell mir ginn a wéi eng Technologien musse pilotéiert ginn. Mat der Architektur hu mir dës Pilote selwer gemaach.

Déi nächst Fro war: "Wéi dann all dat auszenotzen?" An ee méi: "Wéi eng transparent Interaktioun tëscht Mikroservicer ze garantéieren?" Service Mesh huet eis gehollef déi lescht Fro ze beäntweren. Mir hunn Istio pilotéiert an d'Resultater gefall. Elo si mir an der Etapp vum Ausrollen an produktiv Zonen. Mir hunn eng positiv Haltung vis-à-vis vun all Erausfuerderungen - d'Tatsaach, datt mir de Stack permanent änneren mussen, eppes Neies léieren. Mir sinn interesséiert ze entwéckelen, net al Léisungen auszenotzen.

Dmitriy:

Gold Wierder! Esou Erausfuerderungen halen d'Team an d'Geschäft op den Zänn an schafen d'Zukunft. GDPR erstallt Chef Dateschutz Offizéier, an aktuell Erausfuerderunge kreéieren Chef Mikroservicer an Architektur Offizéier. An et freet sech.

Mir hu vill diskutéiert. Den Haapt Saach ass datt e gudden Design vu Mikroservicer an d'Architektur selwer erlaabt Iech vill Feeler ze vermeiden. Natierlech ass de Prozess iterativ an evolutiv, awer et ass d'Zukunft.

Merci un all Participanten, Merci un Sergei an Alexander!

Froen aus dem Publikum

Fro vum Publikum (1):

Sergey, wéi huet d'IT Gestioun an Ärer Firma geännert? Ech verstinn datt wann et e grousse Stack vu verschiddene Systemer ass, wéi et geréiert gëtt e relativ kloeren a logesche Prozess ass. Wéi hutt Dir d'Gestioun vun der IT Komponent nei opgebaut nodeems eng ganz grouss Zuel vu Mikroservicer an esou kuerzer Zäit integréiert goufen?

Sergey:

Ech averstane mat mengem Kolleg, datt Architektur als Chauffeur vun Ännerung ganz wichteg ass. Mir hunn ugefaang mat enger architektonescher Divisioun. Architekten sinn gläichzäiteg d'Besëtzer vun der Verdeelung vun der Funktionalitéit an d'Ufuerderunge fir wéi et an der Landschaft erschéngt. Also si handelen och als Koordinatore vun dësen Ännerungen. Als Resultat goufen et spezifesch Ännerungen un engem spezifesche Liwwerungsprozess wa mir eng CI / CD Plattform erstallt hunn.

Awer de Standard, Basisprinzipien vun der Entwécklung, Geschäftsanalyse, Testen an Entwécklung sinn net annuléiert ginn. Mir hunn just Vitesse dobäi. Virdrun huet den Zyklus sou vill gedauert, d'Installatioun op Testëmfeld huet sou vill méi gedauert. Elo gesäit d'Geschäft de Virdeel a seet: "Firwat kënne mir dat net op anere Plazen maachen?"

Et ass wéi, op eng gutt Manéier, eng Injektioun a Form vun enger Impfung déi gewisen huet: Dir kënnt et esou maachen, awer Dir kënnt et op eng aner Manéier maachen. Natierlech gëtt et e Problem am Personal, a Kompetenzen, am Wëssen, an der Resistenz.

Fro vum Publikum (2):

Kritiker vun der Mikroservicearchitektur soen datt Testen an Entwécklung schwéier sinn. Dëst ass logesch wou Saache komplizéiert ginn. Wéi eng Erausfuerderungen huet Äert Team konfrontéiert a wéi hutt Dir se iwwerwonne? Fro fir jiddereen.

Alexander:

Et gi Schwieregkeeten wann Dir vu Mikroservicer op eng Plattform plënnert, awer si kënne geléist ginn.

Zum Beispill maache mir e Produkt dat aus 5-7 Mikroservicer besteet. Mir mussen Integratiounstester iwwer de ganze Mikroservicer-Stack ubidden fir gréng Luucht ze ginn fir an d'Meeschteschzweig ze plënneren. Dës Aufgab war net nei fir eis: Mir hunn dat scho laang bei BSS gemaach, wéi de Verkeefer eis scho geliwwert Léisunge geliwwert huet.

An eise Problem ass nëmmen an der klenger Equipe. Ee QA Ingenieur ass gebraucht fir ee bedingte Produkt. An dofir verschéckt mir e Produkt vu 5-7 Mikroservicer, vun deenen 2-3 vun Drëtten entwéckelt kënne ginn. Zum Beispill hu mir e Produkt an der Entwécklung vun deem eise Billing System Verkeefer, Mail.ru Group a MegaFon R&D matmaachen. Mir mussen dëst mat Tester ofdecken ier et an d'Produktioun verschéckt gëtt. De QA-Ingenieur huet fir e Mount an en halleft un dësem Produkt geschafft, an de Rescht vum Team ass ouni seng Ënnerstëtzung verlooss.

Dës Komplexitéit gëtt nëmmen duerch Skaléieren verursaacht. Mir verstinn datt Mikroservicer net an engem Vakuum existéiere kënnen; absolut Isolatioun existéiert net. Wann Dir ee Service ännert, probéieren mir ëmmer den API Kontrakt ze erhaalen. Wann eppes ënner der Hood ännert, bleift de Frontservice. Wann d'Ännerunge fatal sinn, fënnt eng Aart vun architektonescher Transformatioun statt a mir plënneren op e komplett aneren Datemetamodell, dee komplett inkompatibel ass - nëmmen dann schwätze mir iwwer d'V2 Service API Spezifizéierung déi erschéngt. Mir ënnerstëtzen déi éischt an zweet Versioun gläichzäiteg, an nodeems all d'Konsumenten op déi zweet Versioun wiesselen, maache mir déi éischt zou.

Sergey:

Ech wëll derbäi. Ech averstanen absolut iwwer Komplikatiounen - si geschéien. D'Landschaft gëtt méi komplex, an d'Overheadkäschte ginn erop, besonnesch fir Testen. Wéi mat dësem ëmzegoen: Wiesselt op automatiséiert Testen. Jo, Dir musst zousätzlech investéiere fir Autotester an Eenheetstester ze schreiwen. Also datt d'Entwéckler net konnten engagéieren ouni den Test ze passéieren, konnten se de Code net änneren. Also datt souguer den Dréckknäppchen net ouni Autotest funktionnéiert, Eenheetstest.

Et ass wichteg déi fréier Funktionalitéit z'erhalen, an dëst ass zousätzlech Overhead. Wann Dir eng Technologie an en anert Protokoll iwwerschreift, da schreift Dir et ëm, bis Dir alles komplett zoumaacht.

Mir maachen heiansdo net Enn-zu-Enn Testen op Zweck, well mir wëllen d'Entwécklung net stoppen, obwuel mir och eng Saach no der anerer hunn. D'Landschaft ass ganz grouss, komplex, et gi vill Systemer. Heiansdo sinn et just Stécker - jo, Dir senkt d'Sécherheetsmarge, méi Risiken erschéngen. Awer gläichzäiteg verëffentlecht Dir d'Versuergung.

Alexander:

Jo, Autotester an Eenheetstester erlaben Iech e qualitativ héichwäertege Service ze kreéieren. Mir si fir eng Pipeline déi net ouni Eenheets- an Integratiounstester passéiert ka ginn. Mir mussen dacks Emulatoren a kommerziell Systemer an Testzonen an Entwécklungsëmfeld zéien, well net all Systemer kënnen an Testzonen plazéiert ginn. Ausserdeem ginn se net nëmmen naass - mir generéieren eng vollwäerteg Äntwert vum System. Dëst ass e seriöse Bestanddeel vun der Aarbecht mat Mikroservicer, a mir investéieren och dran. Ouni dëst wäert Chaos entstoen.

Fro vum Publikum (3):

Sou wäit wéi ech verstinn, sinn Mikroservicer ufanks aus engem separaten Team gewuess an existéieren elo an dësem Modell. Wat sinn hir Virdeeler an Nodeeler?

Mir hunn just eng ähnlech Geschicht: eng Zort Mikroservicer Fabréck entstanen. Elo si mir konzeptuell op de Punkt komm datt mir dës Approche fir d'Produktioun vu Streamen a Systemer ausdehnen. An anere Wierder, mir plënneren ewech vun der zentraliséierter Entwécklung vu Mikroservicer, Mikroservicemodeller, a ginn méi no bei Systemer.

Deementspriechend geet eis Operatioun och op Systemer, dat heescht, mir dezentraliséieren dëst Thema. Wat ass Är Approche a wat ass Är Zilgeschicht?

Alexander:

Dir hutt den Numm "Microservices Factory" direkt aus Ärem Mond gefall - mir wëllen och skalaéieren. Als éischt hu mir elo wierklech eng Equipe. Mir wëllen all Entwécklungsteams déi MegaFon huet d'Méiglechkeet ginn an engem gemeinsamen Ökosystem ze schaffen. Mir wëllen net all d'Entwécklungsfunktionalitéit déi mir elo hunn komplett iwwerhuelen. Déi lokal Aufgab ass ze skaléieren, déi global Aufgab ass d'Entwécklung un all Teams an der Mikroserviceschicht ze féieren.

Sergey:

Ech soen Iech de Wee dee mir gemaach hunn. Mir hunn wierklech ugefaang als een Team ze schaffen, awer elo si mir net eleng. Ech sinn e Verdeedeger vun de folgenden: et muss e Besëtzer vum Prozess sinn. Eppes muss de Mikroservicer Entwécklungsprozess verstoen, verwalten, kontrolléieren a bauen. Hie muss d'Ressourcen besëtzen an d'Ressourcemanagement engagéieren.

Dës Ressourcen, déi Technologien, Spezifizitéiten kennen a verstoen wéi Mikroservicer bauen, kënnen a Produktteams lokaliséiert ginn. Mir hunn eng Mëschung, wou Leit vun der Mikroservice Plattform am Produktteam sinn, déi d'mobil Applikatioun mécht. Si sinn do, awer si schaffen no dem Prozess vun der Microservice Plattform Management Departement mat hirem Entwécklungsmanager. An dëser Divisioun gëtt et eng separat Equipe déi sech mat Technologie beschäftegt. Dat ass, mir vermëschen e gemeinsame Pool vu Ressourcen ënner eis a trennen se, ginn hinnen Teams.

Zur selwechter Zäit bleift de Prozess allgemeng, kontrolléiert, et geet no allgemenge technologesche Prinzipien, mat Unitéitstester an sou weider - alles wat uewen gebaut ass. Et kënne Spalten a Form vu Ressourcen aus verschiddenen Departementer vun der Produkt Approche gesammelt ginn.

Alexander:

Sergey, Dir sidd eigentlech de Besëtzer vum Prozess, richteg? Gëtt d'Taskbacklog gedeelt? Wien ass responsabel fir seng Verdeelung?

Sergey:

Kuckt: hei ass de Mix erëm. Et gëtt e Réckstand deen baséiert op technologesche Verbesserungen geformt gëtt - dëst ass eng Geschicht. Et gëtt e Réckstand, deen aus Projeten formuléiert gëtt, an et gëtt e Réckstand vu Produkter. Awer d'Sequenz vun der Aféierung an all Serviceprodukter oder d'Schafung vun dësem Service gëtt vun engem Produktspezialist entwéckelt. Hien ass net an der IT-Direktioun, hie gouf speziell dovunner ewechgeholl. Awer meng Leit schaffen definitiv nom selwechte Prozess.

De Besëtzer vum Réckstand a verschiddene Richtungen - de Réckstand vun Ännerungen - wäerte verschidde Leit sinn. D'Verbindung vun technologesche Servicer, hir Organisatiounsprinzip - all dat wäert an IT sinn. Ech besëtzen d'Plattform an d'Ressourcen och. Un der Spëtzt ass wat de Réckstand a funktionell Ännerungen betrëfft, an d'Architektur an dësem Sënn.

Loosst eis soen datt e Geschäft seet: "Mir wëllen dës Funktioun, mir wëllen en neit Produkt erstellen - e Prêt nei maachen." Mir äntweren: "Jo, mir wäerten et nei maachen." Architekten soen: "Loosst eis denken: wou am Prêt schreiwen mir Mikroservicer a wéi maache mir et?" Da zerbriechen mir et a Projeten, Produkter oder en Technologiestack, setzen se an Teams an implementéieren se. Hutt Dir e Produit intern erstallt an decidéiert Mikroservicer an dësem Produkt ze benotzen? Mir soen: "Elo mussen d'legacy Systemer déi mir haten, oder Frontline Systemer, op dës Mikroservicer wiesselen." D'Architekten soen: "Also: am technologesche Réckstand an de Frontlinneprodukter - den Iwwergank op Mikroservicer. Gitt". A Produktspezialisten oder Geschäftsbesëtzer verstinn wéi vill Kapazitéit zougewisen ass, wéini et gemaach gëtt a firwat.

D'Enn vun der Diskussioun, awer net all

D'Mailto:CLOUD Konferenz gouf organiséiert Mail.ru Cloud Léisunge.

Mir maachen och aner Eventer - z.B. @Kubernetes Meetup, wou mir ëmmer no super Spriecher sichen:

  • Follegt @Kubernetes an aner @Meetup Neiegkeeten an eisem Telegram Kanal t.me/k8s_mail
  • Interesséiert fir op engem vun de @Meetups ze schwätzen? Loosst eng Demande fir mcs.mail.ru/schwätzen

Source: will.com

Setzt e Commentaire