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;
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.
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è.