Da i monoliti à i microservizi: l'esperienza di M.Video-Eldorado è MegaFon

Da i monoliti à i microservizi: l'esperienza di M.Video-Eldorado è MegaFon

U 25 d'aprile, noi di Mail.ru Group hà tenutu una cunferenza annantu à i nuvuli è intornu - mailto:CLOUD. Uni pochi punti salienti:

  • U principale fornitori russi - Mail.ru Cloud Solutions, #CloudMTS, SberCloud, Selectel, Rostelecom Data Center è Yandex.Cloud hà parlatu di e specificità di u nostru mercatu di nuvola è i so servizii;
  • I culleghi di Bitrix24 anu dettu cumu ghjuntu à multicloud;
  • Leroy Merlin, Otkritie, Burger King è Schneider Electric furnì interessanti vista da i cunsumatori in nuvola - quali compiti si stabiliscenu a so attività per l'IT è quali tecnulugia, cumprese quelle in nuvola, vedenu cum'è i più promettenti.

Pudete vede tutti i video da a cunferenza mailto:CLOUD Member, è quì pudete leghje cumu si passava a discussione nantu à i microservizi. Alexander Deulin, capu di u centru di ricerca è sviluppu di i sistemi di cummerciale MegaFon, è Sergey Sergeev, direttore di a tecnulugia di l'informatica di u gruppu M.Video-Eldorado, hà spartutu i so casi di successu di sbarazzarsi di monoliti. Avemu ancu discututu temi cunnessi di strategia IT, prucessi è ancu HR.

Panelisti

  • Sergey Sergeev, CIO di u gruppu "M.Video-Eldorado";
  • Alexander Deulin, capu di u centru di ricerca è sviluppu di sistemi di cummerciale MegaFon;
  • moderatore - Dmitri Lazarenko, Capu di direzzione PaaS Mail.ru Soluzioni Cloud.

Dopu à u discorsu di Alexander Deulin "Cumu MegaFon espansione a so attività attraversu una piattaforma di microserviziu" hè unitu per discussione da Sergey Sergeev da M.Video-Eldorado è moderatore di discussione Dmitry Lazarenko, Mail.ru Cloud Solutions.

Quì sottu avemu preparatu una trascrizione di a discussione per voi, ma pudete ancu vede u video:

A transizione à i microservizi hè una risposta à i bisogni di u mercatu

Dimitri:

Avete avutu una sperienza di successu di migrazione à i microservizi? È in generale: induve vede u più grande benefiziu cummerciale da l'usu di i microservizi o di passà da i monoliti à i microservizi?

Sergey:

Avemu digià ghjuntu in qualchì modu in a transizione à i microservizii è avemu usatu questu approcciu per più di trè anni. U primu bisognu chì justificà a necessità di microservizi era l'integrazione infinita di diversi prudutti front-end cù u back office. È ogni volta eramu furzati à fà integrazione supplementu è sviluppu, implementendu e nostre regule per u funziunamentu di questu o quellu serviziu.

À un certu puntu, avemu capitu chì avemu bisognu di accelerà l'operazione di i nostri sistemi è a pruduzzioni di funziunalità. À quellu mumentu, cuncetti cum'è i microservizi è un approcciu di microserviziu esistevanu digià in u mercatu, è avemu decisu di pruvà. Questu hà iniziatu in 2016. Allora a piattaforma hè stata stallata è i primi 10 servizii sò stati implementati da una squadra separata.

Unu di i primi servizii, u più carcu, era u serviziu di calculu di prezzu. Ogni volta chì vene à qualsiasi canale, à u gruppu di cumpagnie M.Video-Eldorado, sia un situ web o una tenda di vendita, selezziunate un pruduttu quì, vede u prezzu nantu à u situ web o in u "Cestu", u costu hè automaticamente. calculatu da un serviziu. Perchè hè questu necessariu: ​​prima di questu, ogni sistema hà avutu i so principii per travaglià cù promozioni - cù sconti è cusì. U nostru back office gestisce i prezzi, a funziunalità di sconti hè implementata in un altru sistema. Questu hà bisognu à esse centralizatu è un serviziu unicu è separabile creatu in a forma di un prucessu cummerciale chì ci permette di implementà questu. Hè quasi cumu avemu principiatu.

U valore di i primi risultati era assai grande. Prima, pudemu creà entità separabili chì ci permettenu di travaglià separatamente è in una manera aggregata. Siconda, avemu riduciutu u costu di pruprietà in termini di integrazione cù più sistemi.

In l'ultimi trè anni, avemu aghjustatu trè sistemi di prima linea. Era difficiuli di mantene cù a listessa quantità di risorse chì a cumpagnia puderia permette. Per quessa, u compitu nasce per circà novi sbocchi, risponde à u mercatu in termini di rapidità, in termini di costi internu è efficienza.

Cumu misurà u successu di a migrazione à i microservizi

Dimitri:

Cumu hè determinatu u successu in a migrazione à i microservizi? Chì era u "prima" in ogni cumpagnia? Chì metrica avete utilizatu per determinà u successu di a transizione, è quale hè veramente determinatu?

Sergey:

Prima di tuttu, hè natu in l'IT cum'è un enabler - "sbloccare" novi capacità. Avemu avutu bisognu di fà tuttu più veloce per relativamente u stessu soldi, risponde à e sfide di u mercatu. Avà u successu hè spressione in u numeru di servizii reutilizati da diversi sistemi, unificazione di prucessi trà elli. Avà hè, ma in quellu mumentu era l'uppurtunità di creà una piattaforma è cunfirmà l'ipotesi chì pudemu fà questu, darà un effettu è calculà u casu cummerciale.

Alessandro:

U successu hè piuttostu un sentimentu internu. L'affari volenu sempre di più, è a prufundità di u nostru backlog hè una prova di successu. Mi pare cusì.

Sergey:

Iè, sò d'accordu. In trè anni, avemu digià più di dui centu servizii è backlog. U bisognu di risorse in a squadra hè solu crescente - da 30% annu. Questu hè accadutu perchè a ghjente si sentia: hè più veloce, hè diversu, ci sò diverse tecnulugia, tuttu questu hè in sviluppu.

I microservizi venenu, ma u core resterà

Dimitri:

Hè cum'è un prucessu senza fine induve investite in u sviluppu. A transizione à i microservizi per l'affari hè digià finita o micca?

Sergey:

Hè assai faciule di risponde. Chì ne pensate: rimpiazzà i telefoni hè un prucessu infinitu? Avemu stessu cumprà telefoni ogni annu. E quì hè quì: finu à chì ci hè bisognu di rapidità, per adattazione à u mercatu, alcuni cambiamenti seranu necessarii. Questu ùn significa micca chì abbandunemu e cose standard.

Ma ùn pudemu micca copre è riparà tuttu in una volta. Avemu l'eredità, servizii d'integrazione standard chì esistevanu prima: autobus d'impresa è cusì. Ma ci hè un backlog, è ci hè ancu bisognu. U numeru di applicazioni mobili è e so funziunalità hè in crescita. À u listessu tempu, nimu dice chì vi sarà datu 30% di più soldi. Vale à dì, ci sò sempre bisogni da una banda, è una ricerca di efficienza da l'altru.

Dimitri:

A vita hè in bona forma. (ride)

Alessandro:

In generale, sì. Ùn avemu micca avvicinamenti rivoluzionarii per sguassà a parte core da u paisaghju. U travagliu sistematicu hè in corso per decompone i sistemi in modu chì sò più coherenti cù l'architettura di microserviziu, per riduce l'influenza di i sistemi nantu à l'altri.

Ma avemu pensatu à mantene a parte core, postu chì in u paisaghju di l'operatore ci saranu sempre alcune plataforme chì compru. In novu, avemu bisognu di un equilibriu sanu: ùn duvemu micca affruntà à taglià u core. Pudemu i sistemi fiancu à fiancu, è avà risulta chì simu digià in cima di parechje parti core. In più, sviluppendu a funziunalità, creamu e rapprisentazioni necessarie per tutti i canali chì travaglianu cù i nostri servizii di cumunicazione.

Cumu vende microservizi à l'imprese

Dimitri:

Sò ancu interessatu - per quelli chì ùn anu micca cambiatu, ma pensanu à: quantu faciule era di vende sta idea à l'affari è era una avventura, un prughjettu d'investimentu? O era una strategia cuscente: avà andemu à i microservizi è basta, nunda ùn ci ferma. Cumu era per voi?

Sergey:

Ùn vendemu micca un approcciu, ma un benefiziu cummerciale. Ci era un prublema in l'affari, è avemu pruvatu à risolve. À quellu mumentu, hè stata espressa in u fattu chì i diversi canali anu utilizatu principii diffirenti per u calculu di i prezzi - separatamente per prumuzioni, per prumuzioni, etc. Era difficiuli di mantene, errori accaduti, è avemu intesu lagnanza di i clienti. Questu hè, avemu vindutu una suluzione à un prublema, ma avemu vinutu cù u fattu chì avemu bisognu di soldi per creà una piattaforma. E anu dimustratu un casu cummerciale cù l'esempiu di a prima tappa di l'investimentu: cumu continueremu à ricuperà è ciò chì ci permetterà di fà.

Dimitri:

Avete registratu in qualchì modu u tempu di a prima tappa?

Sergey:

Iè, sicuru. Avemu attribuitu 6 mesi per creà u core cum'è una piattaforma è pruvà u pilotu. Duranti stu tempu, avemu pruvatu à creà una piattaforma nantu à quale skate u pilotu. Allora l'ipotesi hè stata cunfirmata, è postu chì travaglia, significa chì pudemu cuntinuà. Anu cuminciatu à riplicà è rinfurzanu a squadra - l'hanu trasladatu in una divisione separata chì face cusì.

Dopu vene u travagliu sistematicu basatu annantu à i bisogni di l'affari, l'opportunità, a dispunibilità di risorse è tuttu ciò chì hè attualmente in l'opere.

Dimitri:

OK. Alessandru, chì dici ?

Alessandro:

I nostri microservizi sò nati da a "schiuma di u mare" - per via di risparmiu di risorse, per via di qualchi reste in forma di capacità di u servitore è a redistribuzione di e forze in a squadra. In principiu, ùn avemu micca vindutu stu prughjettu à l'affari. Questu era un prughjettu induve avemu investigatu è sviluppatu in cunseguenza. Avemu principiatu à u principiu di 2018 è simpricimenti sviluppatu sta direzzione cun entusiasmu. A vendita hè appena principiata è simu in u prucessu.

Dimitri:

Succede chì un affari vi permette di fà cose cum'è Google - un ghjornu liberu à settimana? Avete una direzzione cusì?

Alessandro:

À u listessu tempu chì a ricerca, avemu ancu trattatu di prublemi di cummerciale, cusì tutti i nostri microservizi sò suluzioni à i prublemi di l'affari. Solu à u principiu avemu custruitu microservices chì copre una piccula parte di a basa di abbonati, è avà simu prisenti in quasi tutti i prudutti di punta.

È l'impattu materiale hè digià chjaru - pudemu digià esse cuntatu, a rapidità di u lanciu di u produttu è l'inguernu persu pò esse stimatu se avemu avutu seguitu u vechju percorsu. Questu hè ciò chì custruemu u casu.

Microservizi: hype o necessità?

Dimitri:

I numeri sò numeri. È i rivenuti o soldi salvati hè assai impurtante. E s'è vo guardate l'altra parte ? Sembra chì i microservizi sò una tendenza, un hype è parechje cumpagnie l'abusanu? Cumu distingue chjaramente ciò chì fate è ùn traduce micca in microservizi? Sè eredità avà, averà ancu eredità in 5 anni? Chì serà l'età di i sistemi d'infurmazione chì travaglianu in M.Video-Eldorado è MegaFon in 5 anni? Ci saranu sistemi d'infurmazione di deci anni, di quindici anni o serà una nova generazione ? Cumu vede questu?

Sergey:

Mi pari chì hè difficiule di pensà assai luntanu. Se guardemu in daretu, quale hà imaginatu chì u mercatu di a tecnulugia si sviluppassi in questu modu, cumprese l'apprendimentu automaticu è l'identificazione di l'utilizatori per faccia? Ma s'è vo fighjate à l'anni à vene, mi pare chì i sistemi core, sistemi di classi ERP di l'impresa in cumpagnie - anu travagliatu per un bellu pezzu.

E nostre cumpagnie sò cullettivamente 25 anni, cù ERP classicu assai prufonda in u paisaghju di i sistemi. Hè chjaru chì pigliamu alcuni pezzi da quì è pruvemu di aggregali in microservizi, ma u core resterà. Hè difficiuli per mè avà imagine chì avemu da rimpiazzà tutti i sistemi di core quì è si move rapidamente à l'altru, brillanti di i novi sistemi.

Sò un sustinitore di u fattu chì tuttu ciò chì hè più vicinu à u cliente è u cunsumadore hè induve u più grande benefiziu è u valore di l'affari hè, induve l'adattabilità è u focusu nantu à a rapidità, à u cambiamentu, à "pruvà, annullà, riutilizà, fate qualcosa di diversu" sò bisognu "-hè quì chì u paisaghju cambierà. E i prudutti di scatula ùn sò micca bè ind'è quì. Almenu ùn avemu micca vistu. I suluzioni più faciuli, più simplici sò necessarii quì.

Avemu vistu stu sviluppu:

  • sistemi d'infurmazione core (principalmente back office);
  • i strati mediani in forma di microservizi cunnetta u core, aggregate, creanu un cache, è cusì;
  • sistemi di prima linea sò destinati à u cunsumadore;
  • una strata di integrazione chì hè generalmente integrata in i mercati, altri sistemi è ecosistemi. Questa capa hè u più ligera pussibule, simplice, è cuntene un minimu di logica cummerciale.

Ma à u listessu tempu, sò un sustinitore di cuntinuà à aduprà i vechji principii si sò usati in modu adattatu.

Diciamu chì avete un sistema di impresa classicu. Hè situatu in u paisaghju di un venditore è hè custituitu di dui moduli chì travaglianu cù l'altri. Ci hè ancu una interfaccia d'integrazione standard. Perchè rifà è portà un microserviziu quì?

Ma quandu ci sò moduli 5 in u back office, da quale pezzi d'infurmazioni sò cullati in un prucessu di cummerciale, chì hè allora utilizatu da i sistemi di front-line 8-10, u benefiziu hè immediatamente notevuli. Pigliate da cinque sistemi di back-office è creanu un serviziu, un isolatu, chì hè focu annantu à u prucessu cummerciale. Fate u serviziu tecnologicamente avanzatu - in modu chì cache l'infurmazioni è hè tolerante à i difetti, è travaglia ancu cù documenti o entità cummerciale. È l'integrate secondu un principiu unicu cù tutti i prudutti di prima linea. Hannu annullatu u pruduttu di prima linea - anu solu disattivatu l'integrazione. Dumane avete bisognu di scrive una applicazione mobile o fà un picculu situ web è mette solu una parte in funziunalità - tuttu hè simplice: l'avete assemblatu cum'è un custruttore. Vecu più sviluppu in questa direzzione - almenu in u nostru paese.

Alessandro:

Sergey hà descrittu cumplettamente u nostru approcciu, grazie. Diceraghju solu induve certamenti ùn andemu micca - à a parte core, à u tema di a fatturazione in linea. Vale à dì, a valutazione è a carica fermanu, in fattu, un "grande" thresher chì scrive in modu affidabile i soldi. È stu sistema hà da cuntinuà à esse certificatu da e nostre autorità regulatori. Tuttu ciò chì guarda versu i clienti, sicuru, hè microservizi.

Dimitri:

Quì a certificazione hè una storia. Probabilmente più sustegnu. Se passate pocu in supportu o u sistema ùn hà micca bisognu di supportu è mudificazione, hè megliu micca tuccà. Un cumprumissu raghjone.

Cumu sviluppà microservizi affidabili

Dimitri:

Va bè. Ma sò sempre interessatu. Avà dite una storia di successu: tuttu andava bè, avemu cambiatu à i microservizi, difendemu l'idea à l'affari, è tuttu hà travagliatu. Ma aghju intesu altre storie.

Un paru d'anni fà, una sucietà svizzera chì avia investitu dui anni in u sviluppu di una nova piattaforma di microserviziu per i banche hà eventualmente chjusu u prugettu. Completamente colapsatu. Parechji milioni di franchi svizzeri sò stati spesi, è à a fine a squadra hè stata dispersa - ùn hà micca travagliatu.

Avete avutu storie simili? Ci sò stati o ci sò difficultà ? Per esempiu, u mantenimentu di i microservizii è u monitoraghju hè ancu un mal di testa in l'attività operativa di a cumpagnia. Dopu tuttu, u numeru di cumpunenti aumenta decine di volte. Cumu si vede, ci sò stati esempi insuccessibili di investimenti quì? E chì pudete cunsiglià e persone per ùn avè micca scontru tali prublemi?

Alessandro:

Esempi senza successu includenu imprese chì cambianu e priorità è annullanu prughjetti. Quandu in un bonu stadiu di prontezza (in fattu, u MVP hè prontu), l'affari hà dettu: "Avemu novi priorità, andemu à un altru prughjettu, è chjudemu questu".

Ùn avemu micca fallimentu globale cù i microservizi. Dormimu tranquillamente, avemu un turnu di serviziu 24/7 chì serve tuttu u BSS [sistema di supportu di l'affari].

È una cosa più - affittamu microservizi secondu e regule chì si applicanu à i prudutti in box. A chjave per u successu hè chì avete bisognu, prima, di assemblà una squadra chì prepararà cumplettamente u microserviziu per a produzzione. U sviluppu stessu hè, cundizionalmente, 40%. U restu hè analitica, metodulugia DevSecOps, integrazioni ghjuste è architettura ghjusta. Prestemu una attenzione particulari à i principii di custruisce applicazioni sicure. I rapprisentanti di a sicurità di l'infurmazioni participanu à ogni prughjettu sia in a fase di pianificazione di l'architettura sia durante u prucessu di implementazione. Gestiscenu ancu sistemi per analizà u codice per i vulnerabili.

Diciamu chì implementemu i nostri servizii senza statu - l'avemu in Kubernetes. Questu permette à tutti di dorme tranquillamente per via di l'auto-scaling è l'autu-aumentu di i servizii, è u turnu di duvere raccoglie incidenti.

In tutta l'esistenza di i nostri microservizi, ci sò stati solu unu o dui incidenti chì anu righjuntu a nostra linea. Avà ùn ci sò micca prublemi cù u funziunamentu. Avemu, sicuru, ùn avemu micca 200, ma circa 50 microservizi, ma sò usati in i prudutti di punta. Se fallenu, seremu i primi à sapè.

Microservizi è HR

Sergey:

Sò d'accordu cù u mo cumpagnu nantu à u trasferimentu à u sustegnu - chì u travagliu deve esse urganizatu currettamente. Ma vi dicu di i prublemi chì, sicuru, esistenu.

Prima, a tecnulugia hè nova. Questu hè hype in una bona manera, è truvà un specialista chì capisce è pò creà questu hè un grande sfida. A cumpetizione per i risorse hè loca, cusì l'esperti valenu u so pesu in oru.

Siconda, cù a creazione di certi paisaghji è un numeru crescente di servizii, u prublema di reutilizazione deve esse sempre risolta. Cum'è i sviluppatori piace à fà: "Scrivemu assai cose interessanti quì avà ..." Per quessa, u sistema cresce è perde a so efficacità in termini di soldi, costu di pruprietà, etc. Vale à dì, hè necessariu di include a reutilizazione in l'architettura di u sistema, l'include in a roadmap per l'introduzione di servizii è u trasferimentu di u legatu à una nova architettura.

Un altru prublema - ancu s'ellu hè bonu in u so modu - hè a cumpetizione interna. "Oh, novi tipi di moda sò apparsu quì, parlanu una nova lingua." E persone, sicuru, sò diverse. Ci sò quelli chì sò abituati à scrive in Java, è quelli chì scrivenu è utilizanu Docker è Kubernetes. Quessi sò persone completamente diverse, parlanu in modu diversu, usanu termini diffirenti è qualchì volta ùn si capiscenu micca. A capacità o incapacità di sparte a pratica, a cunniscenza, in questu sensu hè ancu un prublema.

Ebbè, scalendu risorse. "Bè, andemu! È avà vulemu più veloce, più. Chì, ùn pudete micca? Ùn hè micca pussibule di furnisce duie volte in un annu? E perchè?" Tali dolori di crescita sò prubabilmente standard per parechje cose, assai avvicinamenti, è pudete sentu.

In quantu à u monitoraghju. Mi pare chì i servizii o l'arnesi di monitoraghju industriale sò digià apprendu o sò capaci di travaglià cù Docker è Kubernetes in un modu sfarente, micca standard. Cusì, per esempiu, ùn finiscinu micca cù 500 macchine Java sottu chì tuttu questu hè in esecuzione, vale à dì, aggregate. Ma questi prudutti mancanu ancu a maturità, anu da passà per questu. U tema hè veramente novu, cuntinueghja à sviluppà.

Dimitri:

Iè, assai interessante. È questu hè applicà à HR. Forsi u vostru prucessu HR è a marca HR anu cambiatu un pocu in questi 3 anni. Avete cuminciatu à recrutà altre persone cù cumpetenze diverse. È ci sò prubabilmente dui pro è cuns. Prima, blockchain è scienza di dati eranu l'hype, è i specialisti in elli valenu milioni. Avà u costu hè cascatu, u mercatu hè diventatu saturatu, è ci hè una tendenza simili in i microservizi.

Sergey:

Iè, assolutamente.

Alessandro:

HR pone a quistione: "Induve hè u vostru unicornu rosa trà u backend è u frontend?" HR ùn capisce micca ciò chì hè un microserviziu. Li diciamu u sicretu è dicemu chì u backend hà fattu tuttu, è ùn ci hè micca unicornu. Ma HR hè cambiatu, apprendu rapidamente è recrutendu persone chì anu cunniscenze basi di IT.

L'evoluzione di i microservizi

Dimitri:

Se fighjate à l'architettura di destinazione, i microservizi parenu un tali mostru. U vostru viaghju hà pigliatu parechji anni. Altri anu un annu, altri trè anni. Avete previstu tutti i prublemi, l'architettura di destinazione, hà cambiatu qualcosa? Per esempiu, in u casu di i microservizi, i gateway è e maglie di serviziu sò avà apparsu di novu. L'avete usatu in u principiu o avete cambiatu l'architettura stessa? Avete tali sfide?

Sergey:

Avemu digià riscritto parechji protokolli di cumunicazione. À u principiu ci era un protokollu, avà avemu cambiatu à un altru. Aumentemu a sicurezza è l'affidabilità. Avemu principiatu cù tecnulugia di l'impresa - Oracle, Web Logic. Avà ci alluntanemu da i prudutti di l'impresa tecnologica in i microservizi è si passanu à tecnulugii open source o completamente aperti. Abandunemu e basa di dati è movemu à ciò chì travaglia più efficace per noi in questu mudellu. Ùn avemu più bisognu di tecnulugia Oracle.

Avemu principiatu solu cum'è un serviziu, senza pensà à quantu avemu bisognu di un cache, ciò chì avemu da fà quandu ùn ci era micca una cunnessione cù un microserviziu, ma i dati eranu necessarii, etc. Avà sviluppemu una piattaforma per chì l'architettura pò esse descritta. micca in a lingua di i servizii, è in a lingua di l'affari, pigliate a logica cummerciale à u prossimu livellu quandu avemu principiatu à parlà in parolle. Avà avemu amparatu à parlà in lettere, è u prossimu livellu hè quandu i servizii seranu cullati in un tipu di aggregatu, quandu questu hè digià una parolla - per esempiu, una carta di produttu sanu. Hè assemblatu da i microservizi, ma hè una API custruita nantu à questu.

A sicurità hè assai impurtante. Appena avete principiatu à esse accessìbule è avete un serviziu per mezu di quale pudete ottene assai cose interessanti, è assai rapidamente, in una split second, allora ci hè un desideriu di ottene in una manera micca u più sicuru. Per alluntanassi da questu, avemu avutu à cambià l'approcciu à a prova è u monitoraghju. Avemu avutu à cambià a squadra, a struttura di gestione di consegna, CI / CD.

Questa hè una evoluzione - cum'è cù i telefoni, solu assai più veloce: prima ci sò stati i telefuni push-button, dopu apparsu i telefoni intelligenti. Anu riscrivite è ridisegnu u pruduttu perchè u mercatu avia un bisognu diversu. Hè cusì chì evuluvemu: prima, decima, travagliu.

Iterativamente, qualcosa hè dispostu per annu da u puntu di vista di a tecnulugia, qualcosa altru da u puntu di vista di u backlog è i bisogni. Cunnettemu una cosa à l'altru. A squadra spende 20% in u debitu tecnicu è u supportu tecnicu per a squadra, 80% in l'entità cummerciale. È ci movemu cun una intelligenza di perchè facemu, perchè facemu sti miglii tecnologichi, ciò chì portaranu. Cusì.

Dimitri:

Cool. Chì ci hè in MegaFon?

Alessandro:

A sfida principale quandu avemu ghjuntu à i microservizi ùn era micca di cascà in u caosu. L'uffiziu di l'architettura di MegaFon s'hè unitu subitu à noi, ancu diventatu un iniziatore è un mutore - avà avemu una architettura assai forte. U so compitu era di capisce quale mudellu di destinazione andemu è quali tecnulugii deve esse pilotatu. Cù l'architettura, avemu realizatu sti piloti noi stessi.

A quistione dopu era: "Allora cumu sfruttà tuttu questu?" È un altru: "Cumu assicurà una interazione trasparente trà i microservizi?" A rete di serviziu ci hà aiutatu à risponde à l'ultima quistione. Avemu pilotatu Istio è ci hè piaciutu i risultati. Avà simu in a tappa di sparghje in zoni pruduttivi. Avemu una attitudine pusitiva versu tutte e sfide - u fattu chì avemu bisognu di cambià constantemente a pila, amparà qualcosa di novu. Semu interessate à sviluppà, micca à sfruttà e soluzioni antiche.

Dimitri:

Parole d'oru ! Tali sfide mantenenu a squadra è l'affari nantu à i so pedi è creanu u futuru. GDPR hà criatu capu di a prutezzione di dati, è i sfidi attuali creanu i microservizi principali è l'ufficiali di l'architettura. È piace.

Avemu discututu assai. A cosa principal hè chì un bonu disignu di microservizi è l'architettura stessu permette di evità parechji sbagli. Di sicuru, u prucessu hè iterativu è evolutivu, ma hè u futuru.

Grazie à tutti i participanti, grazie à Sergei è Alexander !

Dumande da l'audienza

Domanda di l'audienza (1):

Sergey, cumu hà cambiatu a gestione IT in a vostra cumpagnia? Aghju capitu chì quandu ci hè una grande pila di parechji sistemi, cumu hè amministratu hè un prucessu abbastanza chjaru è logicu. Cumu ricustruisce a gestione di u cumpunente IT dopu chì un gran numaru di microservizii sò stati integrati in pocu tempu?

Sergey:

Sò d'accordu cù u mo cumpagnu chì l'architettura hè assai impurtante cum'è un mutore di cambiamentu. Avemu principiatu per avè una divisione architettonica. L'architetti sò simultaneamente i patroni di a distribuzione di funziunalità è e esigenze di cumu si apparisce in u paisaghju. Allora agiscenu ancu cum'è coordinatori di sti cambiamenti. In u risultatu, ci sò stati cambiamenti specifichi à un prucessu di consegna specificu quandu avemu creatu una piattaforma CI / CD.

Ma u standard, i principii basi di u sviluppu, l'analisi cummerciale, a prova è u sviluppu ùn sò micca stati annullati. Avemu solu aghjustatu a velocità. Nanzu, u ciculu hà pigliatu assai, a stallazione in ambienti di prova hà pigliatu assai più. Avà l'affari vede u benefiziu è dice: "Perchè ùn pudemu micca fà u listessu in altri lochi?"

Hè cum'è, in una bona manera, una iniezione in forma di una vacuna chì dimustrava: pudete fà cusì, ma pudete fà un altru modu. Di sicuru, ci hè un prublema in u persunale, in e cumpetenze, in a cunniscenza, in a resistenza.

Domanda di l'audienza (2):

I critichi di l'architettura di microserviziu dicenu chì a prova è u sviluppu sò difficili. Questu hè logicu induve e cose si complicanu. Chì sfide hà affruntatu a vostra squadra è cumu l'avete superatu? Quistione per tutti.

Alessandro:

Ci sò difficultà quandu si move da i microservizi à una piattaforma, ma ponu esse risolti.

Per esempiu, facemu un pruduttu chì hè custituitu da 5-7 microservices. Avemu bisognu di furnisce testi d'integrazione in tutta a pila di microservizi per dà u lume verde per passà à u ramu maestru. Stu compitu ùn era micca novu per noi: aviamu fattu questu per un bellu pezzu in BSS, quandu u venditore ci hà furnitu solu suluzione digià spedite.

È u nostru prublema hè solu in a piccula squadra. Un ingegnere QA hè necessariu per un pruduttu condicionale. È cusì, spedimu un pruduttu di 5-7 microservices, di quale 2-3 pò esse sviluppatu da terzu. Per esempiu, avemu un pruduttu in u sviluppu di quale u nostru venditore di u sistema di fatturazione, Mail.ru Group è MegaFon R & D participanu. Avemu bisognu di copre questu cù teste prima di spedinu à a produzzione. L'ingegnere QA hà travagliatu annantu à stu pruduttu per un mesi è mezu, è u restu di a squadra hè lasciatu senza u so sustegnu.

Sta cumplessità hè solu causata da scaling. Avemu capitu chì i microservizi ùn ponu micca esse in un vacuum isolamentu assolutu ùn esiste micca. Quandu cambiassi un serviziu, avemu sempre pruvatu à priservà u cuntrattu API. Se qualcosa cambia sottu u cappucciu, u serviziu di fronte ferma. Sì i cambiamenti sò fatali, un tipu di trasfurmazioni architetturale si passa è andemu à un metamodel di dati completamente diversu, chì hè cumplettamente incompatibile - solu allora parlemu di a specificazione di l'API di serviziu v2 chì appare. Supportemu a prima è a seconda versione simultaneamente, è dopu chì tutti i cunsumatori cambianu à a seconda versione, simpricimenti chjudemu a prima.

Sergey:

Vogliu aghjunghje. Sò assolutamente d'accordu nantu à e cumplicazioni - succedenu. U paisaghju hè diventatu più cumplessu, è i costi generali aumentanu, soprattuttu per a prova. Cumu affruntà questu: cambià à a prova automatizata. Iè, duverete investisce in più in scrittura autotest è test unità. Cusì chì i sviluppatori ùn puderanu micca cumprumissu senza passà a prova, ùn puderanu micca cambià u codice. Cusì chì ancu u buttone push ùn funziona senza autotest, test unità.

Hè impurtante di mantene a funziunalità precedente, è questu hè sopratuttu supplementu. Se scrivite una tecnulugia à un altru protokollu, allora scrivite finu à chì chjude tuttu cumpletamente.

Certe volte ùn facemu micca teste end-to-end apposta, perchè ùn vulemu micca piantà u sviluppu, ancu s'è avemu ancu una cosa dopu l'altru. U paisaghju hè assai grande, cumplessu, ci sò parechji sistemi. A volte sò solu stubs - iè, abbassate u marghjenu di salvezza, più risichi appariscenu. Ma à u stessu tempu liberate u supply.

Alessandro:

Iè, l'autotests è i testi unità permettenu di creà un serviziu d'alta qualità. Semu per un pipeline chì ùn pò esse passatu senza teste di unità è integrazione. Spessu avemu da trascinà emulatori è sistemi cummerciale in zoni di teste è ambienti di sviluppu, perchè micca tutti i sistemi ponu esse posti in zoni di teste. Inoltre, ùn sò micca solu bagnati - generemu una risposta cumpleta da u sistema. Questa hè una parte seria di travaglià cù i microservizi, è avemu ancu investitu in questu. Senza questu, u caosu serà.

Domanda di l'audienza (3):

In quantu capiscu, i microservizi inizialmente crescenu da una squadra separata è avà esistenu in questu mudellu. Chì sò i so pro è i contra?

Avemu solu una storia simili: una spezia di fabbrica di microservizi hè nata. Avà avemu cuncettualmente ghjuntu à u puntu induve estendemu stu approcciu à a produzzione in i flussi è in i sistemi. In altri palori, simu alluntanati da u sviluppu centralizatu di microservizi, mudelli di microservizi, è si avvicinanu à i sistemi.

In cunsiquenza, u nostru funziunamentu và ancu à i sistemi, vale à dì, decentralizemu stu tema. Chì ghjè u vostru approcciu è quale hè a vostra storia di destinazione?

Alessandro:

Avete abbandunatu u nome "fabbrica di microservizi" ghjustu da a vostra bocca - vulemu ancu scala. Prima, avemu veramente una squadra avà. Vulemu furnisce tutte e squadre di sviluppu chì MegaFon hà l'uppurtunità di travaglià in un ecosistema cumuni. Ùn vulemu piglià cumplettamente tutte e funziunalità di sviluppu chì avemu avà. U compitu lucale hè di scala, u compitu glubale hè di guidà u sviluppu à tutte e squadre in a capa di microserviziu.

Sergey:

Vi dicu a strada chì avemu pigliatu. Avemu veramente cuminciatu à travaglià cum'è una squadra, ma avà ùn simu solu. Sò un sustentore di i seguenti: ci deve esse un pruprietariu di u prucessu. Qualchissia hà bisognu di capiscenu, gestisce, cuntrullà è custruisce u prucessu di sviluppu di i microservizi. Deve pussede risorse è impegnà in a gestione di e risorse.

Queste risorse, chì cunnoscenu tecnulugii, specifichi è capiscenu cumu custruisce microservizii, ponu esse situati in squadre di produttu. Avemu un mischju induve e persone da a piattaforma di microserviziu sò in a squadra di produttu chì face l'applicazione mobile. Sò quì, ma travaglianu secondu u prucessu di u dipartimentu di gestione di a piattaforma di microserviziu cù u so gestore di sviluppu. Dentru sta divisione ci hè una squadra separata chì tratta di tecnulugia. Vale à dì, mischjemu una piscina cumuna di risorse trà noi è li dividemu, dendu à e squadre.

À u listessu tempu, u prucessu ferma generale, cuntrullatu, prucede secondu i principii tecnologichi generali, cù teste di unità è cusì - tuttu ciò chì hè custruitu nantu à a cima. Ci ponu esse culonni in a forma di risorse cullate da diversi dipartimenti di l'approcciu di u produttu.

Alessandro:

Sergey, sì veramente u pruprietariu di u prucessu, nò? Hè spartutu u backlog di u travagliu? Quale hè rispunsevule per a so distribuzione?

Sergey:

Fighjate: eccu u mischju di novu. Ci hè un backlog chì hè furmatu basatu nantu à i migliori tecnologichi - questa hè una storia. Ci hè un backlog, chì hè formulatu da i prughjetti, è ci hè un backlog da i prudutti. Ma a sequenza d'intruduzioni in ognuna di i prudutti di serviziu o a creazione di stu serviziu hè sviluppata da un specialista di produttu. Ùn hè micca in a direzzione di l'IT; Ma u mo pòpulu definitivamente travaglia secondu u listessu prucessu.

U pruprietariu di u backlog in diverse direzzione - u backlog di cambiamenti - seranu diverse persone. A cunnessione di i servizii tecnologichi, u so principiu di urganizazione - tuttu questu serà in IT. Possu a piattaforma è e risorse ancu. À a cima hè ciò chì cuncerna u backlog è i cambiamenti funziunali, è l'architettura in questu sensu.

Diciamu chì un affari dice: "Vulemu sta funzione, vulemu creà un novu pruduttu - rimettu un prestitu". Rispundemu: "Iè, a rifaremu". L'architetti dicenu: "Pensemu: induve in u prestitu scriveremu i microservizi è cumu faremu?" Allora u spartemu in prughjetti, prudutti o una pila di tecnulugia, mettemu in squadre è implementemu. Avete creatu un pruduttu internu è decisu di utilizà microservizi in stu pruduttu? Dicemu: "Avà i sistemi legacy chì avemu avutu, o sistemi di prima linea, devenu passà à questi microservizi". L'architetti dicenu: "Allora: in u backlog tecnologicu in i prudutti di prima linea - a transizione à i microservizi. Andate". È i spezialisti di prudutti o i pruprietarii di l'imprese capiscenu quantu capacità hè attribuita, quandu serà fattu è perchè.

A fine di a discussione, ma micca tutti

A cunferenza mailto:CLOUD hè stata urganizata Mail.ru Soluzioni Cloud.

Facemu ancu altri avvenimenti - per esempiu. @Kubernetes Meetup, induve simu sempre à circà grandi parlanti:

  • Segui @Kubernetes è altre notizie @Meetup in u nostru canale Telegram t.me/k8s_mail
  • Interessatu à parlà à unu di i @Meetups? Lasciate una dumanda per mcs.mail.ru/speak

Source: www.habr.com

Add a comment