{"id":38981,"date":"2019-10-31T22:27:10","date_gmt":"2019-10-31T19:27:10","guid":{"rendered":"https:\/\/prohoster.info\/blog\/servisy-siroty-obratnaya-storona-mikro-servisnoj-arhitektury\/"},"modified":"2019-10-31T22:27:10","modified_gmt":"2019-10-31T19:27:10","slug":"servisy-siroty-obratnaya-storona-mikro-servisnoj-arhitektury","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/servisy-siroty-obratnaya-storona-mikro-servisnoj-arhitektury","title":{"rendered":"Servizi orfani: il rovescio della medaglia dell'architettura dei microservizi","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Il direttore delle operazioni del portale Banki.ru, Andrey Nikolsky, ha parlato alla conferenza dell'anno scorso <noindex><a rel=\"nofollow\" href=\"http:\/\/devopsdays.ru\/?utm_source=habr&amp;utm_medium=social&amp;utm_campaign=dod-2019&amp;utm_content=post3\">DevOpsDays Mosca<\/a><\/noindex> sui servizi orfani: come identificare un orfano nell'infrastruttura, quali siano i problemi dei servizi orfani, cosa fare e come comportarsi se non c'\u00e8 altra soluzione.<\/p>\n<p>Di seguito troverete la versione testuale della relazione. <\/p>\n<p><center><div class=\"youtube-placeholder\" data-id=\"j9I4oeEXBO8\" onclick=\"loadVideo(this)\">\r\n        <img decoding=\"async\" src=\"https:\/\/img.youtube.com\/vi\/j9I4oeEXBO8\/hqdefault.jpg\" alt=\"Riproduci video\" loading=\"lazy\" width=\"480\" height=\"360\" style=\"width:100%;height:auto;\">\r\n        <div class=\"play-button\"><\/div>\r\n    <\/div><\/center><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nSalve, colleghi! Mi chiamo Andrey e mi occupo delle operazioni in Banki.ru.<\/p>\n<p>Abbiamo grandi servizi, ci sono monolith-service, ci sono servizi in una comprensione pi\u00f9 classica e ci sono quelli molto piccoli. Nella mia terminologia di lavoro dico che se un servizio \u00e8 semplice e piccolo, \u00e8 micro, se non \u00e8 molto semplice e non \u00e8 piccolo, \u00e8 semplicemente un servizio. <\/p>\n<h3><b>Vantaggi dei servizi<\/b><\/h3>\n<p>\nDar\u00f2 un rapido sguardo ai vantaggi dei servizi. <\/p>\n<p><img decoding=\"async\" alt=\"Servizi orfani: il rovescio della medaglia dell&#039;architettura dei microservizi\" src=\"\/wp-content\/uploads\/2019\/10\/4c34a3af9125c5869eb7c1650bc3855a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPrimo: scalabilit\u00e0. Puoi rapidamente fare qualcosa su un servizio e avviarlo in produzione. Se ricevi traffico, cloni il servizio. Se ricevi altro traffico, lo cloni di nuovo e continui cos\u00ec. Questo \u00e8 un buon vantaggio e, in effetti, quando abbiamo iniziato, era considerato il motivo principale per cui facciamo tutto questo.<\/p>\n<p><img decoding=\"async\" alt=\"Servizi orfani: il rovescio della medaglia dell&#039;architettura dei microservizi\" src=\"\/wp-content\/uploads\/2019\/10\/c536f380ece14e0c873f765b587fb3c3.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIn secondo luogo, lo sviluppo isolato, quando hai pi\u00f9 team di sviluppo, diversi sviluppatori in ogni team, e ogni team sviluppa il proprio servizio.<\/p>\n<p>Con i team ci sono delle sfide. Gli sviluppatori sono diversi. Esistono, ad esempio, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=VPDJXngp2bM\">persone uniche<\/a><\/noindex>. L'ho visto per la prima volta da Maxim Dorofeev. A volte, le persone uniche sono presenti in alcuni team, mentre in altri no. Questo rende i diversi servizi utilizzati in azienda un po' disomogenei. <\/p>\n<p><img decoding=\"async\" alt=\"Servizi orfani: il rovescio della medaglia dell&#039;architettura dei microservizi\" src=\"\/wp-content\/uploads\/2019\/10\/f1e18ab059bd2b975d4c6ff1b6434626.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nGuarda l'immagine: questo \u00e8 un buon sviluppatore, ha grandi mani e pu\u00f2 fare molte cose. Il problema principale \u00e8 capire da dove provengono queste mani. <\/p>\n<p><img decoding=\"async\" alt=\"Servizi orfani: il rovescio della medaglia dell&#039;architettura dei microservizi\" src=\"\/wp-content\/uploads\/2019\/10\/88fdc7266e97be8732f252908329a8f2.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nI servizi offrono la possibilit\u00e0 di utilizzare diversi linguaggi di programmazione, pi\u00f9 adatti a compiti specifici. Alcuni servizi sono in Go, altri in Erlang, altri in Ruby, alcuni in PHP, altri in Python. Insomma, si pu\u00f2 spaziare molto. Anche qui ci sono delle sfide.<\/p>\n<p><img decoding=\"async\" alt=\"Servizi orfani: il rovescio della medaglia dell&#039;architettura dei microservizi\" src=\"\/wp-content\/uploads\/2019\/10\/98a4b1037066d67e4f16bab934cebac6.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nL'architettura orientata ai servizi riguarda soprattutto il devops. Cio\u00e8, se non hai automazione, non hai un processo di deployment, se configuri manualmente, le tue configurazioni possono cambiare da una istanza all'altra e devi entrare per fare qualcosa, sei nei guai. <\/p>\n<p>Ad esempio, hai 20 servizi e devi deployare manualmente, hai 20 console, e premi contemporaneamente 'invio', come un ninja. Non \u00e8 una situazione molto ideale. <\/p>\n<p>Se hai un servizio dopo il testing (se ovviamente ci sono stati test) e hai ancora bisogno di perfezionarlo per farlo funzionare in produzione, ho anche brutte notizie per te. <\/p>\n<p>Se fai affidamento su specifici servizi di Amazon e lavori in Russia, due mesi fa anche tu avevi 'tutto intorno brucia, sto bene, va tutto alla grande'.<\/p>\n<p><img decoding=\"async\" alt=\"Servizi orfani: il rovescio della medaglia dell&#039;architettura dei microservizi\" src=\"\/wp-content\/uploads\/2019\/10\/474f5f1c3f0ced131df5ee8f30f0aa15.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nUtilizziamo Ansible per automatizzare il deploy, Puppet per la convergenza, Bamboo per l'automazione del deployment, Confluence per documentare tutto questo.<\/p>\n<p>Non ci approfondir\u00f2 perch\u00e9 la presentazione riguarda pi\u00f9 le pratiche di interazione piuttosto che l'implementazione tecnica. <\/p>\n<p><img decoding=\"async\" alt=\"Servizi orfani: il rovescio della medaglia dell&#039;architettura dei microservizi\" src=\"\/wp-content\/uploads\/2019\/10\/ab837bed67ee319d72da705bc632e3f3.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nCi sono state volte in cui, ad esempio, Puppet sul server funziona con Ruby 2, mentre un'applicazione \u00e8 scritta per Ruby 1.8, e insieme non funzionano. Si verifica qualche problema. Quando devi mantenere pi\u00f9 versioni di Ruby su una sola macchina, in genere iniziano i guai. <\/p>\n<p>Noi, ad esempio, forniamo a ogni sviluppatore un ambiente in cui ci sono pi\u00f9 o meno tutti i servizi disponibili, cos\u00ec che abbia un ambiente isolato, possa romperlo e ricostruirlo come desidera. <\/p>\n<p>A volte serve un pacchetto compilato specificamente con supporto per alcune funzionalit\u00e0. \u00c8 una questione piuttosto rigida. Ho ascoltato una presentazione il cui'immagine Docker pesa 45 GB. Certo, su Linux \u00e8 pi\u00f9 semplice, tutto \u00e8 pi\u00f9 leggero, ma comunque non ci sar\u00e0 mai abbastanza spazio. <\/p>\n<p>Inoltre, ci sono dipendenze conflittuali, quando un pezzo del progetto dipende da una versione di una libreria, mentre un altro pezzo dipende da un'altra versione, e queste librerie non possono essere installate insieme in alcun modo. <\/p>\n<p><img decoding=\"async\" alt=\"Servizi orfani: il rovescio della medaglia dell&#039;architettura dei microservizi\" src=\"\/wp-content\/uploads\/2019\/10\/acc4c38c547cd6d0580cf3524532393a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAbbiamo siti e servizi su PHP 5.6, di cui ci vergogniamo, ma che ci possiamo fare. Questa \u00e8 una delle nostre piattaforme. Abbiamo siti e servizi su PHP 7, che sono di pi\u00f9 e di cui non ci vergogniamo. E ogni sviluppatore ha il suo database, dove lavora felice. <\/p>\n<p>Se scrivete in azienda in un'unica lingua, tre macchine virtuali per sviluppatore suona normale. Se avete diversi linguaggi di programmazione, la situazione peggiora.<\/p>\n<p><img decoding=\"async\" alt=\"Servizi orfani: il rovescio della medaglia dell&#039;architettura dei microservizi\" src=\"\/wp-content\/uploads\/2019\/10\/9f5da38456024679ba6a41768466cb82.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAvete siti e servizi su questo, su quello, poi un'altra piattaforma per Go, una piattaforma per Ruby, e qualche Redis aggiuntivo. Alla fine, tutto ci\u00f2 si trasforma in un grande campo di supporto, e qualcosa potrebbe rompersi in qualsiasi momento.<\/p>\n<p><img decoding=\"async\" alt=\"Servizi orfani: il rovescio della medaglia dell&#039;architettura dei microservizi\" src=\"\/wp-content\/uploads\/2019\/10\/20bde06e0aaceea028fabea09540d2a2.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPerci\u00f2 abbiamo sostituito le comodit\u00e0 del linguaggio di programmazione con l'uso di diversi framework, poich\u00e9 i framework su PHP sono abbastanza diversi, con varie possibilit\u00e0, comunit\u00e0 e supporto. E si pu\u00f2 scrivere un servizio in modo tale che ci sia gi\u00e0 qualcosa di pronto per esso. <\/p>\n<h3><b>Ogni servizio ha il proprio team.<\/b><\/h3>\n<p>\n<img decoding=\"async\" alt=\"Servizi orfani: il rovescio della medaglia dell&#039;architettura dei microservizi\" src=\"\/wp-content\/uploads\/2019\/10\/ff32f7449c831e6dcb2bd9c41fb9c8e7.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIl nostro principale vantaggio, che si \u00e8 cristallizzato nel corso degli anni, \u00e8 che ogni servizio ha il proprio team. Questo \u00e8 comodo per grandi progetti, poich\u00e9 consente di risparmiare tempo sulla documentazione, e i manager conoscono bene il loro progetto. <\/p>\n<p>\u00c8 possibile gestire facilmente i compiti di supporto. Ad esempio, se un servizio di assicurazione si guasta, immediatamente il team che si occupa delle assicurazioni interviene per ripararlo. <\/p>\n<p>Nuove funzionalit\u00e0 vengono implementate rapidamente, perch\u00e9 quando avete un servizio atomico, \u00e8 possibile integrare qualcosa di operativo in modo tempestivo. <\/p>\n<p>E quando il vostro servizio si guasta, cosa che inevitabilmente succede, non toccate i servizi di altri, e i programmatori di altri team non vengono da voi impugnando mazze dicendo: \u00abAh-ah, non fare cos\u00ec\u00bb. <\/p>\n<p><img decoding=\"async\" alt=\"Servizi orfani: il rovescio della medaglia dell&#039;architettura dei microservizi\" src=\"\/wp-content\/uploads\/2019\/10\/30d99fa39654701437cdf90929d6a45e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nCome sempre, ci sono delle sfide. Abbiamo team stabili, i manager sono ben legati ai loro team. Ci sono documenti chiari, e i manager monitorano attentamente tutto. Ogni team ha diversi servizi assegnati al manager, e c'\u00e8 un punto di competenza definito. <\/p>\n<p>Se i team sono fluttuanti (questo a volte accade anche da noi), c'\u00e8 un buon metodo chiamato 'mappa stellare'.<\/p>\n<p><img decoding=\"async\" alt=\"Servizi orfani: il rovescio della medaglia dell&#039;architettura dei microservizi\" src=\"\/wp-content\/uploads\/2019\/10\/cd18530d30973628f9351757a800dc37.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nHai un elenco di servizi e persone. L'asterisco indica che una persona \u00e8 un esperto in quel servizio, mentre il libro indica che una persona sta studiando quel servizio. L'obiettivo della persona \u00e8 cambiare il libro in un asterisco. Se non c'\u00e8 nulla scritto accanto al servizio, allora ci sono problemi di cui parler\u00f2 pi\u00f9 avanti. <\/p>\n<h3><b>Come nascono i servizi orfani?<\/b><\/h3>\n<p>\n<img decoding=\"async\" alt=\"Servizi orfani: il rovescio della medaglia dell&#039;architettura dei microservizi\" src=\"\/wp-content\/uploads\/2019\/10\/8ae33d6e940700a5941409b7cedf3e9a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIl primo problema, il primo modo per avere un servizio orfano nella propria infrastruttura, \u00e8 il licenziamento delle persone. Qualcuno ha mai vissuto il momento in cui scadenze aziendali arrivano prima della valutazione delle attivit\u00e0? A volte ci sono scadenze rigide e non c'\u00e8 nemmeno tempo per la documentazione. 'Devi consegnare il servizio in produzione, poi lo completeremo.' <\/p>\n<p>Se il team \u00e8 piccolo, pu\u00f2 capitare che ci sia un solo sviluppatore che scrive tutto, mentre gli altri sono a supporto. \u00abHo scritto l'architettura principale, tu occupati delle interfacce\u00bb. Poi, a un certo punto, il manager se ne va. E in quel periodo, quando il manager \u00e8 andato via e non \u00e8 ancora stato nominato un nuovo, gli sviluppatori decidono da soli in quale direzione va il servizio, cosa sta succedendo. E come sappiamo (torniamo indietro di qualche slide), in alcuni team ci sono persone-uniche, a volte una persona-unica \u00e8 il team leader. Poi si dimette, e ci troviamo con un servizio-orfano. <\/p>\n<p><img decoding=\"async\" alt=\"Servizi orfani: il rovescio della medaglia dell&#039;architettura dei microservizi\" src=\"\/wp-content\/uploads\/2019\/10\/44741c897bfd9dc04e0a977c1cf08df3.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNel frattempo, le richieste di supporto e quelle aziendali non scompaiono, si accumulano nel backlog. Se durante lo sviluppo del servizio ci sono stati errori architettonici, anch'essi si accumulano nel backlog. Il servizio degrada lentamente. <\/p>\n<h3><b>Come riconoscere un orfano?<\/b> <\/h3>\n<p>\nQuesta lista descrive abbastanza bene la situazione. Chi ha riconosciuto qualcosa nella propria infrastruttura?<\/p>\n<p><img decoding=\"async\" alt=\"Servizi orfani: il rovescio della medaglia dell&#039;architettura dei microservizi\" src=\"\/wp-content\/uploads\/2019\/10\/b852d070bb6864f48e3a6ae9921a12b1.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nRiguardo ai work-around documentati: c'\u00e8 un servizio che, in generale, funziona, ha un manuale di due pagine su come utilizzarlo, ma come funziona internamente, nessuno lo sa. <\/p>\n<p>Oppure, ad esempio, ci sono dei servizi di accorciamento link. Noi, per esempio, attualmente utilizziamo tre diversi servizi di accorciamento link per scopi diversi in vari servizi. Sono queste le conseguenze. <\/p>\n<p><img decoding=\"async\" alt=\"Servizi orfani: il rovescio della medaglia dell&#039;architettura dei microservizi\" src=\"\/wp-content\/uploads\/2019\/10\/350a041f21fcd75d9a948d2b9b77cda8.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nOra sar\u00f2 il capitano dell'ovviet\u00e0. Cosa bisogna fare? Prima di tutto, \u00e8 necessario trasferire il servizio a un altro manager, a un altro team. Se il tuo team leader non si \u00e8 ancora dimesso, allora in questo altro team, quando capisci che il servizio \u00e8 simile a un orfano, bisogna includere qualcuno che ne comprenda almeno un po'. <\/p>\n<p>La cosa principale: devono esserci procedure di trasferimento scritte come inchiostro. Nel nostro caso, di solito mi occupo di questo, perch\u00e9 ho bisogno che tutto funzioni. I manager hanno bisogno che venga consegnato rapidamente, e quel che accadr\u00e0 dopo non \u00e8 pi\u00f9 cos\u00ec importante per loro. <\/p>\n<p><img decoding=\"async\" alt=\"Servizi orfani: il rovescio della medaglia dell&#039;architettura dei microservizi\" src=\"\/wp-content\/uploads\/2019\/10\/87b9d86c2c795f5d71db1489cab200a2.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIl modo successivo per creare un orfano \u00e8: \"Facciamolo in outsourcing, sar\u00e0 pi\u00f9 veloce, e poi lo daremo al team\". \u00c8 chiaro che tutti hanno dei piani nel team, una lista d'attesa. Spesso il cliente aziendale pensa che l'outsourcing far\u00e0 le cose allo stesso modo del tech team presente nell'azienda. Anche se i motivatori sono diversi. In outsourcing ci possono essere soluzioni tecnologiche strane e soluzioni algoritmiche bizzarre.<\/p>\n<p><img decoding=\"async\" alt=\"Servizi orfani: il rovescio della medaglia dell&#039;architettura dei microservizi\" src=\"\/wp-content\/uploads\/2019\/10\/b4208ccb134cbc694ea4993ec2751ec5.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAd esempio, avevamo un servizio in cui Sphinx si trovava in posti inaspettati. Pi\u00f9 tardi spiegher\u00f2 cosa ho dovuto fare. <\/p>\n<p>Gli outsourcer utilizzano framework scritti da loro. \u00c8 semplicemente PHP puro con copia-incolla da un progetto precedente, dove si pu\u00f2 trovare di tutto. Grandi patch nei script di deployment, quando \u00e8 necessario modificare alcune righe in un file utilizzando complesse script Bash, mentre questi script di deployment vengono chiamati da un terzo script. Alla fine, cambi il sistema di deployment, scegli qualcosa di diverso, e puff, il tuo servizio smette di funzionare. Perch\u00e9 dovevi anche impostare 8 link tra diverse cartelle. Oppure pu\u00f2 succedere che mille record funzionano, mentre centomila no. <\/p>\n<p>Continuer\u00f2 a fare da capitano. L'accettazione del servizio dall'outsourcing \u00e8 una procedura necessaria. A chi \u00e8 capitato che un servizio esternalizzato arrivi e non venga accettato? Non \u00e8 cos\u00ec popolare come un servizio orfano, ma comunque. <\/p>\n<p><img decoding=\"async\" alt=\"Servizi orfani: il rovescio della medaglia dell&#039;architettura dei microservizi\" src=\"\/wp-content\/uploads\/2019\/10\/92ef67a1bb714cdfb820efe432d0303b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u00c8 necessario controllare il servizio, \u00e8 necessario rivedere il servizio, \u00e8 necessario cambiare le password. Abbiamo avuto un caso in cui ci \u00e8 stato presentato un servizio con un pannello di amministrazione dove c'era scritto 'if login == \u2018admin\u2019 &amp;&amp; password == \u2018admin\u2019...'. Stiamo qui a riflettere, e queste cose vengono scritte da persone nel 2018?<\/p>\n<p>Testare lo spazio di archiviazione \u00e8 fondamentale. Bisogna vedere cosa succede con centomila registrazioni, prima di lanciare questo servizio in produzione. <\/p>\n<p><img decoding=\"async\" alt=\"Servizi orfani: il rovescio della medaglia dell&#039;architettura dei microservizi\" src=\"\/wp-content\/uploads\/2019\/10\/3fabdc20049892cee7636c30e595881d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNon dovrebbe essere imbarazzante inviare un servizio per ulteriori miglioramenti. Quando dici: 'Non accetteremo questo servizio, abbiamo 20 compiti, completate questi e lo accetteremo', \u00e8 normale. La coscienza non dovrebbe pesare nel mettere in difficolt\u00e0 un manager o nel spendere soldi per un business. Alla fine il business spender\u00e0 di pi\u00f9.<\/p>\n<p>Abbiamo avuto un caso in cui abbiamo deciso di avviare un progetto pilota in outsourcing.<\/p>\n<p><img decoding=\"async\" alt=\"Servizi orfani: il rovescio della medaglia dell&#039;architettura dei microservizi\" src=\"\/wp-content\/uploads\/2019\/10\/a5b25638e51c4eabe9d6a6971f08fa6b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u00c8 stato consegnato in tempo, ed \u00e8 stato l'unico criterio di qualit\u00e0. Cos\u00ec abbiamo realizzato un altro progetto pilota, non proprio pi\u00f9 pilota. Questi servizi sono stati accolti, hanno detto per vie amministrative, ecco il vostro codice, ecco il team, ecco il vostro manager. I servizi hanno gi\u00e0 iniziato a generare profitto. Tuttavia, di fatto, sono rimasti ancora orfani, nessuno capisce come funzionano, e i manager si dissociano in tutti i modi dai loro compiti. <\/p>\n<p><img decoding=\"async\" alt=\"Servizi orfani: il rovescio della medaglia dell&#039;architettura dei microservizi\" src=\"\/wp-content\/uploads\/2019\/10\/29ac8ab670df5d2c92dc7940d0a74e24.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nC'\u00e8 un altro concetto interessante: lo sviluppo partigiano. Quando qualche dipartimento, di solito quello marketing, vuole testare un'ipotesi e fa un ordine per un servizio interamente in outsourcing. Inizia a ricevere traffico, chiudono i documenti, firmano contratti con il fornitore, entrano in produzione e dicono: \u00abRagazzi, abbiamo qui un servizio, ha gi\u00e0 traffico, ci sta generando entrate, accettiamolo\u00bb. E noi diciamo: \u00abEcco, come mai?\u00bb<\/p>\n<p><img decoding=\"async\" alt=\"Servizi orfani: il rovescio della medaglia dell&#039;architettura dei microservizi\" src=\"\/wp-content\/uploads\/2019\/10\/1fa0187e5db9bed7af0c97ac8500567f.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nUn altro modo per ottenere un servizio orfano \u00e8 quando un team si trova all'improvviso sovraccarico; la direzione dice: \u00abTrasferiamo il servizio di questo team a un altro team, che ha meno lavoro\u00bb. Poi lo trasferiamo a un terzo team, cambiando anche il manager. Alla fine ci ritroviamo di nuovo con un orfano.<\/p>\n<h3><b>Qual \u00e8 il problema con gli orfani?<\/b><\/h3>\n<p>\n<img decoding=\"async\" alt=\"Servizi orfani: il rovescio della medaglia dell&#039;architettura dei microservizi\" src=\"\/wp-content\/uploads\/2019\/10\/009170e7989a78e8bd9f5b7b364e358c.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nChi non lo sa, \u00e8 la nave da guerra Wasa, costruita in Svezia, famosa per essere affondato cinque minuti dopo essere stata varata. E il re di Svezia, tra l'altro, non ha fatto giustiziare nessuno per questo. \u00c8 stata costruita da due generazioni di ingegneri che non sapevano costruire tali navi. Un effetto prevedibile.<\/p>\n<p>La nave avrebbe potuto affondare, per esempio, in modo molto peggiore, ad esempio se il re ci fosse salito per andare da qualche parte durante una tempesta. Cos\u00ec, \u00e8 affondata subito, il che \u00e8 positivo in un'ottica agile: il fallimento precoce \u00e8 buono. <\/p>\n<p>Se falliamo presto, di solito non ci sono problemi. Ad esempio, durante l'accettazione, viene rimandato per le modifiche. Ma se falliamo gi\u00e0 in produzione, quando sono stati investiti dei soldi, potrebbero sorgere dei problemi. Conseguenze, come vengono chiamate in ambito commerciale.<\/p>\n<p>Quali sono i pericoli dei servizi orfani:<\/p>\n<ul>\n<li>Il servizio pu\u00f2 rompersi all'improvviso. <\/li>\n<li>Il servizio richiede molto tempo per essere riparato o non pu\u00f2 essere riparato affatto. <\/li>\n<li>Problemi di sicurezza. <\/li>\n<li>Problemi con le modifiche e gli aggiornamenti. <\/li>\n<li>Se un servizio importante si guasta, la reputazione dell'azienda ne risente. <\/li>\n<\/ul>\n<p><\/p>\n<h3><b>Cosa fare con i servizi orfani?<\/b><\/h3>\n<p>\n<img decoding=\"async\" alt=\"Servizi orfani: il rovescio della medaglia dell&#039;architettura dei microservizi\" src=\"\/wp-content\/uploads\/2019\/10\/094444a042ccf12bf4c9e166c3fffe47.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nRibadisco cosa fare. In primo luogo, deve esserci documentazione. 7 anni in Banki.ru mi hanno insegnato che i tester non devono fidarsi ciecamente degli sviluppatori, e l'operativit\u00e0 non deve fidarsi di nessuno a scatola chiusa. \u00c8 fondamentale controllare. <\/p>\n<p><img decoding=\"async\" alt=\"Servizi orfani: il rovescio della medaglia dell&#039;architettura dei microservizi\" src=\"\/wp-content\/uploads\/2019\/10\/23d652f96e93eb52d9172b103121fe54.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIn secondo luogo, \u00e8 necessario scrivere schemi di interazione, perch\u00e9 a volte i servizi che non vengono accolti bene contengono dipendenze di cui nessuno ha parlato. Ad esempio, gli sviluppatori hanno integrato il servizio usando una chiave per Yandex.Maps o Dadata. Se hai esaurito il limite gratuito, tutto si rompe e non sai cosa sia successo. Tutte queste problematiche devono essere documentate: nel servizio \u00e8 utilizzato Dadata, Sms, altro ancora.<\/p>\n<p><img decoding=\"async\" alt=\"Servizi orfani: il rovescio della medaglia dell&#039;architettura dei microservizi\" src=\"\/wp-content\/uploads\/2019\/10\/b2770a07cf265ad8a3890b2cb2f62263.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIn terzo luogo, gestire il debito tecnico. Quando crei delle soluzioni temporanee o accetti un servizio dicendo che qualcosa deve essere fatto, \u00e8 importante assicurarsi che venga effettuato. Perch\u00e9 poi potrebbe rivelarsi che un piccolo problema non \u00e8 cos\u00ec piccolo e tu ci cadi dentro.<\/p>\n<p>Abbiamo avuto una storia con Sphinx proprio riguardo a compiti di architettura. In uno dei servizi, Sphinx \u00e8 stato utilizzato per gestire elenchi. Era semplicemente un elenco con paginazione, ma veniva riindicizzato ogni notte. Era composto da due indici: uno di grandi dimensioni che veniva indicizzato ogni notte e uno pi\u00f9 piccolo che veniva collegato a esso. Ogni giorno, con una probabilit\u00e0 del 50%, o andava bene, o no; durante il caricamento, l'indice si rompeva e le notizie smettevano di aggiornarsi sulla pagina principale. Inizialmente, ci metteva 5 minuti per riindicizzarsi, poi l'indice \u00e8 cresciuto e a un certo punto ha iniziato a riindicizzarsi in 40 minuti. Quando abbiamo risolto il problema, abbiamo tirato un sospiro di sollievo, perch\u00e9 era chiaro che sarebbe passato ancora del tempo e avremmo avuto l'indice da riindicizzare per un'intera giornata lavorativa. Sarebbe stato un fallimento per il nostro portale: otto ore senza notizie \u2014 per noi significava che l'attivit\u00e0 si sarebbe fermata.<\/p>\n<h3><b>Piano di lavoro con il servizio orfano<\/b><\/h3>\n<p>\n<img decoding=\"async\" alt=\"Servizi orfani: il rovescio della medaglia dell&#039;architettura dei microservizi\" src=\"\/wp-content\/uploads\/2019\/10\/f072ec872d59de058faf1994ac39f161.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIn realt\u00e0, \u00e8 molto difficile farlo, perch\u00e9 il DevOps riguarda la comunicazione. \u00c8 importante avere buone relazioni con i colleghi, ma quando si colpisce i colleghi e i manager con normative rigide, possono provare sentimenti contrastanti nei confronti di chi agisce in questo modo. <\/p>\n<p>Oltre a tutti questi punti, c'\u00e8 un'altra cosa importante: per ogni servizio specifico, ogni parte della procedura di distribuzione deve essere responsabilit\u00e0 di persone specifiche. Quando le persone non ci sono e si devono coinvolgere altre persone per studiare il tutto, diventa difficile.<\/p>\n<p><img decoding=\"async\" alt=\"Servizi orfani: il rovescio della medaglia dell&#039;architettura dei microservizi\" src=\"\/wp-content\/uploads\/2019\/10\/28e7372012d5089d3ac1be3d7dc97e03.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSe tutto ci\u00f2 non ha funzionato e il servizio orfano \u00e8 ancora tale, nessuno lo vuole, la documentazione non viene redatta, e il team convocato per quel servizio si rifiuta di fare qualsiasi cosa, c'\u00e8 un modo semplice: rifare tutto. <\/p>\n<p>Quindi prendi nuovamente i requisiti per il servizio e crei un nuovo servizio, migliore, su una piattaforma migliore, senza soluzioni tecnologiche strane. E migri a questo in produzione. <\/p>\n<p><img decoding=\"async\" alt=\"Servizi orfani: il rovescio della medaglia dell&#039;architettura dei microservizi\" src=\"\/wp-content\/uploads\/2019\/10\/63d0bf7d9ac1e5c5b00b67b519e228a1.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAbbiamo avuto una situazione in cui abbiamo adottato un servizio su Yii 1 e ci siamo resi conto che non potevamo continuare a svilupparlo, perch\u00e9 non avevamo pi\u00f9 programmatori capaci di scrivere bene in Yii 1. Tutti i programmatori scrivono bene in Symfony 3. Cosa fare? Abbiamo dedicato tempo, abbiamo formato un team, assegnato un manager, riscritto il progetto e gradualmente spostato il traffico su di esso. <\/p>\n<p>Dopo di che, il vecchio servizio pu\u00f2 essere eliminato. Questa \u00e8 la mia procedura preferita, quando dalla gestione della configurazione \u00e8 necessario prendere un servizio e rimuoverlo, e poi controllare che tutte le macchine in produzione siano state spente, per assicurarsi che non rimangano tracce per gli sviluppatori. Il repository in Git rimane.<\/p>\n<p>Questo \u00e8 tutto ci\u00f2 di cui volevo parlare, sono pronto a discutere, \u00e8 un tema controverso, molti ci si sono cimentati. <\/p>\n<p><b>Nelle diapositive si parlava di come avete unificato i linguaggi. Come esempio c'era il ridimensionamento delle immagini. \u00c8 davvero necessario limitarsi a un solo linguaggio? Perch\u00e9 ridimensionare un'immagine in PHP si poteva realmente fare anche in Golang.<\/b><\/p>\n<p>In realt\u00e0, non \u00e8 obbligatorio, come molte pratiche. In alcuni casi potrebbe addirittura essere indesiderato. Tuttavia, bisogna comprendere che se nella vostra azienda ci sono 50 persone nel dipartimento tecnico, di cui 45 sono sviluppatori PHP, 3 sono DevOps che sanno utilizzare Python, Ansible, Puppet e simili, e solo uno di loro scrive un servizio in Go per il ridimensionamento delle immagini, quando se ne va, anche la sua expertise se ne va con lui. In questo caso, dovrete cercare sul mercato uno sviluppatore specifico che conosca quel linguaggio, specialmente se raro. Quindi, dal punto di vista organizzativo, \u00e8 problematico. Dal punto di vista DevOps, non basta clonare un insieme di playbook che utilizzate per distribuire servizi; dovrete riscriverli da zero. <\/p>\n<p>Attualmente stiamo sviluppando un servizio su Node.js, e sar\u00e0 proprio un ambiente dedicato per ogni sviluppatore con un linguaggio separato. Tuttavia, abbiamo pensato che ne valga la pena. Quindi, qui c'\u00e8 da sedersi e riflettere.<\/p>\n<p><b>Come monitorate i vostri servizi? Come raccogliete e tracciate i log?<\/b><\/p>\n<p>Raccogliamo i log in Elasticsearch e li visualizziamo in Kibana. A seconda che si tratti di ambienti di produzione o di test, utilizziamo diversi raccoglitori. In alcuni casi usiamo Lumberjack, in altri non ricordo. Ci sono anche alcuni posti in servizi specifici dove impostiamo Telegraf e lo inviamo separatamente. <\/p>\n<p><b>Come convivere con Puppet e Ansible in un unico ambiente?<\/b><\/p>\n<p>In realt\u00e0, attualmente abbiamo due ambienti, uno con Puppet e l'altro con Ansible. Stiamo lavorando per ibridarli. Ansible \u00e8 un buon ambiente per la configurazione iniziale, mentre Puppet non \u00e8 ideale per questo perch\u00e9 richiede un lavoro manuale diretto con la piattaforma e garantisce la convergenza della configurazione. Questo significa che la piattaforma si mantiene da sola aggiornata, mentre per mantenere una macchina con Ansible aggiornata \u00e8 necessario eseguire costantemente i playbook con una certa periodicit\u00e0. Questa \u00e8 la differenza. <\/p>\n<p><b>Come mantenete la compatibilit\u00e0? Avete configurazioni sia in Ansible che in Puppet?<\/b><\/p>\n<p>\u00c8 un nostro grande problema, supportiamo la compatibilit\u00e0 manualmente e stiamo pensando a come trasferirci altrove. Attualmente, Puppet gestisce i pacchetti e mantiene alcuni riferimenti, mentre Ansible, ad esempio, implementa il codice e adatta l\u00ec le nuove configurazioni delle applicazioni.<\/p>\n<p><b>Nella presentazione si parlava delle diverse versioni di Ruby. Qual \u00e8 la soluzione?<\/b><\/p>\n<p>Ci siamo imbattuti in questo in un luogo e dobbiamo tenerlo sempre a mente. Abbiamo semplicemente disabilitato quella parte che funzionava con il Ruby incompatibile con le applicazioni e l'abbiamo tenuta separata. <\/p>\n<blockquote><p> Quest'anno la conferenza <noindex><a rel=\"nofollow\" href=\"http:\/\/devopsdays.ru\/?utm_source=habr&amp;utm_medium=social&amp;utm_campaign=dod-2019&amp;utm_content=post3\">DevOpsDays Mosca<\/a><\/noindex> si terr\u00e0 il 7 dicembre al \u00abTecnopoli\u00bb. Fino all'11 novembre accettiamo proposte per le relazioni. <noindex><a rel=\"nofollow\" href=\"http:\/\/devopsdays.ru\/?utm_source=habr&amp;utm_medium=social&amp;utm_campaign=dod-2019&amp;utm_content=post3\">Scriveteci<\/a><\/noindex> se volete partecipare come relatori.<\/p>\n<p>La registrazione per i partecipanti \u00e8 aperta, unitevi a noi! \n<\/p><\/blockquote>\n<p>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/scienceman_events\/blog\/471146\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0414\u0438\u0440\u0435\u043a\u0442\u043e\u0440 \u043f\u043e \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0438 \u043f\u043e\u0440\u0442\u0430\u043b\u0430 Banki.ru \u0410\u043d\u0434\u0440\u0435\u0439 \u041d\u0438\u043a\u043e\u043b\u044c\u0441\u043a\u0438\u0439 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b \u043d\u0430 \u043f\u0440\u043e\u0448\u043b\u043e\u0433\u043e\u0434\u043d\u0435\u0439 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438 DevOpsDays Moscow \u043f\u0440\u043e \u0441\u0435\u0440\u0432\u0438\u0441\u044b-\u0441\u0438\u0440\u043e\u0442\u044b: \u043a\u0430\u043a \u043e\u043f\u043e\u0437\u043d\u0430\u0442\u044c \u0441\u0438\u0440\u043e\u0442\u0443 \u0432 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435, \u0447\u0435\u043c \u043f\u043b\u043e\u0445\u0438 \u0441\u0435\u0440\u0432\u0438\u0441\u044b-\u0441\u0438\u0440\u043e\u0442\u044b, \u0447\u0442\u043e \u0441 \u043d\u0438\u043c\u0438 \u0434\u0435\u043b\u0430\u0442\u044c, \u0438 \u043a\u0430\u043a \u0431\u044b\u0442\u044c, \u0435\u0441\u043b\u0438 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442. \u041f\u043e\u0434 \u043a\u0430\u0442\u043e\u043c \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u0434\u043e\u043a\u043b\u0430\u0434\u0430. \u0417\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439\u0442\u0435, \u043a\u043e\u043b\u043b\u0435\u0433\u0438! \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0410\u043d\u0434\u0440\u0435\u0439, \u044f \u0440\u0443\u043a\u043e\u0432\u043e\u0436\u0443 \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0435\u0439 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Banki.ru. \u0423 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b, [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":29246,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-38981","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0414\u0438\u0440\u0435\u043a\u0442\u043e\u0440 \u043f\u043e \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0438 \u043f\u043e\u0440\u0442\u0430\u043b\u0430 Banki.ru \u0410\u043d\u0434\u0440\u0435\u0439 \u041d\u0438\u043a\u043e\u043b\u044c\u0441\u043a\u0438\u0439 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b \u043d\u0430 \u043f\u0440\u043e\u0448\u043b\u043e\u0433\u043e\u0434\u043d\u0435\u0439 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438 DevOpsDays Moscow \u043f\u0440\u043e \u0441\u0435\u0440\u0432\u0438\u0441\u044b-\u0441\u0438\u0440\u043e\u0442\u044b: \u043a\u0430\u043a \u043e\u043f\u043e\u0437\u043d\u0430\u0442\u044c \u0441\u0438\u0440\u043e\u0442\u0443 \u0432 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435, \u0447\u0435\u043c \u043f\u043b\u043e\u0445\u0438 \u0441\u0435\u0440\u0432\u0438\u0441\u044b-\u0441\u0438\u0440\u043e\u0442\u044b, \u0447\u0442\u043e \u0441 \u043d\u0438\u043c\u0438 \u0434\u0435\u043b\u0430\u0442\u044c, \u0438 \u043a\u0430\u043a \u0431\u044b\u0442\u044c, \u0435\u0441\u043b\u0438 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442. \u041f\u043e\u0434 \u043a\u0430\u0442\u043e\u043c \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u0434\u043e\u043a\u043b\u0430\u0434\u0430. \u0417\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439\u0442\u0435, \u043a\u043e\u043b\u043b\u0435\u0433\u0438! \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0410\u043d\u0434\u0440\u0435\u0439, \u044f \u0440\u0443\u043a\u043e\u0432\u043e\u0436\u0443 \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0435\u0439 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Banki.ru. \u0423 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b,\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/servisy-siroty-obratnaya-storona-mikro-servisnoj-arhitektury\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0421\u0435\u0440\u0432\u0438\u0441\u044b-\u0441\u0438\u0440\u043e\u0442\u044b: \u043e\u0431\u0440\u0430\u0442\u043d\u0430\u044f \u0441\u0442\u043e\u0440\u043e\u043d\u0430 (\u043c\u0438\u043a\u0440\u043e)\u0441\u0435\u0440\u0432\u0438\u0441\u043d\u043e\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0414\u0438\u0440\u0435\u043a\u0442\u043e\u0440 \u043f\u043e \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0438 \u043f\u043e\u0440\u0442\u0430\u043b\u0430 Banki.ru \u0410\u043d\u0434\u0440\u0435\u0439 \u041d\u0438\u043a\u043e\u043b\u044c\u0441\u043a\u0438\u0439 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b \u043d\u0430 \u043f\u0440\u043e\u0448\u043b\u043e\u0433\u043e\u0434\u043d\u0435\u0439 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438 DevOpsDays Moscow \u043f\u0440\u043e \u0441\u0435\u0440\u0432\u0438\u0441\u044b-\u0441\u0438\u0440\u043e\u0442\u044b: \u043a\u0430\u043a \u043e\u043f\u043e\u0437\u043d\u0430\u0442\u044c \u0441\u0438\u0440\u043e\u0442\u0443 \u0432 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435, \u0447\u0435\u043c \u043f\u043b\u043e\u0445\u0438 \u0441\u0435\u0440\u0432\u0438\u0441\u044b-\u0441\u0438\u0440\u043e\u0442\u044b, \u0447\u0442\u043e \u0441 \u043d\u0438\u043c\u0438 \u0434\u0435\u043b\u0430\u0442\u044c, \u0438 \u043a\u0430\u043a \u0431\u044b\u0442\u044c, \u0435\u0441\u043b\u0438 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442. \u041f\u043e\u0434 \u043a\u0430\u0442\u043e\u043c \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u0434\u043e\u043a\u043b\u0430\u0434\u0430. \u0417\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439\u0442\u0435, \u043a\u043e\u043b\u043b\u0435\u0433\u0438! \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0410\u043d\u0434\u0440\u0435\u0439, \u044f \u0440\u0443\u043a\u043e\u0432\u043e\u0436\u0443 \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0435\u0439 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Banki.ru. \u0423 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b,\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/servisy-siroty-obratnaya-storona-mikro-servisnoj-arhitektury\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:27:10+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:27:10+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Servizi orfani: il rovescio della medaglia dell'architettura (micro)serviziale | ProHoster","description":"Il direttore dell'operativit\u00e0 del portale Banki.ru, Andrey Nikol'skiy, ha parlato alla conferenza DevOpsDays Moscow dello scorso anno dei servizi orfani: come riconoscere un orfano nell'infrastruttura, quali siano i problemi associati ai servizi orfani, come gestirli e cosa fare se non ci sono soluzioni. Qui sotto trovate la versione testuale della presentazione. Salve, colleghi! Mi chiamo Andrey, sono responsabile dell'operativit\u00e0 della compagnia Banki.ru. Abbiamo grandi servizi,","canonical_url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/servisy-siroty-obratnaya-storona-mikro-servisnoj-arhitektury","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0421\u0435\u0440\u0432\u0438\u0441\u044b-\u0441\u0438\u0440\u043e\u0442\u044b: \u043e\u0431\u0440\u0430\u0442\u043d\u0430\u044f \u0441\u0442\u043e\u0440\u043e\u043d\u0430 (\u043c\u0438\u043a\u0440\u043e)\u0441\u0435\u0440\u0432\u0438\u0441\u043d\u043e\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b | ProHoster","og:description":"\u0414\u0438\u0440\u0435\u043a\u0442\u043e\u0440 \u043f\u043e \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0438 \u043f\u043e\u0440\u0442\u0430\u043b\u0430 Banki.ru \u0410\u043d\u0434\u0440\u0435\u0439 \u041d\u0438\u043a\u043e\u043b\u044c\u0441\u043a\u0438\u0439 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b \u043d\u0430 \u043f\u0440\u043e\u0448\u043b\u043e\u0433\u043e\u0434\u043d\u0435\u0439 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438 DevOpsDays Moscow \u043f\u0440\u043e \u0441\u0435\u0440\u0432\u0438\u0441\u044b-\u0441\u0438\u0440\u043e\u0442\u044b: \u043a\u0430\u043a \u043e\u043f\u043e\u0437\u043d\u0430\u0442\u044c \u0441\u0438\u0440\u043e\u0442\u0443 \u0432 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435, \u0447\u0435\u043c \u043f\u043b\u043e\u0445\u0438 \u0441\u0435\u0440\u0432\u0438\u0441\u044b-\u0441\u0438\u0440\u043e\u0442\u044b, \u0447\u0442\u043e \u0441 \u043d\u0438\u043c\u0438 \u0434\u0435\u043b\u0430\u0442\u044c, \u0438 \u043a\u0430\u043a \u0431\u044b\u0442\u044c, \u0435\u0441\u043b\u0438 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442. \u041f\u043e\u0434 \u043a\u0430\u0442\u043e\u043c \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u0434\u043e\u043a\u043b\u0430\u0434\u0430. \u0417\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439\u0442\u0435, \u043a\u043e\u043b\u043b\u0435\u0433\u0438! \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0410\u043d\u0434\u0440\u0435\u0439, \u044f \u0440\u0443\u043a\u043e\u0432\u043e\u0436\u0443 \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0435\u0439 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Banki.ru. \u0423 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b,","og:url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/servisy-siroty-obratnaya-storona-mikro-servisnoj-arhitektury","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:27:10+00:00","article:modified_time":"2019-10-31T19:27:10+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"38981","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-24 00:15:21","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 00:59:27","updated":"2026-01-24 00:15:21"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/38981","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=38981"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/38981\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/29246"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=38981"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=38981"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=38981"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}