Ayinaseva kwiiracks

Ayinaseva kwiiracks
Iseva ayithethi malunga nokungabikho ngokwasemzimbeni kweeseva. Lo ayingombulali wesikhongozeli okanye umkhwa odlulayo. Le yindlela entsha yokwakha iinkqubo efini. Kwinqaku lanamhlanje siza kuchukumisa i-architecture ye-Serverless applications, makhe sibone ukuba yiyiphi indima edlalwa ngumnikezeli wenkonzo ye-Serverless kunye neeprojekthi ezivulekileyo. Okokugqibela, makhe sithethe ngemiba yokusebenzisa i-Serverless.

Ndifuna ukubhala inxalenye yeseva yesicelo (okanye ivenkile ye-intanethi). Oku kunokuba yingxoxo, inkonzo yokupapasha umxholo, okanye isilinganisi somthwalo. Kwimeko nayiphi na into, kuya kuba neentloko ezininzi: kuya kufuneka ulungiselele isiseko, unqume ukuxhomekeka kwesicelo, kwaye ucinge malunga nenkqubo yokusebenza yokusingatha. Emva koko kuya kufuneka uhlaziye amacandelo amancinci angachaphazeli ukusebenza kwayo yonke enye i-monolith. Ewe, masingalibali malunga nokulinganisa phantsi komthwalo.

Kuthekani ukuba sithatha izitya ze-ephemeral, apho ukuxhomekeka okufunekayo sele kufakwe ngaphambili, kwaye izitya ngokwazo zihlukanisiwe kunye kunye ne-OS ye-host host? Siza kwahlula i-monolith ibe yi-microservices, nganye apho inokuhlaziywa kwaye ilinganiswe ngokuzimeleyo kwezinye. Ngokubeka ikhowudi kwisitya esinjalo, ndingayiqhuba nakweyiphi na isiseko. Sele ngcono.

Kuthekani ukuba awufuni kumisela imigqomo? Andifuni kucinga malunga nokulinganisa isicelo. Andifuni ukuhlawulela izikhongozeli ezisebenzayo xa umthwalo kwinkonzo umncinci. Ndifuna ukubhala ikhowudi. Gxininisa kwingqiqo yezoshishino kwaye uzise iimveliso kwintengiso ngesantya sokukhanya.

Ezo ngcinga zandikhokelela kwi-serverless computing. Serverless kule meko kuthetha hayi ukungabikho ngokwasemzimbeni kweeseva, kodwa ukungabikho kweentloko zolawulo lweziseko ezingundoqo.

Uluvo kukuba ingqiqo yesicelo yahlulahlulwe yaba yimisebenzi ezimeleyo. Banesakhiwo sesiganeko. Umsebenzi ngamnye wenza "microtask" enye. Konke okufunekayo kumphuhlisi kukulayisha imisebenzi kwikhonsoli ebonelelwe ngumboneleli welifu kwaye uyinxibelelanise nemithombo yomsitho. Ikhowudi iya kuphunyezwa ngokufunwa kwisitya esilungiselelwe ngokuzenzekelayo, kwaye ndiya kuhlawula kuphela ixesha lokubulawa.

Makhe sibone ukuba inkqubo yophuhliso lwesicelo iya kujongeka njani ngoku.

Ukusuka kwicala lomphuhlisi

Ngaphambili siqale ukuthetha ngesicelo sevenkile ye-intanethi. Kwindlela yendabuko, ingqiqo ephambili yenkqubo yenziwa ngesicelo se-monolithic. Kwaye iseva enesicelo ihlala isebenza, nokuba akukho mthwalo.

Ukufudukela kwi-serverless, siqhekeza isicelo kwii-microtasks. Sibhala umsebenzi wethu ngamnye kubo. Imisebenzi izimele enye kwenye kwaye ayigcini ulwazi lukarhulumente (olungenammiselo). Zisenokude zibhalwe ngeelwimi ezahlukeneyo. Ukuba omnye wabo "uyawa", isicelo sonke asiyi kuyeka. Uyilo lwesicelo luya kujongeka ngolu hlobo:

Ayinaseva kwiiracks
Ulwahlulo lube yimisebenzi kwi-Serverless ifana nokusebenza ngee-microservices. Kodwa i-microservice inokwenza imisebenzi emininzi, kwaye umsebenzi kufuneka wenze omnye ngokufanelekileyo. Makhe sicinge ukuba umsebenzi kukuqokelela izibalo kwaye ubonise kwisicelo somsebenzisi. Kwindlela ye-microservice, umsebenzi wenziwa yinkonzo enye eneendawo ezimbini zokungena: ukubhala nokufunda. Kwicomputing engenamncedisi, le iya kuba yimisebenzi emibini eyahlukeneyo enganxulumananga omnye nomnye. Umphuhlisi ugcina izixhobo zekhompyutha ukuba, umzekelo, izibalo zihlaziywa rhoqo kunokuba zikhutshelwe.

Imisebenzi engasebenziyo kufuneka yenziwe ngexesha elifutshane (ixesha lokuvala), elimiselwa ngumniki-nkonzo. Umzekelo, kwi-AWS ixesha lokuphuma yimizuzu eli-15. Oku kuthetha ukuba imisebenzi ehlala ixesha elide iya kufuneka itshintshwe ukuze ihambelane neemfuno - oku kukwahlula i-Serverless kwezinye iitekhnoloji ezidumileyo namhlanje (izikhongozeli kunye nePlatifomu njengeNkonzo).

Sabela isiganeko kumsebenzi ngamnye. Isiganeko sisivusi sesenzo:

Umnyhadala
Intshukumo eyenziwa ngulo msebenzi

Umfanekiso wemveliso ulayishiwe kwindawo yokugcina.
Cinezela umfanekiso kwaye ulayishe kulawulo

Idilesi yendawo yokugcina ihlaziyiwe kuvimba weenkcukacha
Layisha indawo entsha kwiimephu

Umxhasi uhlawulela iimpahla
Qalisa ukusetyenzwa kwentlawulo

Iziganeko zingaba izicelo ze-HTTP, idatha yokusakaza, imigca yemiyalezo, njalo njalo. Imithombo yesiganeko lutshintsho okanye izehlo zedatha. Ukongeza, imisebenzi inokuvuswa sisibali-xesha.

Uyilo lwenziwe, kwaye isicelo saphantse saphelelwa ngumncedisi. Okulandelayo siya kumboneleli wenkonzo.

Ukusuka kwicala lomboneleli

Ngokuqhelekileyo, i-serverless computing inikezelwa ngababoneleli benkonzo yefu. Zibizwa ngokwahlukileyo: Imisebenzi ye-Azure, i-AWS Lambda, i-Google Cloud Functions, i-IBM Cloud Functions.

Siza kusebenzisa inkonzo nge-console yomboneleli okanye iakhawunti yomntu. Ikhowudi yokusebenza inokukhutshelwa ngenye yezi ndlela zilandelayo:

  • bhala ikhowudi kubahleli abakhelwe ngaphakathi usebenzisa ikhonsoli yewebhu,
  • Khuphela indawo yokugcina ngekhowudi,
  • sebenza ngoovimba boluntu okanye babucala be-git.

Apha simisela iziganeko ezibiza umsebenzi. Iiseti zeziganeko zinokwahluka kubaboneleli abohlukeneyo.

Ayinaseva kwiiracks

Umboneleli wakha kwaye wazenzela inkqubo yoMsebenzi njengeNkonzo (FaaS) kwiziseko zayo:

  1. Ikhowudi yomsebenzi iphelela kwindawo yokugcina kwicala lomnikezeli.
  2. Xa isiganeko sisenzeka, izikhongozeli ezinemeko-bume elungisiweyo zisasazwa ngokuzenzekelayo kumncedisi. Umsebenzi ngamnye unesikhongozeli saso esisodwa.
  3. Ukusuka kwindawo yokugcina, umsebenzi uthunyelwa kwisitya, ubalwa, kwaye ubuyisela umphumo.
  4. Inani leziganeko ezihambelanayo zikhula - inani leebhokisi likhula. Inkqubo ngokuzenzekelayo izikali. Ukuba abasebenzisi abafikeleli kumsebenzi, uya kungasebenzi.
  5. Umboneleli ubeka ixesha elingasebenziyo kwizikhongozeli - ukuba ngeli xesha imisebenzi ayibonakali kwisikhongozeli, iyatshatyalaliswa.

Ngale ndlela sifumana i-Serverless ngaphandle kwebhokisi. Siza kuhlawula inkonzo ngokusebenzisa imodeli yokuhlawula-njengoko-uhamba kwaye kuphela loo misebenzi isetyenzisiweyo, kwaye kuphela ixesha xa lisetyenziswe.

Ukwazisa abaphuhlisi kwinkonzo, ababoneleli banikezela ukuya kwiinyanga ezili-12 zovavanyo lwamahhala, kodwa banciphise ixesha elipheleleyo lokubala, inani lezicelo ngenyanga, iimali okanye ukusetyenziswa kwamandla.

Inzuzo ephambili yokusebenza kunye nomboneleli kukukwazi ukungazikhathazi ngeziseko zophuhliso (amaseva, oomatshini benyani, izitya). Ngenxalenye yalo, umboneleli unokuphumeza i-FaaS zombini usebenzisa uphuhliso lwayo kunye nokusebenzisa izixhobo ezivulekileyo. Makhe sithethe ngazo ngokubhekele phaya.

Ukusuka kwicala lomthombo ovulekileyo

Uluntu olunomthombo ovulekileyo lusebenza ngokusebenzayo kwiiSeva zezixhobo kule minyaka imbalwa idlulileyo. Abona badlali bezentengiso bakhulu banegalelo kuphuhliso lwamaqonga angasebenziyo:

  • Uphando inika abaphuhlisi isixhobo sayo somthombo ovulekileyo - Intsingiselo. I-IBM, i-RedHat, i-Pivotal kunye ne-SAP ithathe inxaxheba ekuphuhlisweni kwayo;
  • IBM wasebenza kwiqonga Serverless VulaWhisk, eyathi ke yaba yiprojekthi yeApache Foundation;
  • Microsoft ngokuyinxenye uvule ikhowudi yeqonga Imisebenzi yeAzure.

Uphuhliso lukwaqhuba kwicala le-serverless frameworks. Kubeless и Isigqibo ibekwe ngaphakathi kwamaqela eKubernetes alungiselelwe ngaphambili, OpenFaaS isebenza kunye neKubernetes kunye neDocker Swarm. Isakhelo sisebenza njengohlobo lomlawuli - xa uceliwe, ulungiselela indawo yokusebenza ngaphakathi kweqela, emva koko uqalise umsebenzi apho.

Iiframeworks zishiya indawo yokuqwalasela isixhobo ukuze sihambelane neemfuno zakho. Ngoko ke, kwi-Kubeless, umphuhlisi angaqwalasela ixesha lokwenziwa komsebenzi (ixabiso elingagqibekanga yimizuzwana eyi-180). I-Fission, kwiinzame zokusombulula ingxaki yokuqalisa okubandayo, icebisa ukuba kugcinwe ezinye izikhongozeli zisebenza ngalo lonke ixesha (nangona oku kubandakanya iindleko zexesha lokuphumla). Kwaye i-OpenFaaS inikezela ngesethi yezinto ezibangela yonke into kunye nombala: HTTP, Kafka, Redis, MQTT, Cron, AWS SQS, NATs kunye nabanye.

Imiyalelo yokuqalisa inokufumaneka kuxwebhu olusemthethweni lwezikhokelo. Ukusebenza nabo kufuna ukuba nezakhono ezingaphezulu kancinci kunaxa usebenza nomnikezeli - oku kubuncinci ukukwazi ukusungula i-Kubernetes cluster nge-CLI. Okona kuninzi, bandakanya ezinye izixhobo ezivulelekileyo (umzekelo, umphathi womgca weKafka).

Kungakhathaliseki ukuba sisebenza njani kunye ne-Serverless-ngomnikezeli okanye usebenzisa umthombo ovulekileyo, siya kufumana inani leenzuzo kunye nokungalunganga kwendlela ye-Serverless.

Ukusuka kwimbono yeenzuzo kunye nokungalungi

I-Serverless iphuhlisa imibono yesiseko sekhonteyina kunye nendlela ye-microservice, apho amaqela anokusebenza ngendlela yeelwimi ezininzi ngaphandle kokubotshelelwa kwiqonga elinye. Ukwakha inkqubo kwenziwa lula kwaye iimpazamo kulula ukuzilungisa. I-Microservice architecture ikuvumela ukuba ungeze umsebenzi omtsha kwinkqubo ngokukhawuleza kunokuba kwimeko yesicelo se-monolithic.

I-server inciphisa ixesha lophuhliso ngakumbi, ukuvumela umphuhlisi ukuba agxile kuphela kwingqiqo yeshishini lesicelo kunye nekhowudi. Ngenxa yoko, ixesha lokuthengisa uphuhliso liyancitshiswa.

Njengebhonasi, sifumana ukukala okuzenzekelayo komthwalo, kwaye sihlawula kuphela izibonelelo ezisetyenzisiweyo kwaye kuphela ngexesha xa zisetyenziswa.

Njengayo nayiphi na itekhnoloji, i-Serverless inezingeloncedo.

Umzekelo, into engalunganga inokuba lixesha lokuqala elibandayo (kumndilili ukuya kuthi ga kwisekondi enye kwiilwimi ezinje ngeJavaScript, iPython, iGo, iJava, iRuby).

Ngakolunye uhlangothi, ngokwenene, ixesha lokuqala elibandayo lixhomekeke kwizinto ezininzi eziguquguqukayo: ulwimi apho umsebenzi ubhalwa khona, inani lamathala eencwadi, inani lekhowudi, unxibelelwano kunye nezibonelelo ezongezelelweyo (idatha efanayo okanye iiseva zokuqinisekisa). Ekubeni umphuhlisi elawula ezi ziguquguqukayo, unokunciphisa ixesha lokuqalisa. Kodwa ngakolunye uhlangothi, umphuhlisi akakwazi ukulawula ixesha lokuqalisa kwesitya - konke kuxhomekeke kumnikezeli.

Isiqalo esibandayo sinokujika sibe sisiqalo esifudumeleyo xa umsebenzi usebenzisa kwakhona isikhongozeli esasungulwa sisiganeko sangaphambili. Le meko iya kuvela kwiimeko ezintathu:

  • ukuba abathengi basebenzisa rhoqo inkonzo kunye nenani leefowuni ezifowunelwa kulo msebenzi landa;
  • ukuba umnikezeli, iqonga okanye isakhelo ikuvumela ukuba ugcine ezinye izitya zisebenza ngalo lonke ixesha;
  • ukuba umphuhlisi uqhuba imisebenzi kwisibali-xesha (yithi yonke imizuzu emi-3).

Kwizicelo ezininzi, ukuqala okubandayo akuyongxaki. Apha kufuneka wakhe phezu kohlobo kunye nemisebenzi yenkonzo. Ukulibaziseka kokuqala kwesibini akusoloko kubaluleke kakhulu kwisicelo seshishini, kodwa kunokubaluleka kwiinkonzo zonyango. Kule meko, indlela yokusebenzela engenamncedisi mhlawumbi ayisayi kufaneleka.

Ububi obulandelayo be-Serverless bubomi obufutshane bomsebenzi (ixesha lokuvala apho umsebenzi kufuneka wenziwe).

Kodwa, ukuba kufuneka usebenze ngemisebenzi ehlala ixesha elide, ungasebenzisa i-architecture ye-hybrid - udibanise i-Serverless kunye nenye iteknoloji.

Ayizizo zonke iinkqubo eziya kukwazi ukusebenza kusetyenziswa iServerless scheme.

Ezinye izicelo ziya kuhlala zigcina idatha kwaye zichaze ngexesha lokuphunyezwa. Ezinye izakhiwo ziya kuhlala zi-monolithic kwaye ezinye iimpawu ziya kuhlala ixesha elide. Nangona kunjalo (njengetekhnoloji yelifu kunye nezikhongozeli), i-Serverless yitekhnoloji enekamva elihle.

Kulo mgca, ndingathanda ukuqhubela phambili ngokufanelekileyo kumbandela wokusebenzisa indlela ye-Serverless.

Ukusuka kwicala lesicelo

Ngo-2018, ipesenti yokusetyenziswa kwe-Serverless lakhula ixesha elinesiqingatha. Phakathi kweenkampani esele ziphunyezwe iteknoloji kwiinkonzo zabo zifana nezikhulu zentengiso ezifana ne-Twitter, PayPal, Netflix, T-Mobile, Coca-Cola. Kwangaxeshanye, kufuneka uqonde ukuba i-Serverless ayiyona i-panacea, kodwa isixhobo sokusombulula uluhlu oluthile lweengxaki:

  • Nciphisa ixesha lokunciphisa izixhobo. Akukho mfuneko yokugcina rhoqo umatshini wenyani weenkonzo ezineefowuni ezimbalwa.
  • Inkqubo idatha kubhabho. Cinezela imifanekiso, usike imvelaphi, tshintsha ikhowudi yevidiyo, sebenza ngeenzwa ze-IoT, yenza imisebenzi yemathematika.
  • "Glue" ezinye iinkonzo kunye. Indawo yokugcina yeGit eneenkqubo zangaphakathi, ncokola i-bot kwi-Slack kunye neJira kunye nekhalenda.
  • Ukulinganisa umthwalo. Makhe sihlolisise apha.

Masithi kukho inkonzo etsala abantu abangama-50. Ngaphantsi kwayo kukho umatshini wenyani onezixhobo ezibuthathaka. Ukususela ngamaxesha, umthwalo kwinkonzo uyanda kakhulu. Emva koko i-hardware ebuthathaka ayikwazi ukujamelana nayo.

Ungabandakanya i-balancer kwinkqubo eya kusasaza umthwalo, yithi, ngaphezulu koomatshini abathathu benyani. Kweli nqanaba, asinakukwazi ukuqikelela ngokuchanekileyo umthwalo, ke sigcina isixa esithile semithombo sisebenza "esigcinweni." Kwaye sihlawula ngaphezulu kwexesha lokuphumla.

Kwimeko enjalo, sinokuphucula inkqubo ngokusebenzisa indlela ye-hybridi: sishiya umatshini omnye obonakalayo emva kokulinganisela komthwalo kwaye sibeke ikhonkco kwi-Serverless Endpoint kunye nemisebenzi. Ukuba umthwalo ungaphezulu komda, umlinganisi uqalisa iimeko zokusebenza ezithatha inxalenye yesicelo sokucubungula.

Ayinaseva kwiiracks
Ke, i-Serverless ingasetyenziswa apho iyimfuneko ukwenza inani elikhulu lezicelo hayi rhoqo, kodwa ngamandla. Kule meko, ukuqhuba imisebenzi emininzi yemizuzu eyi-15 kunenzuzo ngakumbi kunokugcina umatshini okanye iseva yonke ixesha.

Ngazo zonke iingenelo ze-serverless computing, phambi kokuphunyezwa, kufuneka uqale uvavanye ingqiqo yesicelo kwaye uqonde ukuba zeziphi iingxaki ze-Serverless ezinokusombulula kwimeko ethile.

I-serverless kunye ne-Selectel

KwaSelectel sele sikhona umsebenzi olula kunye Kubernetes ngephaneli yethu yolawulo. Ngoku sakha eyethu iqonga leFaaS. Sifuna abaphuhlisi bakwazi ukusombulula iingxaki zabo besebenzisa i-Serverless ngokusebenzisa ujongano olufanelekileyo, oluguquguqukayo.

Ukuba unemibono malunga nokuba yeyiphi iqonga leFaaS elifanelekileyo ekufuneka libe yiyo kunye nendlela ofuna ukuyisebenzisa ngayo i-Serverless kwiiprojekthi zakho, yabelana ngazo kumagqabantshintshi. Siya kuthathela ingqalelo iminqweno yakho xa uphuhlisa iqonga.
 
Izinto ezisetyenziswa kwinqaku:

umthombo: www.habr.com

Yongeza izimvo