I-backend, ukufunda ngomshini nokungabi nasiphakeli - izinto ezithakazelisa kakhulu ezivela enkomfeni kaJulayi Habr

Ingqungquthela ye-Habr akuyona indaba yokuqala. Ngaphambilini, sasibambe imicimbi ye-Toaster emikhulu yabantu abangu-300-400, kodwa manje sinqume ukuthi imihlangano emincane enezihloko izoba efanele, isiqondiso ongasetha, isibonelo, kumazwana. Ingqungquthela yokuqala yale fomethi yabanjwa ngoJulayi futhi yanikezelwa ukuthuthukiswa kwe-backend. Ababambiqhaza balalele imibiko ngezici zenguquko ukusuka ku-backend ukuya ku-ML kanye nedizayini yesevisi ye-Quadrupel kuphothali Yezinsizakalo Zombuso, futhi babambe iqhaza etafuleni eliyindilinga elinikezelwe ku-Serverless. Kulabo abangakwazi ukuhambela umcimbi mathupha, kulokhu okuthunyelwe sikutshela izinto ezithakazelisa kakhulu.

I-backend, ukufunda ngomshini nokungabi nasiphakeli - izinto ezithakazelisa kakhulu ezivela enkomfeni kaJulayi Habr

Kusukela ekuthuthukisweni okungemuva kuya ekufundeni komshini

Benzani onjiniyela bedatha ku-ML? Ifana kanjani futhi ihluke kanjani imisebenzi yonjiniyela ongemuva kanye nonjiniyela we-ML? Iyiphi indlela okudingeka uyithathe ukuze ushintshe umsebenzi wakho wokuqala ube owesibili? Lokhu kutshelwe ngu-Alexander Parinov, owangena ekufundeni ngomshini ngemva kweminyaka eyi-10 yomsebenzi wokubuyela emuva.

I-backend, ukufunda ngomshini nokungabi nasiphakeli - izinto ezithakazelisa kakhulu ezivela enkomfeni kaJulayi Habr
Alexander Parinov

Namuhla u-Alexander usebenza njengomakhi wezinhlelo zombono wekhompyutha ku-X5 Retail Group futhi unikela kumaphrojekthi Womthombo Ovulekile ahlobene nombono wekhompyutha nokufunda okujulile (github.com/creafz). Amakhono akhe aqinisekiswa ukubamba iqhaza kwakhe ku-100 ephezulu yezinga lomhlaba le-Kaggle Master (kaggle.com/creafz), inkundla edume kakhulu yemiqhudelwano yokufunda ngomshini.

Kungani ushintshela ekufundeni komshini

Onyakeni nohhafu owedlule, uJeff Dean, inhloko ye-Google Brain, iphrojekthi ye-Google ejulile yocwaningo lobuhlakani bokwenziwa esekelwe ekufundeni, uchaze ukuthi imigqa yekhodi eyingxenye yesigidi ku-Google Translate ithathelwe indawo yinethiwekhi ye-Tensor Flow neural ehlanganisa imigqa engama-500 kuphela. Ngemva kokuqeqesha inethiwekhi, ikhwalithi yedatha yanda futhi ingqalasizinda yaba lula. Kungase kubonakale sengathi leli yikusasa lethu eliqhakazile: akusadingeki sibhale ikhodi, kwanele ukwenza ama-neurons futhi uwagcwalise ngedatha. Kodwa ekusebenzeni konke kuyinkimbinkimbi kakhulu.

I-backend, ukufunda ngomshini nokungabi nasiphakeli - izinto ezithakazelisa kakhulu ezivela enkomfeni kaJulayi HabrIngqalasizinda ye-ML kwa-Google

Amanethiwekhi e-Neural ayingxenye encane kuphela yengqalasizinda (isikwele esincane esimnyama esithombeni esingenhla). Kudingeka amasistimu amaningi asizayo ukuze uthole idatha, icubungule, igcinwe, ihlole ikhwalithi, njll., sidinga ingqalasizinda yokuqeqeshwa, sikhiphe ikhodi yokufunda yomshini ekukhiqizeni, nokuhlola le khodi. Yonke le misebenzi ifana ncamashi nalokho okwenziwa abathuthukisi be-backend.

I-backend, ukufunda ngomshini nokungabi nasiphakeli - izinto ezithakazelisa kakhulu ezivela enkomfeni kaJulayi HabrInqubo yokufunda ngomshini

Uyini umehluko phakathi kwe-ML ne-backend?

Kuhlelo lwakudala, sibhala ikhodi futhi lokhu kuchaza ukuziphatha kohlelo. Ku-ML, sinekhodi yemodeli encane kanye nedatha eningi esiyiphonsa kumodeli. Idatha ku-ML ibaluleke kakhulu: imodeli efanayo eqeqeshwe kudatha ehlukene ingabonisa imiphumela ehluke ngokuphelele. Inkinga ukuthi idatha ihlale ihlakazekile futhi igcinwe ezinhlelweni ezahlukene (imininingwane yolwazi, imininingwane ye-NoSQL, izingodo, amafayela).

I-backend, ukufunda ngomshini nokungabi nasiphakeli - izinto ezithakazelisa kakhulu ezivela enkomfeni kaJulayi HabrInguqulo yedatha

I-ML ayidingi ukuguqulwa kwekhodi kuphela, njengokuthuthukiswa kwakudala, kodwa futhi nedatha: kuyadingeka ukuqonda ngokucacile ukuthi imodeli yayiqeqeshelwe ini. Ukwenza lokhu, ungasebenzisa ilabhulali yokulawula inguqulo ye-Data Science (dvc.org).

I-backend, ukufunda ngomshini nokungabi nasiphakeli - izinto ezithakazelisa kakhulu ezivela enkomfeni kaJulayi Habr
Imakhaphu yedatha

Umsebenzi olandelayo ukulebula idatha. Isibonelo, maka zonke izinto esithombeni noma usho ukuthi ingeyaliphi ikilasi. Lokhu kwenziwa ngamasevisi akhethekile afana ne-Yandex.Toloka, umsebenzi owenziwa lula kakhulu ngokuba khona kwe-API. Ubunzima buvela ngenxa "yesici somuntu": ungathuthukisa ikhwalithi yedatha futhi unciphise amaphutha abe ubuncane ngokunikeza umsebenzi ofanayo kubadlali abaningana.

I-backend, ukufunda ngomshini nokungabi nasiphakeli - izinto ezithakazelisa kakhulu ezivela enkomfeni kaJulayi HabrUkubuka ngeso lengqondo ku-Tensor Board

Ukungena ngemvume kokuhlolwa kuyadingeka ukuze uqhathanise imiphumela futhi ukhethe imodeli ehamba phambili ngokusekelwe kwamanye amamethrikhi. Kukhona isethi enkulu yamathuluzi okubuka - isibonelo, Ibhodi Le-Tensor. Kodwa azikho izindlela ezikahle zokugcina izivivinyo. Izinkampani ezincane zivame ukwenza isipredishithi se-Excel, kuyilapho ezinkulu zisebenzisa izinkundla ezikhethekile zokugcina imiphumela kusizindalwazi.

I-backend, ukufunda ngomshini nokungabi nasiphakeli - izinto ezithakazelisa kakhulu ezivela enkomfeni kaJulayi HabrZiningi izinkundla zokufunda ngomshini, kodwa azikho ezihlanganisa u-70% wezidingo

Inkinga yokuqala umuntu okufanele abhekane nayo lapho ebeka imodeli eqeqeshiwe ekukhiqizeni ihlobene nethuluzi eliyintandokazi lososayensi bedatha - I-Jupyter Notebook. Akukho modularity kuyo, okungukuthi, okukhiphayo "indwangu yezinyawo" enjalo yekhodi engahlukaniswanga ibe yizicucu ezinengqondo - amamojula. Konke kuxubile: amakilasi, imisebenzi, ukucupha, njll. Le khodi kunzima ukuyihumusha nokuhlola.

Ungabhekana kanjani nalokhu? Ungazisula wena, njenge-Netflix, futhi udale inkundla yakho ekuvumela ukuthi uqalise lawa makhompyutha aphathekayo ngokuqondile ekukhiqizeni, udlulisele idatha kuwo njengokufaka futhi uthole imiphumela. Ungaphoqa onjiniyela abaguqulela imodeli ekukhiqizeni ukuthi babhale kabusha ikhodi ngokujwayelekile, bayihlukanise ibe amamojula. Kodwa ngale ndlela kulula ukwenza iphutha, futhi imodeli ngeke isebenze njengoba kuhlosiwe. Ngakho-ke, inketho ekahle ukuvimbela ukusetshenziswa kweJupyter Notebook yekhodi yemodeli. Uma, kunjalo, ososayensi bedatha bayavumelana nalokhu.

I-backend, ukufunda ngomshini nokungabi nasiphakeli - izinto ezithakazelisa kakhulu ezivela enkomfeni kaJulayi HabrImodeli njengebhokisi elimnyama

Indlela elula yokuthola imodeli ekukhiqizeni ukuyisebenzisa njengebhokisi elimnyama. Unohlobo oluthile lwekilasi eliyimodeli, unikezwe izisindo zemodeli (amapharamitha wama-neurons enethiwekhi eqeqeshiwe), futhi uma uqalisa leli klasi (shayela indlela yokubikezela, yondle isithombe), uzothola okuthile. ukubikezela njengokuphumayo. Okwenzeka ngaphakathi akusho lutho.

I-backend, ukufunda ngomshini nokungabi nasiphakeli - izinto ezithakazelisa kakhulu ezivela enkomfeni kaJulayi Habr
Hlukanisa inqubo yeseva ngemodeli

Ungakwazi futhi ukuphakamisa inqubo ethile ehlukile futhi uyithumele ngomugqa we-RPC (nezithombe noma enye idatha yomthombo. Kokukhiphayo sizothola izibikezelo.

Isibonelo sokusebenzisa imodeli ku-Flask:

@app.route("/predict", methods=["POST"])
def predict():
image = flask.request.files["image"].read()
image = preprocess_image(image)
predictions = model.predict(image)
return jsonify_prediction(predictions)

Inkinga ngale ndlela ukulinganiselwa kokusebenza. Ake sithi sinekhodi ye-Phyton ebhalwe ososayensi bedatha ehamba kancane, futhi sifuna ukucindezela ukusebenza okuphezulu. Ukuze wenze lokhu, ungasebenzisa amathuluzi aguqulela ikhodi ibe yendabuko noma ayiguqulele kolunye uhlaka olwakhelwe ukukhiqizwa. Akhona amathuluzi anjalo kulo lonke uhlaka, kodwa awekho afanelekile; kuzomele uwangeze ngokwakho.

Ingqalasizinda ku-ML iyafana nesemuva elivamile. Kukhona i-Docker ne-Kubernetes, ku-Docker kuphela okudingeka ufake i-runtime evela ku-NVIDIA, evumela izinqubo ezingaphakathi kwesitsha ukuthi zifinyelele amakhadi evidiyo kumsingathi. I-Kubernetes idinga i-plugin ukuze ikwazi ukuphatha amaseva ngamakhadi evidiyo.

I-backend, ukufunda ngomshini nokungabi nasiphakeli - izinto ezithakazelisa kakhulu ezivela enkomfeni kaJulayi Habr

Ngokungafani nohlelo lwakudala, endabeni ye-ML kunezinto eziningi ezinyakazayo ezihlukene kwingqalasizinda okudingeka zihlolwe futhi zihlolwe - isibonelo, ikhodi yokucubungula idatha, ipayipi lokuqeqesha eliyimodeli kanye nokukhiqizwa (bona umdwebo ongenhla). Kubalulekile ukuhlola ikhodi exhuma izingcezu ezahlukene zamapayipi: kunezicucu eziningi, futhi izinkinga zivame ukuvela emingcele yemojuli.

I-backend, ukufunda ngomshini nokungabi nasiphakeli - izinto ezithakazelisa kakhulu ezivela enkomfeni kaJulayi Habr
Isebenza kanjani i-AutoML

Amasevisi e-AutoML athembisa ukukhetha imodeli efanele ngezinjongo zakho futhi ayiqeqeshe. Kodwa udinga ukuqonda: idatha ibaluleke kakhulu ku-ML, umphumela uncike ekulungiseleleni kwayo. I-markup yenziwa abantu, egcwele amaphutha. Ngaphandle kokulawula okuqinile, umphumela ungase ube udoti, futhi akukakwazi ukwenza inqubo ngokuzenzakalelayo; ukuqinisekiswa kochwepheshe - ososayensi bedatha - kuyadingeka. Lapha yilapho i-AutoML iphuka khona. Kodwa kungaba usizo ekukhetheni i-architecture - uma usuyilungisile idatha futhi ufuna ukusebenzisa uchungechunge lokuhlola ukuze uthole imodeli engcono kakhulu.

Ungangena kanjani ekufundeni komshini

Indlela elula yokungena ku-ML uma uthuthukisa ku-Python, esetshenziswa kuzo zonke izinhlaka zokufunda ezijulile (kanye nezinhlaka ezijwayelekile). Lolu limi luyimpoqo kulo mkhakha womsebenzi. I-C++ isetshenziselwa eminye imisebenzi yombono wekhompyutha, isibonelo, ezinhlelweni zokulawula izimoto ezizishayelayo. I-JavaScript ne-Shell - yokubuka ngeso lengqondo nezinto ezixakile njengokusebenzisa i-neuron esipheqululini. I-Java ne-Scala zisetshenziswa lapho kusetshenzwa ne-Big Data nokufunda ngomshini. U-R noJulia bathandwa abantu abafunda izibalo zezibalo.

Indlela elula kakhulu yokuthola ulwazi olusebenzayo ongaqala ngalo iku-Kaggle; ukubamba iqhaza komunye wemiqhudelwano yesikhulumi kunikeza isikhathi esingaphezu konyaka sokufunda ithiyori. Kule nkundla ungathatha ikhodi yomunye umuntu ethunyelwe futhi enamazwana bese uzama ukuyithuthukisa, uyilungiselele izinjongo zakho. Ibhonasi - izinga lakho le-Kaggle lithinta iholo lakho.

Enye inketho ukujoyina ithimba le-ML njengonjiniyela ongemuva. Kuneziqalo eziningi zokufunda ngomshini lapho ungathola khona ulwazi ngokusiza ozakwenu ukuxazulula izinkinga zabo. Okokugcina, ungajoyina omunye wemiphakathi yososayensi bedatha - Isayensi Yedatha Evulekile (ods.ai) neminye.

Isikhulumi sithumele ulwazi olwengeziwe ngesihloko kusixhumanisi https://bit.ly/backend-to-ml

"I-Quadrupel" - isevisi yezaziso ezihlosiwe ze-portal "State Services"

I-backend, ukufunda ngomshini nokungabi nasiphakeli - izinto ezithakazelisa kakhulu ezivela enkomfeni kaJulayi HabrEvgeny Smirnov

Isikhulumi esilandelayo kwaba yinhloko yomnyango wokuthuthukiswa kwengqalasizinda ye-e-government, u-Evgeny Smirnov, owakhuluma nge-Quadruple. Lena isevisi yesaziso ehlosiwe yengosi ye-Gosuslugi (gosuslugi.ru), insiza kahulumeni evakashelwa kakhulu ku-Runet. Izilaleli zansuku zonke ziyizigidi ezingu-2,6, sekukonke kunabasebenzisi ababhalisiwe abayizigidi ezingu-90 kusayithi, lapho izigidi ezingu-60 ziqinisekisiwe. Umthwalo ku-portal API yi-30 thousand RPS.

I-backend, ukufunda ngomshini nokungabi nasiphakeli - izinto ezithakazelisa kakhulu ezivela enkomfeni kaJulayi HabrUbuchwepheshe obusetshenziswa ngemuva Kwezinsizakalo Zikahulumeni

"I-Quadrupel" iyisevisi yesaziso ehlosiwe, ngosizo lapho umsebenzisi ethola khona isipho sesevisi ngesikhathi esifanele kakhulu ngokusetha imithetho yezaziso ekhethekile. Izidingo eziyinhloko lapho kuthuthukiswa isevisi kwakuyizilungiselelo eziguquguqukayo kanye nesikhathi esanele sokuposa.

Isebenza kanjani i-Quadrupel?

I-backend, ukufunda ngomshini nokungabi nasiphakeli - izinto ezithakazelisa kakhulu ezivela enkomfeni kaJulayi Habr

Umdwebo ongenhla ubonisa omunye wemithetho yokusebenza kwe-Quadrupel usebenzisa isibonelo sesimo esinesidingo sokushintsha ilayisense yokushayela. Okokuqala, isevisi ibheka abasebenzisi abadethi yabo yokuphelelwa yisikhathi iphelelwa yisikhathi enyangeni. Baboniswa isibhengezo esinomnikelo wokuthola isevisi efanele futhi umlayezo uthunyelwa nge-imeyili. Kulabo basebenzisi umnqamulajuqu wabo osuvele uphelelwe yisikhathi, isibhengezo ne-imeyili ziyashintsha. Ngemva kokushintshisana ngempumelelo kwamalungelo, umsebenzisi uthola ezinye izaziso - ngesiphakamiso sokubuyekeza idatha kumazisi.

Ngokombono wezobuchwepheshe, lezi ziyimibhalo ye-groovy lapho ikhodi ibhalwa khona. Okokufaka idatha, okukhiphayo kuyiqiniso/amanga, kufanisiwe/akufananga. Kunemithetho engaphezu kuka-50 iyonke - kusukela ekunqumeni usuku lokuzalwa lomsebenzisi (idethi yamanje ilingana nosuku lokuzalwa lomsebenzisi) kuya ezimeni eziyinkimbinkimbi. Nsuku zonke, le mithetho ihlonza amameshi angaba yisigidi—abantu okudingeka baziswe.

I-backend, ukufunda ngomshini nokungabi nasiphakeli - izinto ezithakazelisa kakhulu ezivela enkomfeni kaJulayi HabrIziteshi zezaziso ezine-quadrupel

Ngaphansi kwe-hood ye-Quadrupel kukhona isizindalwazi lapho kugcinwa khona idatha yomsebenzisi, kanye nezinhlelo zokusebenza ezintathu: 

  • Umsebenzi ihloselwe ukubuyekeza idatha.
  • Phumula i-API icosha futhi izilethele izibhengezo ngokwayo kuphothali nesicelo seselula.
  • Umhleli iqala umsebenzi wokubala kabusha izibhengezo noma ukuthunyelwa kweposi ngobuningi.

I-backend, ukufunda ngomshini nokungabi nasiphakeli - izinto ezithakazelisa kakhulu ezivela enkomfeni kaJulayi Habr

Ukuze ubuyekeze idatha, i-backend iqhutshwa umcimbi. Izixhumanisi ezimbili - ukuphumula noma i-JMS. Miningi imicimbi; ngaphambi kokulondoloza nokucutshungulwa, iyahlanganiswa ukuze kungenziwa izicelo ezingenasidingo. Isizindalwazi ngokwaso, ithebula okugcinwa kulo idatha, libukeka njengesitolo senani elingukhiye - ukhiye womsebenzisi kanye nenani ngokwalo: amafulegi abonisa ukuba khona noma ukungabikho kwamadokhumenti afanelekile, isikhathi sawo sokuqinisekisa, izibalo ezihlanganisiwe ngokulandelana kwezinsizakalo lo msebenzisi, njalonjalo.

I-backend, ukufunda ngomshini nokungabi nasiphakeli - izinto ezithakazelisa kakhulu ezivela enkomfeni kaJulayi Habr

Ngemva kokulondoloza idatha, umsebenzi usethwa ku-JMS ukuze izibhengezo zibalwe kabusha ngokushesha - lokhu kufanele kuboniswe ngokushesha kuwebhu. Uhlelo luqala ebusuku: imisebenzi iphonswa ku-JMS ngezikhathi ezithile zomsebenzisi, ngokuya ngokuthi imithetho idinga ukubalwa kabusha. Lokhu kuthathwa ama-processor abandakanyeka ekubaleni kabusha. Okulandelayo, imiphumela yokucubungula iya kulayini olandelayo, ogcina izibhengezo kusizindalwazi noma othumela imisebenzi yesaziso somsebenzisi kusevisi. Inqubo ithatha amahora angu-5-7, ingakala kalula ngenxa yokuthi ungakwazi njalo ukwengeza izibambi noma ukuphakamisa izimo ngezibambi ezintsha.

I-backend, ukufunda ngomshini nokungabi nasiphakeli - izinto ezithakazelisa kakhulu ezivela enkomfeni kaJulayi Habr

Isevisi isebenza kahle kakhulu. Kodwa umthamo wedatha uyakhula njengoba kunabasebenzisi abaningi. Lokhu kuholela ekwenyukeni komthwalo kusizindalwazi - ngisho nokucabangela iqiniso lokuthi i-Rest API ibheka i-replica. Iphuzu lesibili yi-JMS, okuyinto, njengoba kwavela, ayifaneleki kakhulu ngenxa yokusetshenziswa kwayo kwememori ephezulu. Kukhona ingozi enkulu yokuchichima komugqa okubangela ukuthi i-JMS iphahlazeke futhi ukucubungula kume. Akunakwenzeka ukukhulisa i-JMS ngemuva kwalokhu ngaphandle kokususa izingodo.

I-backend, ukufunda ngomshini nokungabi nasiphakeli - izinto ezithakazelisa kakhulu ezivela enkomfeni kaJulayi Habr

Kuhlelelwe ukuxazulula izinkinga ngokusebenzisa i-sharding, okuzovumela ukulinganisa umthwalo ku-database. Kukhona nezinhlelo zokushintsha uhlelo lokugcinwa kwedatha, nokushintsha i-JMS ibe yi-Kafka - isisombululo esibekezelela amaphutha esizoxazulula izinkinga zenkumbulo.

I-Backend-as-a-Service Vs. Ayinasiphakeli

I-backend, ukufunda ngomshini nokungabi nasiphakeli - izinto ezithakazelisa kakhulu ezivela enkomfeni kaJulayi Habr
Kusukela kwesokunxele kuya kwesokudla: Alexander Borgart, Andrey Tomilenko, Nikolay Markov, Ara Israelyan

Buyisela emuva njengesevisi noma isixazululo se-Serverless? Ababambe iqhaza engxoxweni yalolu daba olucindezelayo etafuleni eliyindilinga babe:

  • Ara Israelyan, CTO CTO kanye umsunguli Scorocode.
  • Nikolay Markov, Senior Data Engineer at Aligned Research Group.
  • U-Andrey Tomilenko, inhloko yomnyango wezokuthuthukiswa kwe-RUVDS. 

Ingxoxo ibinganyelwe ngunjiniyela omkhulu u-Alexander Borgart. Sethula izinkulumo-mpikiswano lapho abalaleli baphinde bahlanganyela enguqulweni efushanisiwe.

- Yini i-Serverless ekuqondeni kwakho?

Andrei: Lena imodeli yekhompyutha - umsebenzi we-Lambda okufanele ucubungule idatha ukuze umphumela uncike kuphela kudatha. Leli gama livela ku-Google noma livela e-Amazon kanye nensizakalo yayo ye-AWS Lambda. Kulula kumhlinzeki ukuphatha umsebenzi onjalo ngokuwabela iqoqo lamandla kuwo. Abasebenzisi abahlukene bangabalwa ngokuzimele kumaseva afanayo.
Nikolai: Ukukubeka kalula, sidlulisela ingxenye ethile yengqalasizinda yethu ye-IT kanye nengqondo yebhizinisi efwini, ekunikezeni imisebenzi ngaphandle.
Ara: Ngasohlangothini lwabathuthukisi - umzamo omuhle wokulondoloza izinsiza, ngasohlangothini lwabadayisi - ukuze uthole imali eyengeziwe.

- Ingabe i-Serverless iyafana ne-microservices?

Nikolai: Cha, i-Serverless iyinhlangano yezokwakha. I-microservice iyiyunithi ye-athomu yomqondo othile. I-Serverless iyindlela, hhayi "ibhizinisi elihlukene."
Ara: Umsebenzi ongenaServerless ungapakishwa ku-microservice, kodwa lokhu ngeke kusaba yi-Serverless, kuzoyeka ukuba umsebenzi we-Lambda. Ku-Serverless, umsebenzi uqala ukusebenza kuphela lapho uceliwe.
Andrei: Ayahluka empilweni yawo. Sethule umsebenzi weLambda futhi sawukhohlwa. Isebenze imizuzwana embalwa, futhi iklayenti elilandelayo lingacubungula isicelo salo komunye umshini womzimba.

— Yiziphi izikali ezingcono?

Ara: Uma ukala ngokuvundlile, imisebenzi ye-Lambda iziphatha ngokufana ncamashi nama-microservices.
Nikolai: Noma ngabe iyiphi inombolo yezifanekiso ozisethile, zizoba ziningi; I-Serverless ayinazo izinkinga ngokukala. Ngenze isethi yokukopisha ku-Kubernetes, ngethula izikhathi ezingama-20 “ndawana thize”, futhi izixhumanisi ezingaziwa ezingama-20 zibuyiselwe kuwe. Phambili!

- Kungenzeka yini ukubhala i-backend ku-Serverless?

Andrei: Ngokwezibalo, kodwa akwenzi mqondo. Imisebenzi ye-Lambda izoncika endaweni yokugcina eyodwa - sidinga ukuqinisekisa isiqinisekiso. Isibonelo, uma umsebenzisi enze umsebenzi othile, ngesikhathi esilandelayo lapho exhumana naye kufanele abone: umsebenzi sewenziwe, izimali zifakiwe. Yonke imisebenzi ye-Lambda izovinjwa kule kholi. Eqinisweni, inqwaba yemisebenzi ye-Serverless izophenduka isevisi eyodwa enendawo eyodwa yokufinyelela yebhodlela kusizindalwazi.

- Kukuziphi izimo lapho kunengqondo ukusebenzisa i-architecture engena-server?

Andrei: Imisebenzi engadingi isitoreji esabiwe - izimayini ezifanayo, i-blockchain. Lapho udinga ukubala okuningi. Uma unamandla amaningi e-computing, khona-ke ungachaza umsebenzi njengokuthi "bala i-hash yento ethile lapho..." Kodwa ungakwazi ukuxazulula inkinga ngokugcina idatha ngokuthatha, isibonelo, imisebenzi ye-Lambda evela ku-Amazon kanye nesitoreji sabo esabalalisiwe. . Futhi kuvela ukuthi ubhala isevisi evamile. Imisebenzi ye-Lambda izofinyelela isitoreji futhi inikeze uhlobo oluthile lokuphendula kumsebenzisi.
Nikolai: Iziqukathi ezisebenza ku-Serverless zikhawulelwe kakhulu ezinsizeni. Kukhona inkumbulo encane nakho konke okunye. Kodwa uma yonke ingqalasizinda yakho isetshenziswe ngokuphelele kwelinye ifu - i-Google, i-Amazon - futhi unenkontileka yaphakade nabo, kunesabelomali sakho konke lokhu, khona-ke kweminye imisebenzi ungasebenzisa iziqukathi ze-Serverless. Kuyadingeka ukuba ngaphakathi kwale ngqalasizinda, ngoba yonke into yakhelwe ukusetshenziswa endaweni ethile. Okusho ukuthi, uma usulungele ukubopha yonke into engqalasizinda yefu, ungazama. Inzuzo ukuthi awudingi ukuphatha le ngqalasizinda.
Ara: Iqiniso lokuthi i-Serverless ayidingi ukuthi uphathe i-Kubernetes, i-Docker, ufake i-Kafka, nokunye ukuzikhohlisa. I-Amazon ne-Google efanayo ifaka lokhu. Enye into ukuthi une-SLA. Ungase futhi ukhiphe yonke into ngaphandle kokuyibhala ngokwakho.
Andrei: I-Serverless ngokwayo ayibizi, kodwa kufanele ukhokhe kakhulu kwezinye izinsizakalo ze-Amazon - isibonelo, i-database. Abantu sebebamangalele ngoba bakhokhise amanani ahlanyayo esango le-API.
Ara: Uma sikhuluma ngemali, khona-ke udinga ukucabangela leli phuzu: kuzodingeka uguqule yonke indlela yokuthuthukisa enkampanini ye-180 degrees ukuze udlulisele yonke ikhodi ku-Serverless. Lokhu kuzothatha isikhathi esiningi nemali.

- Ingabe zikhona ezinye izindlela ezifanele zokukhokhela i-Serverless evela e-Amazon ne-Google?

Nikolai: Ku-Kubernetes, wethula uhlobo oluthile lomsebenzi, uyasebenza futhi uyafa - lokhu akuna-Serverless ngokombono wezokwakha. Uma ufuna ukudala i-logic yebhizinisi ethakazelisa ngempela ngemigqa kanye nemininingwane yolwazi, kuzomele ucabange kancane ngakho. Konke lokhu kungaxazululwa ngaphandle kokushiya i-Kubernetes. Ngeke ngizihluphe ngokukhipha ukuqaliswa okwengeziwe.

- Kubaluleke kangakanani ukuqapha okwenzekayo ku-Serverless?

Ara: Kuncike ekwakhiweni kwesistimu nezidingo zebhizinisi. Empeleni, umhlinzeki kufanele anikeze ngokubika okuzosiza ithimba le-devops liqonde izinkinga ezingaba khona.
Nikolai: I-Amazon ine-CloudWatch, lapho wonke amalogi asakazwa khona, kuhlanganise nalawo avela ku-Lambda. Hlanganisa ukudluliselwa kwelogi futhi usebenzise ithuluzi elihlukile ukuze ubuke, uxwayise, njalonjalo. Ungakwazi ukufaka ama-agent ezitsheni oziqalayo.

I-backend, ukufunda ngomshini nokungabi nasiphakeli - izinto ezithakazelisa kakhulu ezivela enkomfeni kaJulayi Habr

- Ake sikufingqe.

Andrei: Ukucabanga ngemisebenzi ye-Lambda kuyasiza. Uma udala insizakalo ngokwakho - hhayi i-microservice, kodwa ebhala isicelo, ifinyelela ku-database futhi ithumele impendulo - umsebenzi we-Lambda uxazulula izinkinga eziningi: nge-multithreading, scalability, njalonjalo. Uma ingqondo yakho yakhiwe ngale ndlela, khona-ke esikhathini esizayo uzokwazi ukudlulisela lawa maLambda kuma-microservices noma usebenzise izinsizakalo zezinkampani zangaphandle njenge-Amazon. Ubuchwepheshe buwusizo, umbono uyathakazelisa. Ukuthi kuthethelelwa kangakanani ebhizinisini kusewumbuzo ovulekile.
U-Nikolay: I-Serverless isetshenziswa kangcono emisebenzini yokusebenza kunokubala umqondo othile webhizinisi. Ngihlale ngikucabanga njengokucubungula umcimbi. Uma unayo e-Amazon, uma uku-Kubernetes, yebo. Uma kungenjalo, kuzodingeka wenze umzamo omkhulu ukuze wenze i-Serverless isebenze ngokwakho. Kuyadingeka ukubheka icala elithile lebhizinisi. Isibonelo, omunye wemisebenzi yami manje uthi: lapho amafayela evela kudiski ngefomethi ethile, ngidinga ukuwalayisha ku-Kafka. Ngingasebenzisa i-WatchDog noma i-Lambda. Ngokombono onengqondo, zombili izinketho zifanelekile, kodwa mayelana nokuqaliswa, i-Serverless iyinkimbinkimbi, futhi ngikhetha indlela elula, ngaphandle kweLambda.
Ara: I-Serverless umqondo othakazelisayo, osebenzayo, futhi omuhle kakhulu ngokobuchwepheshe. Ngokushesha noma kamuva, ubuchwepheshe buzofika lapho noma yimuphi umsebenzi uzokwethulwa ngaphansi kwama-millisecond angu-100. Khona-ke, ngokomthetho, ngeke kube khona umbuzo wokuthi isikhathi sokulinda sibalulekile kumsebenzisi. Ngesikhathi esifanayo, ukusetshenziswa kwe-Serverless, njengoba ozakwabo sebeshilo kakade, kuncike ngokuphelele enkingeni yebhizinisi.

Sibonga abaxhasi bethu abasisize kakhulu:

I-backend, ukufunda ngomshini nokungabi nasiphakeli - izinto ezithakazelisa kakhulu ezivela enkomfeni kaJulayi Habr

Source: www.habr.com