Bongu! Jisimni Vadim Madison, jien inmexxi l-iżvilupp tal-Pjattaforma tas-Sistema Avito. Intqal aktar minn darba kif aħna fil-kumpanija qed nimxu minn arkitettura monolitika għal waħda ta’ mikroservizzi. Wasal iż-żmien li naqsmu kif ittrasformajna l-infrastruttura tagħna biex niksbu l-aħjar mill-mikroservizzi u nevitaw lilna nfusna milli nitilfu fihom. Kif il-PaaS jgħinna hawn, kif issimplifikajna l-iskjerament u naqqasna l-ħolqien ta’ mikroservizz għal klikk waħda - kompli aqra. Mhux dak kollu li nikteb hawn taħt huwa implimentat bis-sħiħ f'Avito, xi wħud minnu huma kif niżviluppaw il-pjattaforma tagħna.
(U fl-aħħar ta 'dan l-artikolu, ser nitkellem dwar l-opportunità li nattendi seminar ta' tlett ijiem mill-espert tal-arkitettura tal-mikroservizz Chris Richardson).
Kif wasalna għall-mikroservizzi
Avito huwa wieħed mill-akbar siti klassifikati fid-dinja aktar minn 15-il miljun reklam ġdid huma ppubblikati fuqu; Il-backend tagħna jaċċetta aktar minn 20 elf talba kull sekonda. Bħalissa għandna diversi mijiet ta' mikroservizzi.
Ilna nibnu arkitettura ta' mikroservizz għal bosta snin issa. Kif eżattament - il-kollegi tagħna fid-dettall qal fis-sezzjoni tagħna f’RIT++ 2017. Fil-CodeFest 2017 (ara. video), Sergey Orlov u Mikhail Prokopchuk spjegaw fid-dettall għaliex kellna bżonn it-tranżizzjoni għal mikroservizzi u x'rwol kellu Kubernetes hawn. Ukoll, issa qed nagħmlu minn kollox biex innaqqsu l-ispejjeż tal-iskala li huma inerenti f'arkitettura bħal din.
Inizjalment, aħna ma ħloqniex ekosistema li tgħinna b'mod komprensiv niżviluppaw u nniedu mikroservizzi. Huma sempliċement ġabru soluzzjonijiet sensibbli ta 'sors miftuħ, nedewhom fid-dar u stiednu lill-iżviluppatur biex jittrattahom. Bħala riżultat, huwa mar għal tużżana postijiet (dashboards, servizzi interni), wara li sar aktar b'saħħtu fix-xewqa tiegħu li jaqta 'kodiċi bil-mod antik, f'monolith. Il-kulur aħdar fid-dijagrammi hawn taħt jindika x'jagħmel l-iżviluppatur b'xi mod jew ieħor b'idejh, u l-kulur isfar jindika awtomazzjoni.
Issa fl-utilità PaaS CLI, jinħoloq servizz ġdid bi kmand wieħed, u database ġdida hija miżjuda ma 'tnejn oħra u skjerata fl-Istadju.
Kif tegħleb l-era tal-"frammentazzjoni tal-mikroservizz"
B'arkitettura monolitika, għal raġunijiet ta 'konsistenza tal-bidliet fil-prodott, l-iżviluppaturi kienu sfurzati biex insemmu dak li kien qed jiġri mal-ġirien tagħhom. Meta taħdem fuq l-arkitettura l-ġdida, il-kuntesti tas-servizz ma jibqgħux jiddependu minn xulxin.
Barra minn hekk, biex arkitettura ta’ mikroservizz tkun effettiva, jeħtieġ li jiġu stabbiliti ħafna proċessi, jiġifieri:
Biex niżguraw li s-sistema ma titlifx l-integrità tagħha u tibqa’ effettiva hekk kif tiskala, ħsibna mill-ġdid fl-organizzazzjoni tal-mikroservizzi f’Avito.
Kif nimmaniġġjaw il-mikroservizzi
Dan li ġej jgħin biex tiġi implimentata "politika tal-partit" unifikata fost ħafna mikroservizzi Avito:
il-qsim tal-infrastruttura f'saffi;
Kunċett ta' Pjattaforma bħala Servizz (PaaS);
tissorvelja dak kollu li jiġri bil-mikroservizzi.
Is-saffi tal-astrazzjoni tal-infrastruttura jinkludu tliet saffi. Ejja mmorru minn fuq għal isfel.
A. Fuq - malji tas-servizz. Għall-ewwel ippruvajna Istio, iżda rriżulta li juża wisq riżorsi, li jiswa wisq għall-volumi tagħna. Għalhekk, inġinier anzjan fit-tim tal-arkitettura Alexander Lukyanchenko żviluppa s-soluzzjoni tiegħu stess - Netramesh (disponibbli f’Open Source), li bħalissa nużaw fil-produzzjoni u li tikkonsma bosta drabi inqas riżorsi minn Istio (iżda ma tagħmilx dak kollu li jista’ jiftaħar bih Istio). B. Medju - Kubernetes. Aħna niskjeraw u noperaw mikroservizzi fuqha. C. Qiegħ - metall vojt. Aħna ma nużawx sħab jew affarijiet bħal OpenStack, iżda niddependu kompletament fuq il-metall vojt.
Is-saffi kollha huma kkombinati minn PaaS. U din il-pjattaforma, min-naħa tagħha, tikkonsisti fi tliet partijiet.
I. Ġeneraturi, ikkontrollat permezz ta' utilità CLI. Hija hi li tgħin lill-iżviluppatur joħloq mikroservizz bil-mod it-tajjeb u bi sforz minimu.
II. Kollettur konsolidat b'kontroll tal-għodda kollha permezz ta' dashboard komuni.
III. Ħażna. Jgħaqqad ma 'schedulers li awtomatikament jistabbilixxu triggers għal azzjonijiet sinifikanti. Bis-saħħa ta’ sistema bħal din, ebda biċċa xogħol waħda ma tintilef sempliċement għax xi ħadd nesa li jwaqqaf biċċa xogħol f’Jira. Għal dan nużaw għodda interna msejħa Atlas.
L-implimentazzjoni tal-mikroservizzi f'Avito titwettaq ukoll skont skema waħda, li tissimplifika l-kontroll fuqhom f'kull stadju ta 'żvilupp u rilaxx.
Kif jaħdem pipeline standard ta' żvilupp ta' mikroservizzi?
B'mod ġenerali, il-katina tal-ħolqien tal-mikroservizzi tidher bħal din:
• Il-ħolqien ta' mikroservizz.
Tħabtu għal żmien twil biex ngħallmu lil kull żviluppatur kif jagħmel il-mikroservizzi. Dan kien jinkludi l-kitba ta' struzzjonijiet dettaljati f'Confluence. Iżda l-iskemi nbidlu u ġew issupplimentati. Ir-riżultat huwa li deher ostakolu fil-bidu tal-vjaġġ: ħa ħafna aktar ħin biex inniedu mikroservizzi, u xorta waħda ħafna drabi nqalgħu problemi waqt il-ħolqien tagħhom.
Fl-aħħar, bnejna utilità CLI sempliċi li awtomatizza l-passi bażiċi meta noħolqu mikroservizz. Fil-fatt, tissostitwixxi l-ewwel git push. Hawn x'tagħmel eżattament.
— Joħloq servizz skont mudell — pass pass, fil-modalità “wizard”. Għandna mudelli għal-lingwi ewlenin ta 'programmar fil-backend ta' Avito: PHP, Golang u Python.
- Kmand wieħed kull darba juża ambjent għall-iżvilupp lokali fuq magna speċifika - Minikube huwa mniedi, Helm charts huma ġġenerati awtomatikament u mnedija f'kubernetes lokali.
— Tqabbad id-database meħtieġa. L-iżviluppatur m'għandux għalfejn ikun jaf l-IP, il-login u l-password biex jikseb aċċess għad-database li għandu bżonn - kemm jekk tkun lokalment, fl-Istadju, jew fil-produzzjoni. Barra minn hekk, id-database hija skjerata immedjatament f'konfigurazzjoni tolleranti għall-ħsarat u b'bilanċ.
— Huwa jwettaq assemblaġġ ħaj huwa stess. Ejja ngħidu li żviluppatur ikkoreġa xi ħaġa f'mikroservizz permezz tal-IDE tiegħu. L-utilità tara bidliet fis-sistema tal-fajls u, abbażi tagħhom, tibni mill-ġdid l-applikazzjoni (għal Golang) u terġa 'tibda. Għall-PHP, aħna sempliċement nibgħatu d-direttorju ġewwa l-kubu u hemm live-reload jinkiseb "awtomatikament".
— Jiġġenera awtotests. Fil-forma ta 'vojt, iżda pjuttost adattat għall-użu.
• Skjerament ta' mikroservizz.
L-iskjerament ta’ mikroservizz qabel kien ikun daqsxejn ta’ xogħol għalina. Dawn li ġejjin kienu meħtieġa:
I. Dockerfile.
II. Konfigurazzjoni.
III. Tabella tat-tmun, li hija stess hija ingombranti u tinkludi:
— iċ-ċarts infushom;
— mudelli;
— valuri speċifiċi li jqisu ambjenti differenti.
Neħħejna l-uġigħ tal-manifesti ta' Kubernetes mill-ġdid sabiex issa jiġu ġġenerati awtomatikament. Iżda l-aktar importanti, huma ssimplifikaw l-iskjerament sal-limitu. Minn issa 'l quddiem għandna Dockerfile, u l-iżviluppatur jikteb il-konfigurazzjoni kollha f'fajl app.toml wieħed qasir.
Iva, u f'app.toml innifsu hemm xi ħaġa x'tagħmel għal minuta. Aħna nispeċifikaw fejn u kemm-il kopji tas-servizz niġbru (fuq is-server tad-dev, fuq l-istadju, fil-produzzjoni), u nindikaw id-dipendenzi tiegħu. Avviż id-daqs tal-linja = "żgħir" fil-blokka [magna]. Dan huwa l-limitu li se jiġi allokat għas-servizz permezz ta 'Kubernetes.
Imbagħad, ibbażat fuq il-konfigurazzjoni, iċ-ċarts Helm kollha meħtieġa huma ġġenerati awtomatikament u jinħolqu konnessjonijiet mad-databases.
• Validazzjoni bażika. Tali verifiki huma wkoll awtomatizzati. Ħtieġa li ssegwi:
— hemm Dockerfile;
— hemm app.toml;
— hemm dokumentazzjoni disponibbli?
— id-dipendenza hija fl-ordni?
— jekk ġewx stabbiliti regoli ta' twissija.
Sal-aħħar punt: is-sid tas-servizz innifsu jiddetermina liema metriċi tal-prodott għandu jimmonitorja.
• Tħejjija ta' dokumentazzjoni.
Għadha żona problematika. Jidher li huwa l-aktar ovvju, iżda fl-istess ħin huwa wkoll rekord "spiss minsi", u għalhekk ħolqa vulnerabbli fil-katina.
Huwa meħtieġ li jkun hemm dokumentazzjoni għal kull mikroservizz. Jinkludi l-blokki li ġejjin.
I. Deskrizzjoni qasira tas-servizz. Litteralment ftit sentenzi dwar x'tagħmel u għaliex hija meħtieġa.
II. Link tad-dijagramma tal-arkitettura. Huwa importanti li b'daqqa t'għajn lejha jkun faċli li tifhem, pereżempju, jekk qed tuża Redis għall-caching jew bħala l-maħżen tad-dejta prinċipali f'mod persistenti. F'Avito għalissa din hija link għal Confluence.
III. Runbook. Gwida qasira dwar il-bidu tas-servizz u l-intricacies tal-immaniġġjar tiegħu.
IV. FAQ, fejn ikun tajjeb li tantiċipa l-problemi li l-kollegi tiegħek jistgħu jiltaqgħu magħhom meta jaħdmu mas-servizz.
V. Deskrizzjoni ta' endpoints għall-API. Jekk f'daqqa waħda ma speċifikajtx id-destinazzjonijiet, il-kollegi li l-mikroservizzi tagħhom huma relatati ma' tiegħek kważi ċertament iħallsu għaliha. Issa nużaw Swagger u s-soluzzjoni tagħna msejħa fil-qosor għal dan.
VI. Tikketti. Jew markaturi li juru liema prodott, funzjonalità, jew diviżjoni strutturali tal-kumpanija jappartjeni s-servizz. Jgħinuk tifhem malajr, pereżempju, jekk tkunx qed tnaqqas il-funzjonalità li l-kollegi tiegħek ħarġu għall-istess unità tan-negozju ġimgħa ilu.
VII. Sid jew sidien tas-servizz. Fil-biċċa l-kbira tal-każijiet, dan - jew minnhom - jista 'jiġi ddeterminat awtomatikament bl-użu ta' PaaS, iżda biex inkunu fuq in-naħa sigura, neħtieġu li l-iżviluppatur jispeċifikahom manwalment.
Fl-aħħarnett, hija prattika tajba li tirrevedi d-dokumentazzjoni, simili għar-reviżjoni tal-kodiċi.
Integrazzjoni kontinwa
Tħejjija ta' repożitorji.
Ħolqien ta 'pipeline f'TeamCity.
Drittijiet ta' twaqqif.
Fittex għas-sidien tas-servizz. Hemm skema ibrida hawn - immarkar manwali u awtomazzjoni minima minn PaaS. Skema kompletament awtomatika tfalli meta s-servizzi jiġu trasferiti għall-appoġġ lil tim ta' żvilupp ieħor jew, pereżempju, jekk l-iżviluppatur tas-servizz jieqaf.
Reġistrazzjoni ta' servizz fl-Atlas (ara hawn fuq). Bis-sidien u d-dipendenzi kollha tagħha.
Iċċekkjar tal-migrazzjoni. Aħna niċċekkjaw jekk xi wieħed minnhom huwiex potenzjalment perikoluż. Pereżempju, f'waħda minnhom titfaċċa tabella ta 'tibdil jew xi ħaġa oħra li tista' tkisser il-kompatibilità tal-iskema tad-dejta bejn verżjonijiet differenti tas-servizz. Imbagħad il-migrazzjoni ma titwettaqx, iżda titqiegħed f'abbonament - il-PaaS għandu jindika lis-sid tas-servizz meta jkun sikur li jużah.
Aħmi
L-istadju li jmiss huwa s-servizzi tal-ippakkjar qabel l-iskjerament.
Bini tal-applikazzjoni. Skond il-klassiċi - f'immaġni Docker.
Ġenerazzjoni ta' charts Helm għas-servizz innifsu u riżorsi relatati. Inkluż għal databases u cache. Dawn jinħolqu awtomatikament skont il-konfigurazzjoni app.toml li ġiet iġġenerata fl-istadju CLI-push.
Ħolqien ta' biljetti għall-amministraturi biex jiftħu l-portijiet (meta meħtieġ).
It-tmexxija ta 'testijiet ta' l-unità u l-kalkolu tal-kopertura tal-kodiċi. Jekk il-kopertura tal-kodiċi hija taħt il-limitu speċifikat, allura x'aktarx is-servizz mhux se jmur aktar - għall-iskjerament. Jekk ikun f'xifer aċċettabbli, allura s-servizz jiġi assenjat koeffiċjent "pessimizzanti": imbagħad, jekk ma jkun hemm l-ebda titjib fl-indikatur maż-żmien, l-iżviluppatur jirċievi notifika li m'hemm l-ebda progress f'termini ta 'testijiet ( u trid issir xi ħaġa dwarha).
Kontabilità għal limitazzjonijiet tal-memorja u tas-CPU. Aħna prinċipalment niktbu mikroservizzi f'Golang u nħaddmuhom f'Kubernetes. Għalhekk sottili waħda assoċjata mal-partikolarità tal-lingwa Golang: b'mod awtomatiku, meta tibda, jintużaw il-qlub kollha fuq il-magna, jekk ma tissettjax b'mod espliċitu l-varjabbli GOMAXPROCS, u meta diversi servizzi bħal dawn jiġu mnedija fuq l-istess magna, jibdew li jikkompetu għar-riżorsi, jinterferixxu ma 'xulxin. Il-graffs hawn taħt juru kif jinbidel il-ħin tal-eżekuzzjoni jekk tħaddem l-applikazzjoni mingħajr kontenzjoni u fil-modalità tellieqa għar-riżorsi. (Is-sorsi tal-grafiċi huma hawn).
Ħin ta 'eżekuzzjoni, inqas huwa aħjar. Massimu: 643ms, minimu: 42ms. Ir-ritratt jista' jiġi kklikkjat.
Ħin għall-kirurġija, inqas huwa aħjar. Massimu: 14091 ns, minimu: 151 ns. Ir-ritratt jista' jiġi kklikkjat.
Fl-istadju tal-preparazzjoni tal-assemblaġġ, tista 'tissettja din il-varjabbli b'mod espliċitu jew tista' tuża l-librerija awtomaxprocs mill-ġuvini minn Uber.
Skjerament
• Iċċekkjar tal-konvenzjonijiet. Qabel ma tibda tagħti assemblaġġi tas-servizz lill-ambjenti intiżi tiegħek, trid tiċċekkja dan li ġej:
- Punti finali tal-API.
— Konformità tat-tweġibiet tal-endpoints tal-API mal-iskema.
— Format ta’ log.
— L-issettjar ta’ headers għal talbiet lis-servizz (bħalissa dan isir minn netramesh)
— L-issettjar tat-token tas-sid meta tibgħat messaġġi lill-bus tal-avveniment. Dan huwa meħtieġ biex tiġi rintraċċata l-konnettività tas-servizzi madwar ix-xarabank. Tista 'tibgħat kemm dejta idempotenti lix-xarabank, li ma żżidx il-konnettività tas-servizzi (li hija tajba), kif ukoll dejta tan-negozju li ssaħħaħ il-konnettività tas-servizzi (li hija ħażina ħafna!). U fil-punt meta din il-konnettività ssir kwistjoni, il-fehim min jikteb u jaqra l-karozza tal-linja jgħin biex is-servizzi jiġu separati sew.
Għad m'hemmx ħafna konvenzjonijiet f'Avito, iżda l-grupp tagħhom qed jespandi. Aktar ma dawn il-ftehimiet ikunu disponibbli f'forma li t-tim jista' jifhem u jifhem, iktar ikun faċli li tinżamm il-konsistenza bejn il-mikroservizzi.
Testijiet sintetiċi
• Ittestjar b'ċirku magħluq. Għal dan issa qed nużaw sors miftuħ Hoverfly.io. L-ewwel, jirreġistra t-tagħbija reali fuq is-servizz, imbagħad - biss f'ċirku magħluq - jimitaha.
• Ittestjar tal-istress. Nippruvaw inġibu s-servizzi kollha għall-aħjar prestazzjoni. U l-verżjonijiet kollha ta 'kull servizz għandhom ikunu soġġetti għal ittestjar tat-tagħbija - b'dan il-mod nistgħu nifhmu l-prestazzjoni attwali tas-servizz u d-differenza mal-verżjonijiet preċedenti tal-istess servizz. Jekk, wara aġġornament tas-servizz, il-prestazzjoni tagħha naqset b'darba u nofs, dan huwa sinjal ċar għas-sidien tiegħu: għandek bżonn tħaffer fil-kodiċi u tikkoreġi s-sitwazzjoni.
Aħna nużaw id-dejta miġbura, pereżempju, biex nimplimentaw b'mod korrett l-iskalar awtomatiku u, fl-aħħar, ġeneralment nifhmu kemm is-servizz huwa skalabbli.
Waqt l-ittestjar tat-tagħbija, aħna niċċekkjaw jekk il-konsum tar-riżorsi jilħaqx il-limiti stabbiliti. U aħna niffukaw primarjament fuq estremi.
a) Inħarsu lejn it-tagħbija totali.
- Żgħir wisq - x'aktarx xi ħaġa ma taħdimx xejn jekk it-tagħbija f'daqqa tinżel diversi drabi.
- Kbir wisq - ottimizzazzjoni meħtieġa.
b) Inħarsu lejn il-cutoff skont RPS.
Hawnhekk inħarsu lejn id-differenza bejn il-verżjoni attwali u dik preċedenti u l-kwantità totali. Pereżempju, jekk servizz jipproduċi 100 rps, allura huwa jew miktub ħażin, jew din hija l-ispeċifiċità tiegħu, iżda fi kwalunkwe każ, din hija raġuni biex tħares lejn is-servizz mill-qrib ħafna.
Jekk, għall-kuntrarju, hemm wisq RPS, allura forsi hemm xi tip ta 'bug u xi wħud mill-endpoints waqfu jeżegwixxu t-tagħbija, u xi waħda oħra hija sempliċement attivata return true;
Testijiet tal-Kanarji
Wara li ngħaddu mit-testijiet sintetiċi, nittestjaw il-mikroservizz fuq numru żgħir ta 'utenti. Nibdew bir-reqqa, b'sehem żgħir tal-udjenza maħsuba tas-servizz - inqas minn 0,1%. F'dan l-istadju, huwa importanti ħafna li l-metriċi tekniċi u tal-prodott korretti jiġu inklużi fil-monitoraġġ sabiex juru l-problema fis-servizz malajr kemm jista 'jkun. Il-ħin minimu għal test tal-kanarji huwa ta '5 minuti, dak ewlieni huwa ta' sagħtejn. Għal servizzi kumplessi, aħna nissettjaw il-ħin manwalment.
Ejja nanalizzaw:
— metriċi speċifiċi għal-lingwa, b'mod partikolari, ħaddiema php-fpm;
— żbalji f'Sentry;
— l-istatus tar-rispons;
— ħin tar-rispons, eżatt u medju;
— latenza;
— eċċezzjonijiet, ipproċessati u mhux immaniġġjati;
— metriċi tal-prodott.
Agħfas Ittestjar
L-Ittestjar tal-Agħfas jissejjaħ ukoll ittestjar ta '"għasir". L-isem tat-teknika ġie introdott f'Netflix. L-essenza tagħha hija li l-ewwel nimlew istanza waħda bi traffiku reali sal-punt tal-falliment u b'hekk nistabbilixxu l-limitu tagħha. Imbagħad inżidu eżempju ieħor u tagħbija dan il-par - għal darb'oħra sal-massimu; naraw il-limitu u d-delta tagħhom bl-ewwel "għafas". U għalhekk aħna ngħaqqdu każ wieħed kull darba u nikkalkulaw il-mudell tal-bidliet.
Id-dejta tat-test permezz ta '"għasir" tmur ukoll f'database ta' metriċi komuni, fejn aħna jew jarrikkixxu r-riżultati tat-tagħbija artifiċjali magħhom, jew saħansitra nissostitwixxu "sintetiċi" magħhom.
Produzzjoni
• Skala. Meta noħorġu servizz għall-produzzjoni, nissorveljaw kif tiskala. Fl-esperjenza tagħna, il-monitoraġġ tal-indikaturi tas-CPU biss huwa ineffettiv. L-iskala awtomatika bil-benchmarking RPS fil-forma pura tagħha taħdem, iżda biss għal ċerti servizzi, bħal streaming onlajn. Allura nħarsu l-ewwel lejn il-metriċi tal-prodott speċifiċi għall-applikazzjoni.
Bħala riżultat, meta niskala aħna nanalizzaw:
- Indikaturi tas-CPU u RAM,
— in-numru ta’ talbiet fil-kju,
— ħin tar-rispons,
— tbassir ibbażat fuq data storika akkumulata.
Meta niskala servizz, huwa importanti wkoll li tissorvelja d-dipendenzi tiegħu sabiex ma nslux l-ewwel servizz fil-katina, u dawk li jaċċessa jfallu taħt tagħbija. Biex nistabbilixxu tagħbija aċċettabbli għall-grupp kollu ta 'servizzi, inħarsu lejn id-dejta storika tas-servizz dipendenti "l-eqreb" (ibbażat fuq kombinazzjoni ta' indikaturi CPU u RAM, flimkien ma 'metriċi speċifiċi għall-app) u nqabbluhom mad-dejta storika tas-servizz ta 'inizjalizzazzjoni, u l-bqija matul il-"katina ta' dipendenza" ", minn fuq għal isfel.
Servizz
Wara li l-mikroservizz jitħaddem, nistgħu nwaħħallu triggers.
Hawn huma sitwazzjonijiet tipiċi li fihom iseħħu triggers.
— Migrazzjonijiet potenzjalment perikolużi misjuba.
— Ġew rilaxxati aġġornamenti tas-sigurtà.
— Is-servizz innifsu ilu ma ġiex aġġornat.
— It-tagħbija fuq is-servizz naqset b'mod notevoli jew xi wħud mill-metriċi tal-prodott tiegħu huma barra mill-firxa normali.
— Is-servizz m'għadux jissodisfa r-rekwiżiti l-ġodda tal-pjattaforma.
Xi wħud mill-kawżi huma responsabbli għall-istabbiltà tal-operat, xi wħud - bħala funzjoni tal-manutenzjoni tas-sistema - per eżempju, xi servizz ma ġiex skjerat għal żmien twil u l-immaġni bażi tagħha ma baqgħetx tgħaddi mill-kontrolli tas-sigurtà.
Daxxbord
Fil-qosor, id-dashboard huwa l-pannell tal-kontroll tal-PaaS kollu tagħna.
Punt uniku ta 'informazzjoni dwar is-servizz, b'dejta dwar il-kopertura tat-test tiegħu, in-numru ta' stampi tiegħu, in-numru ta 'kopji ta' produzzjoni, verżjonijiet, eċċ.
Għodda għall-iffiltrar tad-dejta skont is-servizzi u t-tikketti (markaturi tal-appartenenza għal unitajiet tan-negozju, funzjonalità tal-prodott, eċċ.)
Għodda għall-integrazzjoni ma 'għodod infrastrutturali għat-traċċar, il-qtugħ, u l-monitoraġġ.
Dokumentazzjoni ta' punt wieħed ta' servizz.
Perspettiva waħda tal-avvenimenti kollha fis-servizzi.
B'kollox
Qabel ma jintroduċi PaaS, żviluppatur ġdid jista' jqatta' diversi ġimgħat jifhem l-għodda kollha meħtieġa biex iniedi mikroservizz fil-produzzjoni: Kubernetes, Helm, il-karatteristiċi interni tagħna ta' TeamCity, twaqqif ta' konnessjonijiet ma' databases u caches b'mod tolleranti għall-ħsarat, eċċ. jieħu ftit sigħat biex taqra l-quickstart u toħloq is-servizz innifsu.
Jien tajt rapport dwar dan is-suġġett għal HighLoad++ 2018, tista 'tarah video и preżentazzjoni.
Bonus track għal dawk li jaqraw sal-aħħar
Aħna ta 'Avito qed norganizzaw taħriġ intern ta' tlett ijiem għall-iżviluppaturi minn Chris Richardson, espert fl-arkitettura tal-mikroservizz. Nixtiequ nagħtu l-opportunità li tipparteċipa fiha lil wieħed mill-qarrejja ta’ din il-kariga. Hawnhekk Il-programm ta' taħriġ ġie ppubblikat.
It-taħriġ se jsir mill-5 sas-7 ta’ Awwissu f’Moska. Dawn huma ġranet tax-xogħol li se jkunu okkupati għal kollox. L-ikla u t-taħriġ se jkunu fl-uffiċċju tagħna, u l-parteċipant magħżul iħallas għall-ivvjaġġar u l-akkomodazzjoni hu stess.
Tista' tapplika għall-parteċipazzjoni f'din il-formola google. Minnek - it-tweġiba għall-mistoqsija għaliex għandek bżonn tattendi t-taħriġ u informazzjoni dwar kif tikkuntattjak. Tweġiba bl-Ingliż, għax Chris jagħżel il-parteċipant li jattendi t-taħriġ hu stess.
Se nħabbru l-isem tal-parteċipant tat-taħriġ f'aġġornament għal din il-kariga u fuq in-netwerks soċjali Avito għall-iżviluppaturi (AvitoTech f' Facebook, Vkontakte, Twitter) mhux aktar tard mid-19 ta’ Lulju.