Servizzi orfni: l-iżvantaġġ tal-arkitettura (mikro) tas-servizz

Direttur tal-Operazzjonijiet tal-portal Banki.ru Andrey Nikolsky tkellem fil-konferenza tas-sena li għaddiet DevOpsDays Moska dwar is-servizzi orfni: kif tidentifika orfni fl-infrastruttura, għaliex is-servizzi orfni huma ħżiena, x'għandek tagħmel magħhom, u x'għandek tagħmel jekk xejn ma jgħin.

Taħt il-qatgħa hemm verżjoni tat-test tar-rapport.


Hello kollegi! Jisimni Andrey, jien inmexxi l-operazzjonijiet fuq Banki.ru.

Għandna servizzi kbar, dawn huma servizzi monolitiċi bħal dawn, hemm servizzi f'sens aktar klassiku, u hemm dawk żgħar ħafna. Fit-terminoloġija tiegħi ħaddiem-baħħ, ngħid li jekk servizz huwa sempliċi u żgħir, allura huwa mikro, u jekk ma jkunx sempliċi ħafna u żgħir, allura huwa biss servizz.

Vantaġġi tas-servizzi

Se ngħaddi malajr fuq il-vantaġġi tas-servizzi.

Servizzi orfni: l-iżvantaġġ tal-arkitettura (mikro) tas-servizz

L-ewwel huwa l-iskala. Tista 'malajr tagħmel xi ħaġa fuq is-servizz u tibda l-produzzjoni. Irċevejt traffiku, ikklonajt is-servizz. Għandek aktar traffiku, ikklonajt u tgħix miegħu. Dan huwa bonus tajjeb, u, fil-prinċipju, meta bdejna, kien meqjus bħala l-aktar ħaġa importanti għalina, għaliex qed nagħmlu dan kollu.

Servizzi orfni: l-iżvantaġġ tal-arkitettura (mikro) tas-servizz

It-tieni, żvilupp iżolat, meta jkollok diversi timijiet ta 'żvilupp, diversi żviluppaturi differenti f'kull tim, u kull tim jiżviluppa s-servizz tiegħu stess.

Mat-timijiet hemm sfumatura. L-iżviluppaturi huma differenti. U hemm, pereżempju, nies snowflake. L-ewwel rajt dan ma 'Maxim Dorofeev. Kultant nies snowflake huma fuq xi timijiet u mhux fuq oħrajn. Dan jagħmel is-servizzi differenti użati madwar il-kumpanija daqsxejn irregolari.

Servizzi orfni: l-iżvantaġġ tal-arkitettura (mikro) tas-servizz

Ħares lejn l-istampa: dan huwa żviluppatur tajjeb, għandu idejn kbar, jista 'jagħmel ħafna. Il-problema ewlenija hija minn fejn ġejjin dawn l-idejn.

Servizzi orfni: l-iżvantaġġ tal-arkitettura (mikro) tas-servizz

Is-servizzi jagħmluha possibbli li jintużaw lingwi ta' programmar differenti li huma aktar adattati għal ħidmiet differenti. Xi servizz huwa f'Go, xi wħud huma f'Erlang, xi wħud huma f'Ruby, xi ħaġa hija fil-PHP, xi ħaġa hija f'Python. B'mod ġenerali, tista 'tespandi b'mod wiesa' ħafna. Hemm sfumaturi hawn ukoll.

Servizzi orfni: l-iżvantaġġ tal-arkitettura (mikro) tas-servizz

L-arkitettura orjentata lejn is-servizz hija primarjament dwar devops. Jiġifieri, jekk m'għandekx awtomazzjoni, m'hemm l-ebda proċess ta 'skjerament, jekk tikkonfiguraha manwalment, il-konfigurazzjonijiet tiegħek jistgħu jinbidlu minn istanza ta' servizz għal eżempju, u trid tmur hemm biex tagħmel xi ħaġa, allura tkun fl-infern.

Per eżempju, għandek 20 servizz u għandek bżonn tuża bl-idejn, għandek 20 console, u fl-istess ħin tagħfas "idħol" bħal ninja. Mhuwiex tajjeb ħafna.

Jekk għandek servizz wara l-ittestjar (jekk hemm l-ittestjar, ovvjament), u xorta trid tispiċċah b'fajl sabiex jaħdem fil-produzzjoni, għandi wkoll aħbar ħażina għalik.

Jekk tiddependi fuq servizzi speċifiċi tal-Amazon u taħdem fir-Russja, imbagħad xahrejn ilu kellek ukoll "Kollox madwar huwa fuq in-nar, jien tajjeb, kollox jibred."

Servizzi orfni: l-iżvantaġġ tal-arkitettura (mikro) tas-servizz

Aħna nużaw Ansible biex awtomat l-iskjerament, Puppet għall-konverġenza, Bamboo biex awtomat l-iskjerament, u Confluence biex b'xi mod jiddeskrivu dan kollu.

Mhux se nitkellem dwar dan fid-dettall, għax ir-rapport huwa aktar dwar prattiki ta' interazzjoni, u mhux dwar implimentazzjoni teknika.

Servizzi orfni: l-iżvantaġġ tal-arkitettura (mikro) tas-servizz

Pereżempju, kellna problemi fejn Puppet fuq is-server jaħdem ma 'Ruby 2, iżda xi applikazzjoni hija miktuba għal Ruby 1.8, u ma jaħdmux flimkien. Xi ħaġa tmur ħażin hemmhekk. U meta jkollok bżonn tħaddem verżjonijiet multipli ta 'Ruby fuq magna waħda, normalment tibda jkollok problemi.

Pereżempju, nagħtu lil kull żviluppatur pjattaforma li fuqha jkun hemm bejn wieħed u ieħor dak kollu li għandna, is-servizzi kollha li jistgħu jiġu żviluppati, biex ikollu ambjent iżolat, ikun jista’ jkisser u jibnih kif irid.

Jiġri li għandek bżonn xi pakkett miġbur apposta b'appoġġ għal xi ħaġa hemmhekk. Huwa pjuttost iebsa. Smajt rapport fejn l-immaġni Docker tiżen 45 GB. Fil-Linux, ovvjament, huwa aktar sempliċi, kollox huwa iżgħar hemmhekk, iżda xorta waħda, mhux se jkun hemm biżżejjed spazju.

Ukoll, hemm dipendenzi konfliġġenti, meta biċċa waħda tal-proġett tiddependi fuq librerija ta 'verżjoni waħda, biċċa oħra tal-proġett tiddependi fuq verżjoni oħra, u l-libreriji mhumiex installati flimkien għal kollox.

Servizzi orfni: l-iżvantaġġ tal-arkitettura (mikro) tas-servizz

Għandna siti u servizzi fil-PHP 5.6, aħna mistħija minnhom, imma x'nistgħu nagħmlu? Dan huwa s-sit wieħed tagħna. Hemm siti u servizzi fuq PHP 7, hemm aktar minnhom, m'aħniex mistħija bihom. U kull żviluppatur għandu l-bażi tiegħu fejn hu kuntent srieraq.

Jekk tikteb f'kumpanija b'lingwa waħda, allura tliet magni virtwali għal kull żviluppatur ħsejjes normali. Jekk għandek lingwi ta 'programmar differenti, allura s-sitwazzjoni tmur għall-agħar.

Servizzi orfni: l-iżvantaġġ tal-arkitettura (mikro) tas-servizz

Għandek siti u servizzi fuq dan, fuq dan, imbagħad sit ieħor għal Go, sit wieħed għal Ruby, u xi Redis oħra fuq il-ġenb. Bħala riżultat, dan kollu jinbidel f'qasam kbir għall-appoġġ, u l-ħin kollu xi ftit minnu jista 'jinkisser.

Servizzi orfni: l-iżvantaġġ tal-arkitettura (mikro) tas-servizz

Għalhekk, biddel il-benefiċċji tal-lingwa ta 'programmar bl-użu ta' oqfsa differenti, peress li l-oqfsa PHP huma pjuttost differenti, għandhom kapaċitajiet differenti, komunitajiet differenti u appoġġ differenti. U tista’ tikteb servizz sabiex diġà jkollok xi ħaġa lesta għaliha.

Kull servizz għandu t-tim tiegħu

Servizzi orfni: l-iżvantaġġ tal-arkitettura (mikro) tas-servizz

Il-vantaġġ ewlieni tagħna, li kkristallizza fuq bosta snin, huwa li kull servizz għandu t-tim tiegħu stess. Dan huwa konvenjenti għal proġett kbir, tista 'tiffranka ħin fuq id-dokumentazzjoni, il-maniġers jafu sew il-proġett tagħhom.

Tista 'faċilment tissottometti kompiti mill-appoġġ. Pereżempju, is-servizz tal-assigurazzjoni waqa’. U immedjatament it-tim li jittratta l-assigurazzjoni jmur jirranġaha.

Qed jinħolqu karatteristiċi ġodda malajr, għax meta jkollok servizz atomiku wieħed, tista 'malajr kamin xi ħaġa fiha.

U meta tkisser is-servizz tiegħek, u dan iseħħ inevitabbilment, ma affettwajtx is-servizzi ta 'nies oħra, u żviluppaturi minn timijiet oħra ma jiġux jiġru lejk b'bits u jgħidu: "Ay-ay, tagħmilx hekk."

Servizzi orfni: l-iżvantaġġ tal-arkitettura (mikro) tas-servizz

Bħal dejjem, hemm sfumaturi. Għandna timijiet stabbli, il-maniġers huma msammra mat-tim. Hemm dokumenti ċari, il-maniġers jimmonitorjaw kollox mill-qrib. Kull tim b'maniġer għandu diversi servizzi, u hemm punt speċifiku ta' kompetenza.

Jekk it-timijiet huma f'wiċċ l-ilma (xi kultant nużaw dan ukoll), hemm metodu tajjeb imsejjaħ "mappa tal-istilla".

Servizzi orfni: l-iżvantaġġ tal-arkitettura (mikro) tas-servizz

Għandek lista ta' servizzi u nies. Asterisk ifisser li l-persuna hija esperta f'dan is-servizz, ktieb ifisser li l-persuna qed tistudja dan is-servizz. Il-kompitu tal-persuna huwa li tibdel il-ktejjeb għal asterisk. U jekk ma jkun miktub xejn quddiem is-servizz, allura jibdew il-problemi, li se nitkellem aktar dwarhom.

Kif jidhru s-servizzi orfni?

Servizzi orfni: l-iżvantaġġ tal-arkitettura (mikro) tas-servizz

L-ewwel problema, l-ewwel mod biex tikseb servizz orfni fl-infrastruttura tiegħek huwa li tkeċċi lin-nies. Xi ħadd qatt kellu negozju jilħaq l-iskadenzi qabel ma ġew evalwati l-kompiti? Xi drabi jiġri li l-iskadenzi huma stretti u sempliċement ma jkunx hemm biżżejjed ħin għad-dokumentazzjoni. "Għandna bżonn ngħaddu s-servizz lill-produzzjoni, imbagħad inżiduh."

Jekk it-tim huwa żgħir, jiġri li hemm żviluppatur wieħed li jikteb kollox, il-bqija huma fil-ġwienaħ. "Ktibt l-arkitettura bażika, ejja nżidu l-interfaces." Imbagħad f'xi punt il-maniġer, pereżempju, jitlaq. U matul dan il-perjodu, meta l-maniġer ikun telaq u għadu ma nħatarx wieħed ġdid, l-iżviluppaturi nfushom jiddeċiedu fejn sejjer is-servizz u x'inhu jiġri hemmhekk. U kif nafu (ejja mmorru lura ftit slides), f'xi timijiet hemm nies snowflake, xi drabi ċomb ta 'tim tas-silġ. Imbagħad jieqaf, u jkollna servizz orfni.

Servizzi orfni: l-iżvantaġġ tal-arkitettura (mikro) tas-servizz

Fl-istess ħin, ħidmiet mill-appoġġ u min-negozju ma jisparixxux fil-backlog; Jekk kien hemm xi żbalji arkitettoniċi waqt l-iżvilupp tas-servizz, dawn jispiċċaw ukoll fl-inkartament. Is-servizz qed jiddeterjora bil-mod.

Kif tidentifika orfni?

Din il-lista tiddeskrivi sew is-sitwazzjoni. Min tgħallem xi ħaġa dwar l-infrastruttura tagħhom?

Servizzi orfni: l-iżvantaġġ tal-arkitettura (mikro) tas-servizz

Dwar work-arounds dokumentati: hemm servizz u, b'mod ġenerali, jaħdem, għandu manwal ta 'żewġ paġni dwar kif taħdem miegħu, iżda ħadd ma jaf kif jaħdem ġewwa.

Jew, per eżempju, hemm xi tip ta 'link shortener. Pereżempju, bħalissa għandna tliet link shorteners użati għal skopijiet differenti f'servizzi differenti. Dawn huma biss il-konsegwenzi.

Servizzi orfni: l-iżvantaġġ tal-arkitettura (mikro) tas-servizz

Issa se nkun il-kaptan tal-ovvju. X'għandu jsir? L-ewwel, irridu nittrasferixxu s-servizz lil maniġer ieħor, tim ieħor. Jekk il-mexxej tat-tim tiegħek għadu ma nieqafx, allura f'dan it-tim l-ieħor, meta tifhem li s-servizz huwa bħal orfni, trid tinkludi lil xi ħadd li jifhem mill-inqas xi ħaġa dwaru.

Il-ħaġa prinċipali: irid ikollok il-proċeduri tat-trasferiment miktuba fid-demm. Fil-każ tagħna, normalment nissorvelja dan, għax għandi bżonn kollu biex jaħdem. Il-maniġers jeħtieġu li dan jitwassal malajr, u dak li jiġrilu aktar tard m'għadux daqshekk importanti għalihom.

Servizzi orfni: l-iżvantaġġ tal-arkitettura (mikro) tas-servizz

Il-mod li jmiss biex tagħmel orfni huwa "Aħna nagħmluha esternalizzata, se tkun aktar mgħaġġla, u mbagħad nagħtuh lit-tim." Huwa ċar li kulħadd għandu xi pjanijiet fit-tim, dawra. Ħafna drabi klijent tan-negozju jaħseb li l-outsourcer se jagħmel l-istess ħaġa bħad-dipartiment tekniku li għandha l-kumpanija. Għalkemm il-motivaturi tagħhom huma differenti. Hemm soluzzjonijiet teknoloġiċi strambi u soluzzjonijiet algoritmiċi strambi fl-esternalizzazzjoni.

Servizzi orfni: l-iżvantaġġ tal-arkitettura (mikro) tas-servizz

Pereżempju, kellna servizz li kellu Sphinx f’diversi postijiet mhux mistennija. I ser ngħidlek aktar tard dak li kelli nagħmel.

L-outsourcers għandhom oqfsa miktuba minnhom infushom. Dan huwa biss PHP vojt b'kopja-pejst minn proġett preċedenti, fejn tista 'ssib kull xorta ta' affarijiet. L-iskripts tal-iskjerament huma żvantaġġ kbir meta jkollok bżonn tuża xi skripts Bash kumplessi biex tbiddel diversi linji f'xi fajl, u dawn l-iskripts tal-iskjerament jissejħu minn xi skript terz. Bħala riżultat, tibdel is-sistema ta 'skjerament, tagħżel xi ħaġa oħra, hop, iżda s-servizz tiegħek ma jaħdimx. Minħabba li hemm kien meħtieġ li jitqiegħdu 8 links oħra bejn folders differenti. Jew jiġri li elf rekord jaħdem, iżda mitt elf ma jibqgħux jaħdmu.

Se nkompli nagħmel kaptan. L-aċċettazzjoni ta' servizz esternalizzat hija proċedura obbligatorja. Xi ħadd qatt kellu jasal servizz esternalizzat u ma jiġi aċċettat imkien? Dan mhux daqshekk popolari, ovvjament, bħal servizz orfni, iżda xorta waħda.

Servizzi orfni: l-iżvantaġġ tal-arkitettura (mikro) tas-servizz

Is-servizz jeħtieġ li jiġi ċċekkjat, is-servizz jeħtieġ li jiġi rivedut, passwords jeħtieġ li jinbidlu. Kellna każ meta tawna servizz, hemm panel ta 'l-amministrazzjoni "jekk login == 'admin' && password == 'admin'...", huwa miktub dritt fil-kodiċi. Aħna noqogħdu u naħsbu, u n-nies jiktbu dan fl-2018?

L-ittestjar tal-kapaċità tal-ħażna hija wkoll ħaġa neċessarja. Trid tħares lejn x'se jiġri fuq mitt elf rekord, anki qabel ma tpoġġi dan is-servizz fil-produzzjoni x'imkien.

Servizzi orfni: l-iżvantaġġ tal-arkitettura (mikro) tas-servizz

M'għandux ikun hemm mistħija li jintbagħat servizz għal titjib. Meta tgħid: "Mhux se naċċettaw dan is-servizz, għandna 20 biċċa xogħol, agħmelhom, allura naċċettaw," dan huwa normali. Il-kuxjenza tiegħek m'għandhiex titweġġa' mill-fatt li qed twaqqaf maniġer jew li n-negozju qed jaħli l-flus. In-negozju mbagħad jonfoq aktar.

Kellna każ meta ddeċidejna li jesternalizzaw proġett pilota.

Servizzi orfni: l-iżvantaġġ tal-arkitettura (mikro) tas-servizz

Twassal fil-ħin, u dan kien l-uniku kriterju ta’ kwalità. Huwa għalhekk li għamilna proġett pilota ieħor, li lanqas biss kien aktar pilota. Dawn is-servizzi ġew aċċettati, u permezz ta’ mezzi amministrattivi qalu, hawn il-kodiċi tiegħek, hawn it-tim, hawn il-maniġer tiegħek. Is-servizzi fil-fatt diġà bdew jagħmlu profitt. Fl-istess ħin, fil-fatt, għadhom orfni, ħadd ma jifhem kif jaħdmu, u l-maniġers jagħmlu l-almu tagħhom biex jiċħdu l-kompiti tagħhom.

Servizzi orfni: l-iżvantaġġ tal-arkitettura (mikro) tas-servizz

Hemm kunċett kbir ieħor - l-iżvilupp tal-guerilla. Meta xi dipartiment, normalment id-dipartiment tal-marketing, irid jittestja ipoteżi u jordna li s-servizz kollu jiġi esternalizzat. It-traffiku jibda jitfa’ fih, jagħlqu d-dokumenti, jiffirmaw id-dokumenti mal-kuntrattur, jidħlu fis-seħħ u jgħidu: “Dudes, għandna servizz hawn, diġà għandu traffiku, iġibilna l-flus, ejja naċċettawh.” Konna, “Oppa, kif jista’ jkun.”

Servizzi orfni: l-iżvantaġġ tal-arkitettura (mikro) tas-servizz

U mod ieħor biex tikseb servizz orfni: meta xi tim f'daqqa waħda jsib ruħu mgħobbi, il-maniġment jgħid: "Ejja nittrasferixxu s-servizz ta 'dan it-tim lil tim ieħor, għandu tagħbija iżgħar." U mbagħad nittrasferiwh lil tielet tim u nbiddlu l-maniġer. U fl-aħħar mill-ġdid għandna orfni.

X'inhi l-problema tal-orfni?

Servizzi orfni: l-iżvantaġġ tal-arkitettura (mikro) tas-servizz

Min ma jafx, din hija l-battalja Wasa, imqajma fl-Isvezja, famuża għall-fatt li għereq 5 minuti wara t-tnedija. U r-Re tal-Isvezja, mill-mod, ma eżegwixxi lil ħadd għal dan. Inbniet minn żewġ ġenerazzjonijiet ta’ inġiniera li ma kinux jafu kif jibnu bastimenti bħal dawn. Effett naturali.

Il-vapur seta' għereq, bil-mod, ħafna agħar, pereżempju, meta r-re kien diġà riekeb fuqu x'imkien f'maltemp. U għalhekk, għerqu minnufih, skond Agile huwa tajjeb li tfalli kmieni.

Jekk jonqsu kmieni, normalment ma jkunx hemm problemi. Pereżempju, waqt l-aċċettazzjoni ntbagħtet għal reviżjoni. Imma jekk jonqsu diġà fil-produzzjoni, meta l-flus jiġu investiti, allura jista 'jkun hemm problemi. Konsegwenzi, kif jissejħu fin-negozju.

Għaliex is-servizzi orfni huma perikolużi:

  • Is-servizz jista' jinkiser f'daqqa.
  • Is-servizz jieħu ħafna żmien biex jissewwa jew ma jissewwa xejn.
  • Problemi ta' sigurtà.
  • Problemi bit-titjib u l-aġġornamenti.
  • Jekk servizz importanti jkisser, ir-reputazzjoni tal-kumpanija tbati.

X'għandek tagħmel b'servizzi orfni?

Servizzi orfni: l-iżvantaġġ tal-arkitettura (mikro) tas-servizz

Ser nirrepeti għal darb'oħra x'għandi nagħmel. L-ewwel, irid ikun hemm dokumentazzjoni. 7 snin f'Banki.ru għallimni li t-testers m'għandhomx jieħdu l-kelma tal-iżviluppaturi, u l-operazzjonijiet m'għandhomx jieħdu l-kelma ta 'kulħadd. Għandna bżonn niċċekkjaw.

Servizzi orfni: l-iżvantaġġ tal-arkitettura (mikro) tas-servizz

It-tieni nett, huwa meħtieġ li tikteb dijagrammi ta 'interazzjoni, minħabba li jiġri li servizzi li mhumiex milqugħa tajjeb ħafna fihom dipendenzi li ħadd ma qal dwarhom. Pereżempju, l-iżviluppaturi installaw is-servizz fuq iċ-ċavetta tagħhom għal xi Yandex.Maps jew Dadata. Int spiċċajt il-limitu ħieles, kollox imkisser, u ma taf xejn x'ġara. Ir-rakes kollha bħal dawn għandhom jiġu deskritti: is-servizz juża Dadata, SMS, xi ħaġa oħra.

Servizzi orfni: l-iżvantaġġ tal-arkitettura (mikro) tas-servizz

It-tielet nett, taħdem ma 'dejn tekniku. Meta tagħmel xi tip ta’ krozzi jew taċċetta servizz u tgħid li xi ħaġa trid issir, trid tiżgura li ssir. Għaliex allura jista 'jirriżulta li t-toqba żgħira mhix daqshekk żgħira, u taqa' minnha.

B'kompiti arkitettoniċi, kellna storja dwar Sphinx. Wieħed mis-servizzi uża lil Sphinx biex jidħol fil-listi. Lista paġnata biss, iżda ġiet indiċjata mill-ġdid kull lejl. Ġie mmuntat minn żewġ indiċi: wieħed kbir kien indiċjat kull lejl, u kien hemm ukoll indiċi żgħir li kien invitat miegħu. Kuljum, bi probabbiltà ta’ 50% ta’ bomba jew le, l-indiċi waqa’ waqt il-kalkolu, u l-aħbarijiet tagħna waqfu jaġġornaw fuq il-paġna ewlenija. Għall-ewwel ħadu 5 minuti biex l-indiċi jerġa 'jiġi indiċjat, imbagħad l-indiċi kiber, u f'xi punt beda jieħu 40 minuta biex jerġa' jiġi indiċjat. Meta naqtgħu dan, ħadna nifs ta’ serħan, għax kien ċar li kien se jgħaddi ftit iktar ħin u l-indiċi tagħna jerġa’ jiġi indiċjat full-time. Dan se jkun falliment għall-portal tagħna, m'hemm l-ebda aħbarijiet għal tmien sigħat - dak hu, in-negozju waqaf.

Ippjana biex taħdem ma' servizz orfni

Servizzi orfni: l-iżvantaġġ tal-arkitettura (mikro) tas-servizz

Fil-fatt, dan huwa diffiċli ħafna li jsir, għaliex devops huwa dwar il-komunikazzjoni. Trid tkun f'termini tajbin mal-kollegi tiegħek, u meta tolqot lill-kollegi u lill-maniġers tiegħek fuq rashom b'regolamenti, jista 'jkollhom sentimenti konfliġġenti lejn dawk in-nies li jagħmlu dan.

Minbarra dawn il-punti kollha, hemm ħaġa oħra importanti: nies speċifiċi għandhom ikunu responsabbli għal kull servizz speċifiku, għal kull taqsima speċifika tal-proċedura ta 'skjerament. Meta ma jkunx hemm nies u jkollok tiġbed xi nies oħra biex tistudja din il-kwistjoni kollha, isir diffiċli.

Servizzi orfni: l-iżvantaġġ tal-arkitettura (mikro) tas-servizz

Jekk dan kollu ma għenx, u s-servizz orfni tiegħek għadu orfni, ħadd ma jrid jeħodha, id-dokumentazzjoni mhix miktuba, it-tim li ġie msejjaħ f'dan is-servizz jirrifjuta li jagħmel xejn, hemm mod sempliċi - biex terġa 'tagħmel kollox.

Jiġifieri, tieħu r-rekwiżiti għas-servizz mill-ġdid u tikteb servizz ġdid, aħjar, fuq pjattaforma aħjar, mingħajr soluzzjonijiet teknoloġiċi strambi. U inti temigra lejha fil-battalja.

Servizzi orfni: l-iżvantaġġ tal-arkitettura (mikro) tas-servizz

Kellna sitwazzjoni meta ħadna servizz fuq Yii 1 u rrealizzajna li ma nistgħux niżviluppawh aktar, għax spiċċajna l-iżviluppaturi li setgħu jiktbu tajjeb fuq Yii 1. L-iżviluppaturi kollha jiktbu tajjeb fuq Symfony XNUMX. X'tagħmel? Allokajna l-ħin, allokajna tim, allokajna maniġer, ktibna mill-ġdid il-proġett u bdejna t-traffiku għalih bla xkiel.

Wara dan, is-servizz l-antik jista 'jitħassar. Din hija l-proċedura favorita tiegħi, meta għandek bżonn tieħu u tnaddaf xi servizz mis-sistema ta 'ġestjoni tal-konfigurazzjoni u mbagħad tgħaddi u tara li l-karozzi kollha fil-produzzjoni ġew diżattivati, sabiex l-iżviluppaturi ma jkollhomx traċċi. Ir-repożitorju jibqa' f'Git.

Dan huwa dak kollu li ridt nitkellem dwaru, lest niddiskuti, is-suġġett huwa holivar, ħafna għawmu fih.

Il-pjastri qalu li inti lingwi unifikati. Eżempju kien it-tibdil tad-daqs tal-istampi. Huwa tassew meħtieġ li jiġi limitat b'mod strett għal lingwa waħda? Minħabba li d-daqs tal-immaġni f'PHP, ukoll, jista 'jsir fil-Golang.

Fil-fatt, huwa fakultattiv, bħall-prattiki kollha. Forsi, f'xi każijiet, huwa saħansitra mhux mixtieq. Imma trid tifhem li jekk għandek dipartiment tekniku f'kumpanija ta' 50 persuna, 45 minnhom huma speċjalisti PHP, 3 oħra huma devops li jafu Python, Ansible, Puppet u xi ħaġa bħal dik, u wieħed minnhom biss jikteb f'xi wħud. tip ta 'lingwa Mur servizz ta' tibdil tad-daqs tal-immaġni, imbagħad meta titlaq, il-kompetenza tmur magħha. U fl-istess ħin, ser ikollok bżonn tfittex żviluppatur speċifiku għas-suq li jaf din il-lingwa, speċjalment jekk hija rari. Jiġifieri, mil-lat organizzattiv, dan huwa problematiku. Mil-lat devops, mhux se jkollok bżonn biss li tikklona xi sett ta' playbooks lesti li tuża biex tuża s-servizzi, imma jkollok tiktebhom mill-ġdid.

Bħalissa qed nibnu servizz fuq Node.js, u din se tkun biss pjattaforma fil-qrib għal kull żviluppatur b'lingwa separata. Imma sibna u ħsibna li l-logħba kienet tiswa x-xemgħa. Jiġifieri, din hija mistoqsija għalik biex taħseb dwarha.

Kif tissorvelja s-servizzi tiegħek? Kif tiġbor u timmonitorja zkuk?

Aħna niġbru zkuk f'Elasticsearch u npoġġuhom f'Kibana, u skont jekk humiex ambjenti ta 'produzzjoni jew ta' test, hemm kolletturi differenti jintużaw. X'imkien Lumberjack, x'imkien ieħor xi ħaġa oħra, ma niftakarx. U għad hemm xi postijiet f’ċerti servizzi fejn ninstallaw Telegraf u nisparaw x’imkien ieħor separatament.

Kif tgħix ma' Puppet u Ansible fl-istess ambjent?

Fil-fatt, issa għandna żewġ ambjenti, wieħed huwa Puppet, l-ieħor huwa Ansible. Qegħdin naħdmu biex ibridizzawhom. Ansible huwa qafas tajjeb għas-setup inizjali, Puppet huwa qafas ħażin għas-setup inizjali minħabba li jeħtieġ xogħol prattiku direttament fuq il-pjattaforma, u Puppet jiżgura konverġenza tal-konfigurazzjoni. Dan ifisser li l-pjattaforma żżomm ruħha fi stat aġġornat, u sabiex il-magna ansibilizzata tinżamm aġġornata, trid tmexxi playbooks fuqha l-ħin kollu b'xi frekwenza. Dik hi d-differenza.

Kif iżżomm il-kompatibilità? Għandek konfigurazzjonijiet kemm f'Ansible kif ukoll f'Puppet?

Dan huwa l-uġigħ kbir tagħna, aħna nżommu kompatibilità ma 'idejna u naħsbu dwar kif nimxu minn dan kollu x'imkien issa. Jirriżulta li Puppet itella 'pakketti u jżomm xi links hemmhekk, u Ansible, pereżempju, itella' l-kodiċi u jaġġusta l-aħħar konfigurazzjonijiet tal-applikazzjoni hemmhekk.

Il-preżentazzjoni kienet dwar verżjonijiet differenti ta’ Ruby. Liema soluzzjoni?

Iltqajna ma’ dan f’post wieħed, u rridu nżommuh f’rasna l-ħin kollu. Aħna sempliċiment itfija l-parti li dam fuq ir-Ruby li kienet inkompatibbli mal-applikazzjonijiet u żammejna separata.

Il-konferenza ta' din is-sena DevOpsDays Moska se ssir fis-7 ta’ Diċembru f’Technopolis. Qed naċċettaw applikazzjonijiet għar-rapporti sal-11 ta’ Novembru. Ikteb lilna jekk tixtieq titkellem.

Ir-reġistrazzjoni għall-parteċipanti hija miftuħa, ingħaqad magħna!

Sors: www.habr.com

Żid kumment