Zopanda seva pazitsulo

Zopanda seva pazitsulo
Serverless sikutanthauza kusowa kwenikweni kwa ma seva. Izi si zakupha ziwiya kapena njira yodutsa. Iyi ndi njira yatsopano yopangira machitidwe mumtambo. M'nkhani ya lero tikhudza kamangidwe ka ntchito za Serverless, tiyeni tiwone ntchito yomwe opereka chithandizo cha Serverless ndi mapulojekiti otseguka amasewera. Pomaliza, tiyeni tikambirane nkhani ntchito Serverless.

Ndikufuna kulemba gawo la seva la pulogalamu (kapena malo ogulitsira pa intaneti). Izi zitha kukhala macheza, ntchito yosindikizira zinthu, kapena kusungitsa katundu. Mulimonsemo, padzakhala mutu wambiri: muyenera kukonzekera zomanga, kudziwa zomwe zimadalira ntchito, ndikuganizira za makina ogwiritsira ntchito. Kenako muyenera kusintha zigawo zing'onozing'ono zomwe sizingakhudze ntchito ya ena onse a monolith. Chabwino, tisaiwale za kukula pansi pa katundu.

Nanga bwanji ngati titenga zotengera za ephemeral, momwe zodalira zomwe zimafunikira zidakhazikitsidwa kale, ndipo zotengerazo zimasiyanitsidwa ndi wina ndi mnzake komanso kuchokera kwa wolandila OS? Tigawa monolith kukhala ma microservices, omwe amatha kusinthidwa ndikusinthidwa mosatengera ena. Poyika kachidindo mu chidebe choterocho, ndikhoza kuyendetsa pazitsulo zilizonse. Kale bwino.

Bwanji ngati simukufuna kukonza zotengera? Sindikufuna kuganiza zokulitsa pulogalamuyi. Sindikufuna kulipira zotengera zopanda ntchito pomwe katundu wantchitoyo ndi wochepa. Ndikufuna kulemba kodi. Yang'anani pamalingaliro abizinesi ndikubweretsa malonda pamsika pa liwiro la kuwala.

Malingaliro oterowo adanditsogolera ku kompyuta yopanda seva. Serverless mu nkhani iyi amatanthauza osati kusowa kwa ma seva, koma kusowa kwa mutu wowongolera zomangamanga.

Lingaliro ndilakuti malingaliro ogwiritsira ntchito amagawidwa kukhala ntchito zodziyimira pawokha. Ali ndi dongosolo la zochitika. Ntchito iliyonse imapanga "microtask" imodzi. Zomwe zimafunikira kuchokera kwa wopanga ndikutsitsa ntchitozo mu kontrakitala yoperekedwa ndi wopereka mtambo ndikugwirizanitsa ndi magwero a zochitika. Khodiyo idzaperekedwa pakufunika mu chidebe chokonzekera chokha, ndipo ndidzangolipira nthawi yophedwayo.

Tiyeni tiwone momwe ntchito yopangira mapulogalamu idzawonekere tsopano.

Kuchokera kumbali ya wopanga

M'mbuyomu tidayamba kukambirana za ntchito yogulitsira pa intaneti. M'njira yachikhalidwe, lingaliro lalikulu la dongosololi limachitidwa ndi ntchito ya monolithic. Ndipo seva yokhala ndi pulogalamuyi imagwira ntchito nthawi zonse, ngakhale palibe katundu.

Kuti tisunthire ku seva yopanda seva, timaphwanya pulogalamuyo kukhala ma microtasks. Timalemba ntchito zathu za aliyense wa iwo. Ntchitozi ndizodziyimira pawokha ndipo sizisunga zidziwitso za boma (zopanda malire). Akhozanso kulembedwa m’zinenero zosiyanasiyana. Ngati mmodzi wa iwo "agwa", ntchito yonseyi siidzatha. Zomangamanga zamapulogalamu ziziwoneka motere:

Zopanda seva pazitsulo
Kugawanika kukhala ntchito mu Serverless kuli kofanana ndi kugwira ntchito ndi ma microservices. Koma microservice imatha kugwira ntchito zingapo, ndipo ntchito iyenera kuchita imodzi. Tiyerekeze kuti ntchitoyo ndikusonkhanitsa ziwerengero ndikuwonetsa pazomwe wogwiritsa ntchito akufuna. Mu njira ya microservice, ntchito imachitidwa ndi ntchito imodzi yokhala ndi mfundo ziwiri zolowera: kulemba ndi kuwerenga. Mu makompyuta opanda seva, izi zidzakhala ntchito ziwiri zosiyana zomwe sizikugwirizana. Wopanga mapulogalamu amasunga zida zamakompyuta ngati, mwachitsanzo, ziwerengero zimasinthidwa pafupipafupi kuposa momwe zimatsitsidwa.

Ntchito zopanda seva ziyenera kuchitidwa mu nthawi yochepa (nthawi yopuma), yomwe imatsimikiziridwa ndi wothandizira. Mwachitsanzo, kwa AWS nthawi yothera ndi mphindi 15. Izi zikutanthauza kuti ntchito zomwe zakhala nthawi yayitali ziyenera kusinthidwa kuti zigwirizane ndi zofunikira - izi ndizomwe zimasiyanitsa Serverless ndi matekinoloje ena otchuka masiku ano (zotengera ndi Platform ngati Service).

Timagawa chochitika ku ntchito iliyonse. Chochitika ndi choyambitsa kuchitapo kanthu:

Chochitika
Ntchito yomwe ntchitoyi imagwira

Chithunzi chamalonda chakwezedwa kunkhokwe.
Tsitsani chithunzicho ndikuchiyika ku chikwatu

Adilesi ya sitolo yeniyeni yasinthidwa mu database
Kwezani malo atsopano pamapu

Wogula amalipira katunduyo
Yambani kukonza malipiro

Zochitika zitha kukhala zopempha za HTTP, kutsitsa deta, mizere ya mauthenga, ndi zina zotero. Zomwe zimachitika ndikusintha kapena kupezeka kwa data. Kuphatikiza apo, ntchito zitha kuyambitsidwa ndi chowerengera.

Zomangamanga zidakonzedwa, ndipo ntchitoyo idatsala pang'ono kukhala yopanda seva. Kenako timapita kwa wopereka chithandizo.

Kuchokera kumbali ya wothandizira

Kawirikawiri, makompyuta opanda seva amaperekedwa ndi opereka chithandizo chamtambo. Amatchedwa mosiyana: Ntchito za Azure, AWS Lambda, Google Cloud Functions, IBM Cloud Functions.

Tidzagwiritsa ntchito ntchitoyi kudzera pa console ya wothandizira kapena akaunti yanu. Khodi yogwira ntchito imatha kutsitsidwa mwanjira imodzi mwa izi:

  • lembani kachidindo m'makonzedwe opangidwa kudzera pa web console,
  • tsitsani archive ndi code,
  • gwiritsani ntchito nkhokwe zapagulu kapena zachinsinsi za git.

Apa tikukhazikitsa zochitika zomwe zimatcha ntchitoyi. Zochita zitha kukhala zosiyana kwa opereka osiyanasiyana.

Zopanda seva pazitsulo

Woperekayo adapanga ndikudzipangira makina a Function as a Service (FaaS) pazomangamanga zake:

  1. Khodi yogwira ntchito imatha kusungidwa kumbali ya wothandizira.
  2. Chochitika chikachitika, zotengera zomwe zili ndi malo okonzekera zimayikidwa pa seva. Ntchito iliyonse ili ndi chidebe chake chokha.
  3. Kuchokera kusungirako, ntchitoyi imatumizidwa ku chidebe, kuwerengedwa, ndikubwezeretsa zotsatira.
  4. Chiwerengero cha zochitika zofanana chikukula - kuchuluka kwa zotengera zikukula. Dongosolo lokha limakula. Ngati ogwiritsa ntchito sapeza ntchitoyi, idzakhala yosagwira.
  5. Woperekayo amakhazikitsa nthawi yopanda pake ya zotengera - ngati panthawiyi ntchito sizikuwoneka mumtsuko, zimawonongeka.

Mwanjira iyi timachotsa Serverless m'bokosi. Tidzalipira ntchitoyo pogwiritsira ntchito chitsanzo cha kulipira-monga-mukupita komanso ntchito zomwe zimagwiritsidwa ntchito, komanso panthawi yomwe zidagwiritsidwa ntchito.

Kuti adziwitse opanga ntchitoyo, opereka amapereka mpaka miyezi 12 yoyezetsa kwaulere, koma achepetse nthawi yonse yowerengera, kuchuluka kwa zopempha pamwezi, ndalama kapena kugwiritsa ntchito mphamvu.

Ubwino waukulu wogwira ntchito ndi wothandizira ndikutha kusadandaula za zomangamanga (maseva, makina enieni, zotengera). Kwa mbali yake, woperekayo amatha kugwiritsa ntchito FaaS onse pogwiritsa ntchito zomwe zikuchitika komanso kugwiritsa ntchito zida zotseguka. Tiye tikambiranenso za iwo.

Kuchokera kumbali yotseguka

Gulu lotseguka lakhala likugwira ntchito pazida za Serverless kwazaka zingapo zapitazi. Osewera akuluakulu amsika amathandizanso pakupanga nsanja zopanda seva:

  • Google imapatsa opanga chida chake chotsegulira - Wosintha. IBM, RedHat, Pivotal ndi SAP adachita nawo chitukuko;
  • IBM ntchito pa nsanja Serverless OpenWhisk, yomwe idakhala projekiti ya Apache Foundation;
  • Microsoft adatsegula pang'ono nambala yapulatifomu Ntchito za Azure.

Kupititsa patsogolo kukuchitikanso motsatira njira zopanda seva. Kubeless ΠΈ Kupereka adayikidwa mkati mwamagulu okonzekera a Kubernetes, OpenFaaS amagwira ntchito ndi Kubernetes ndi Docker Swarm. Chimangocho chimagwira ntchito ngati wolamulira - atapempha, amakonzekera malo othamanga mkati mwa tsango, ndiyeno amayambitsa ntchito kumeneko.

Ma Frameworks amasiya mwayi wokonza chida kuti chigwirizane ndi zosowa zanu. Chifukwa chake, mu Kubeless, wopanga mapulogalamu amatha kukonza nthawi yogwira ntchito (mtengo wokhazikika ndi masekondi 180). Fission, poyesa kuthetsa vuto loyambira kuzizira, ikuwonetsa kuti zotengera zina ziziyenda nthawi zonse (ngakhale kuti izi zikuphatikiza ndalama zochepetsera nthawi). Ndipo OpenFaaS imapereka zida zoyambira pazokonda ndi mtundu uliwonse: HTTP, Kafka, Redis, MQTT, Cron, AWS SQS, NATs ndi ena.

Malangizo oyambira angapezeke m'malemba ovomerezeka a frameworks. Kugwira nawo ntchito kumafuna kukhala ndi luso lochulukirapo kuposa pogwira ntchito ndi wothandizira - uku ndikutha kuyambitsa gulu la Kubernetes kudzera pa CLI. Koposa zonse, phatikizani zida zina zotsegula (mwachitsanzo, woyang'anira mzere wa Kafka).

Mosasamala kanthu momwe timagwirira ntchito ndi Serverless - kudzera mwa wothandizira kapena kugwiritsa ntchito gwero lotseguka, tidzalandira ubwino ndi kuipa kwa njira ya Serverless.

Kuchokera kumbali ya ubwino ndi zovuta

Serverless imapanga malingaliro a chidebe ndi njira ya microservice, momwe magulu amatha kugwira ntchito muzinenero zambiri popanda kumangirizidwa ku nsanja imodzi. Kumanga dongosolo kumakhala kosavuta ndipo zolakwika ndizosavuta kukonza. Zomangamanga za Microservice zimakupatsani mwayi wowonjezera magwiridwe antchito kudongosolo mwachangu kwambiri kuposa momwe mungagwiritsire ntchito monolithic.

Serverless imachepetsa nthawi yachitukuko kwambiri, kulola wopanga kuti azingoyang'ana pamalingaliro abizinesi a pulogalamuyo ndi kukopera. Chotsatira chake, nthawi yogulitsira chitukuko imachepetsedwa.

Monga bonasi, timangowonjezera katundu, ndipo timalipira zokhazokha zomwe zimagwiritsidwa ntchito komanso panthawi yomwe zimagwiritsidwa ntchito.

Monga ukadaulo uliwonse, Serverless ili ndi zovuta zake.

Mwachitsanzo, kuipa kotereku kumatha kukhala nthawi yozizira (nthawi zambiri mpaka sekondi imodzi ya zilankhulo monga JavaScript, Python, Go, Java, Ruby).

Kumbali imodzi, zenizeni, nthawi yoyambira yozizira imadalira mitundu yambiri: chinenero chomwe ntchitoyo imalembedwa, chiwerengero cha malaibulale, kuchuluka kwa code, kulankhulana ndi zowonjezera zowonjezera (ma database omwewo kapena ma seva ovomerezeka). Popeza wopanga amawongolera izi, amatha kuchepetsa nthawi yoyambira. Koma kumbali ina, wopanga mapulogalamu sangathe kulamulira nthawi yoyambira chidebe - zonse zimadalira wothandizira.

Chiyambi chozizira chimatha kukhala chiyambi chofunda pamene ntchito ikugwiritsanso ntchito chidebe chomwe chinayambitsidwa ndi chochitika cham'mbuyo. Izi zitha kuchitika muzochitika zitatu:

  • ngati makasitomala amagwiritsa ntchito nthawi zambiri ndipo chiwerengero cha mafoni kuntchito chikuwonjezeka;
  • ngati wothandizira, nsanja kapena chimango amakulolani kusunga zotengera zina zikuyenda nthawi zonse;
  • ngati wopanga akugwira ntchito pa timer (nenani mphindi 3 zilizonse).

Kwa ntchito zambiri, kuyamba kozizira sikuli vuto. Apa muyenera kumanga pa mtundu ndi ntchito za utumiki. Kuchedwa kuyambika kwa sekondi sikofunikira nthawi zonse pantchito yabizinesi, koma kumatha kukhala kofunikira pazachipatala. Pankhaniyi, njira yopanda seva mwina sikhalanso yoyenera.

Choyipa chotsatira cha Serverless ndi moyo waufupi wa ntchito (nthawi yomwe ntchitoyi iyenera kuchitidwa).

Koma, ngati mukuyenera kugwira ntchito ndi nthawi yayitali, mutha kugwiritsa ntchito zomangamanga zosakanizidwa - kuphatikiza Serverless ndiukadaulo wina.

Sikuti machitidwe onse azitha kugwira ntchito pogwiritsa ntchito Serverless scheme.

Mapulogalamu ena adzasungabe deta ndi kutchula pamene akugwiritsidwa ntchito. Zomangamanga zina zidzakhalabe monolithic ndipo zina zidzakhala za nthawi yayitali. Komabe (monga matekinoloje amtambo ndiyeno zotengera), Serverless ndiukadaulo wokhala ndi tsogolo labwino.

Mwanjira iyi, ndikufuna kupita patsogolo pa nkhani yogwiritsa ntchito njira ya Serverless.

Kuchokera kumbali yofunsira

Kwa 2018, kuchuluka kwa kugwiritsidwa ntchito kwa Serverless inakula kamodzi ndi theka. Pakati pamakampani omwe adagwiritsa ntchito kale ukadaulo muutumiki wawo ndi zimphona zamsika monga Twitter, PayPal, Netflix, T-Mobile, Coca-Cola. Panthawi imodzimodziyo, muyenera kumvetsetsa kuti Serverless si njira yothetsera mavuto, koma chida chothetsera mavuto osiyanasiyana:

  • Chepetsani kutha kwa zinthu. Palibe chifukwa chosungira nthawi zonse makina ogwiritsira ntchito omwe ali ndi mafoni ochepa.
  • Chitani data pa ntchentche. Sakanizani zithunzi, dulani maziko, sinthani ma encoding amakanema, gwiritsani ntchito masensa a IoT, chitani masamu.
  • "Lumikizani" mautumiki ena palimodzi. Git posungira ndi mapulogalamu amkati, macheza bot mu Slack ndi Jira ndi kalendala.
  • Sanjani katunduyo. Tiyeni tione bwinobwino apa.

Tiyerekeze kuti pali msonkhano womwe umakopa anthu 50. Pansi pake pali makina enieni okhala ndi zida zofooka. Nthawi ndi nthawi, katundu pa utumiki amakula kwambiri. Ndiye zida zofooka sizingathe kupirira.

Mutha kuphatikizira owerengera pamakina omwe angagawire katunduyo, tinene, pamakina atatu. Pakadali pano, sitingathe kulosera molondola za katunduyo, chifukwa chake timasunga kuchuluka kwazinthu zomwe zikuyenda "mosungika." Ndipo timalipira mopitilira muyeso.

Zikatero, titha kukhathamiritsa dongosololi kudzera mu njira yosakanizidwa: timasiya makina amodzi kumbuyo kwa chojambulira ndikuyika ulalo wa Serverless Endpoint ndi ntchito. Ngati katunduyo adutsa malire, wowerengerayo amayambitsa zochitika zomwe zimatenga gawo limodzi lazopempha.

Zopanda seva pazitsulo
Chifukwa chake, Serverless ingagwiritsidwe ntchito komwe kuli kofunikira kukonza zopempha zambiri osati nthawi zambiri, koma mozama. Pankhaniyi, kuyendetsa ntchito zingapo kwa mphindi 15 ndikopindulitsa kuposa kusunga makina kapena seva nthawi zonse.

Ndi zabwino zonse za computing yopanda seva, musanagwiritse ntchito, muyenera kuyesa kaye malingaliro ogwiritsira ntchito ndikumvetsetsa mavuto omwe Serverless angathane nawo pankhani inayake.

Serverless ndi Selectel

Ku Selectel tili kale ntchito yosavuta ndi Kubernetes kudzera pagulu lathu lowongolera. Tsopano tikumanga nsanja yathu ya FaaS. Tikufuna opanga mapulogalamu kuti athe kuthana ndi mavuto awo pogwiritsa ntchito Serverless pogwiritsa ntchito mawonekedwe osavuta, osinthika.

Ngati muli ndi malingaliro pazomwe nsanja yabwino ya FaaS iyenera kukhalira komanso momwe mukufuna kugwiritsa ntchito Serverless mumapulojekiti anu, gawani nawo ndemanga. Tidzaganizira zofuna zanu popanga nsanja.
 
Zida zomwe zimagwiritsidwa ntchito m'nkhaniyi:

Source: www.habr.com

Kuwonjezera ndemanga