Aini olupin lori awọn agbeko

Aini olupin lori awọn agbeko
Aini olupin kii ṣe nipa isansa ti ara ti awọn olupin. Eyi kii ṣe apaniyan eiyan tabi aṣa ti nkọja. Eyi jẹ ọna tuntun si awọn eto ṣiṣe ni awọsanma. Ninu nkan oni a yoo fi ọwọ kan faaji ti awọn ohun elo Serverless, jẹ ki a wo kini ipa ti olupese iṣẹ olupin ati awọn iṣẹ orisun ṣiṣi ṣiṣẹ. Lakotan, jẹ ki a sọrọ nipa awọn ọran ti lilo Serverless.

Mo fẹ kọ apakan olupin ti ohun elo kan (tabi paapaa ile itaja ori ayelujara). Eyi le jẹ iwiregbe, iṣẹ titẹjade akoonu, tabi iwọntunwọnsi fifuye. Ni eyikeyi idiyele, ọpọlọpọ awọn efori yoo wa: iwọ yoo ni lati ṣeto awọn amayederun, pinnu awọn igbẹkẹle ohun elo, ati ronu nipa ẹrọ ṣiṣe agbalejo. Lẹhinna iwọ yoo nilo lati ṣe imudojuiwọn awọn paati kekere ti ko ni ipa iṣẹ ti iyokù monolith. O dara, jẹ ki a maṣe gbagbe nipa wiwọn labẹ fifuye.

Kini ti a ba mu awọn apoti ephemeral, ninu eyiti awọn igbẹkẹle ti o nilo ti wa tẹlẹ ti fi sori ẹrọ tẹlẹ, ati pe awọn apoti funrararẹ ti ya sọtọ si ara wọn ati lati ọdọ OS agbalejo? A yoo pin monolith si awọn iṣẹ microservices, ọkọọkan eyiti o le ṣe imudojuiwọn ati iwọn ni ominira ti awọn miiran. Nipa gbigbe koodu sinu iru eiyan kan, Mo le ṣiṣẹ lori eyikeyi amayederun. Tẹlẹ dara julọ.

Kini ti o ko ba fẹ tunto awọn apoti? Emi ko fẹ lati ronu nipa iwọn ohun elo naa. Emi ko fẹ lati sanwo fun awọn apoti ti nṣiṣẹ laišišẹ nigbati ẹru lori iṣẹ naa kere. Mo fẹ kọ koodu. Fojusi lori ọgbọn iṣowo ati mu awọn ọja wa si ọja ni iyara ti ina.

Iru ero mu mi lati serverless iširo. Serverless ninu apere yi tumo si kii ṣe isansa ti ara ti awọn olupin, ṣugbọn isansa ti awọn efori iṣakoso amayederun.

Ero naa ni pe ọgbọn ohun elo ti fọ si awọn iṣẹ ominira. Won ni ohun iṣẹlẹ be. Iṣẹ kọọkan n ṣe “microtask” kan. Gbogbo ohun ti o nilo lati ọdọ olupilẹṣẹ ni lati ṣajọpọ awọn iṣẹ sinu console ti a pese nipasẹ olupese awọsanma ati ṣe atunṣe wọn pẹlu awọn orisun iṣẹlẹ. Awọn koodu yoo wa ni executed lori eletan ni ohun laifọwọyi gbaradi eiyan, ati ki o Mo ti yoo nikan san fun awọn akoko ipaniyan.

Jẹ ki a wo kini ilana idagbasoke ohun elo yoo dabi bayi.

Lati awọn Olùgbéejáde ká ẹgbẹ

Ni iṣaaju a bẹrẹ sọrọ nipa ohun elo kan fun ile itaja ori ayelujara kan. Ni ọna ibile, imọran akọkọ ti eto naa jẹ ṣiṣe nipasẹ ohun elo monolithic kan. Ati olupin pẹlu ohun elo naa nṣiṣẹ nigbagbogbo, paapaa ti ko ba si fifuye.

Lati gbe lọ si olupin, a fọ ​​ohun elo naa sinu awọn microtasks. A kọ iṣẹ ti ara wa fun ọkọọkan wọn. Awọn iṣẹ naa jẹ ominira ti ara wọn ati pe ko tọju alaye ipinlẹ (laisi ipinlẹ). Wọ́n tiẹ̀ lè kọ ọ́ ní onírúurú èdè. Ti ọkan ninu wọn ba "ṣubu", gbogbo ohun elo kii yoo da duro. Itumọ ohun elo yoo dabi eyi:

Aini olupin lori awọn agbeko
Pipin si awọn iṣẹ ni Serverless jẹ iru si ṣiṣẹ pẹlu awọn microservices. Ṣugbọn microservice le ṣe awọn iṣẹ ṣiṣe pupọ, ati pe iṣẹ kan yẹ ki o ṣe ọkan ni pipe. Jẹ ki a fojuinu pe iṣẹ-ṣiṣe ni lati gba awọn iṣiro ati ṣafihan wọn ni ibeere olumulo. Ni ọna microservice, iṣẹ kan ṣe nipasẹ iṣẹ kan pẹlu awọn aaye titẹsi meji: kikọ ati kika. Ni iširo olupin, iwọnyi yoo jẹ awọn iṣẹ oriṣiriṣi meji ti ko ni ibatan si ara wọn. Olùgbéejáde n fipamọ awọn orisun iširo ti, fun apẹẹrẹ, awọn iṣiro ti ni imudojuiwọn diẹ sii nigbagbogbo ju ti wọn ṣe igbasilẹ lọ.

Awọn iṣẹ ti ko ni olupin gbọdọ wa ni ṣiṣe ni igba diẹ (akoko-akoko), eyiti o jẹ ipinnu nipasẹ olupese iṣẹ. Fun apẹẹrẹ, fun AWS akoko ipari jẹ iṣẹju 15. Eyi tumọ si pe awọn iṣẹ pipẹ yoo ni lati yipada lati baamu awọn ibeere - eyi ni ohun ti o ṣe iyatọ Serverless si awọn imọ-ẹrọ olokiki miiran loni (awọn apoti ati Platform bi Iṣẹ kan).

A fi iṣẹlẹ si iṣẹ kọọkan. Iṣẹlẹ jẹ okunfa fun iṣe:

Iṣẹlẹ
Iṣe ti iṣẹ naa ṣe

Aworan ọja kan ti gbejade si ibi ipamọ naa.
Tẹ aworan naa ki o gbejade si itọsọna kan

Adirẹsi itaja ti ara ti ni imudojuiwọn ni ibi ipamọ data
Fi aaye titun sinu awọn maapu

Onibara sanwo fun ọja naa
Bẹrẹ owo sisan

Awọn iṣẹlẹ le jẹ awọn ibeere HTTP, data ṣiṣanwọle, awọn isinyi ifiranṣẹ, ati bẹbẹ lọ. Awọn orisun iṣẹlẹ jẹ awọn iyipada tabi awọn iṣẹlẹ ti data. Ni afikun, awọn iṣẹ le jẹ okunfa nipasẹ aago kan.

Awọn faaji ti a sise jade, ati awọn ohun elo fere di serverless. Nigbamii ti a lọ si olupese iṣẹ.

Lati ẹgbẹ olupese

Ni deede, iširo alailowaya olupin funni nipasẹ awọn olupese iṣẹ awọsanma. Wọn pe wọn yatọ si: Awọn iṣẹ Azure, AWS Lambda, Awọn iṣẹ awọsanma Google, Awọn iṣẹ awọsanma IBM.

A yoo lo iṣẹ naa nipasẹ console olupese tabi akọọlẹ ti ara ẹni. Koodu iṣẹ le ṣe igbasilẹ ni ọkan ninu awọn ọna wọnyi:

  • kọ koodu ni awọn olootu ti a ṣe sinu nipasẹ console wẹẹbu,
  • ṣe igbasilẹ pamosi pẹlu koodu,
  • ṣiṣẹ pẹlu awọn ibi ipamọ git ti gbogbo eniyan tabi ikọkọ.

Nibi a ṣeto awọn iṣẹlẹ ti o pe iṣẹ naa. Awọn ṣeto ti awọn iṣẹlẹ le yato fun orisirisi awọn olupese.

Aini olupin lori awọn agbeko

Olupese naa kọ ati adaṣe adaṣe iṣẹ bi eto Iṣẹ kan (FaaS) lori awọn amayederun rẹ:

  1. Koodu iṣẹ dopin ni ibi ipamọ lori ẹgbẹ olupese.
  2. Nigbati iṣẹlẹ ba waye, awọn apoti pẹlu agbegbe ti a pese silẹ ni a gbejade laifọwọyi lori olupin naa. Apeere iṣẹ kọọkan ni apoti ti o ya sọtọ tirẹ.
  3. Lati ibi ipamọ, iṣẹ naa ni a firanṣẹ si apo eiyan, ṣe iṣiro, ati da abajade pada.
  4. Nọmba awọn iṣẹlẹ ti o jọra n dagba - nọmba awọn apoti ti n dagba. Awọn eto laifọwọyi irẹjẹ. Ti awọn olumulo ko ba wọle si iṣẹ naa, yoo jẹ aiṣiṣẹ.
  5. Olupese ṣeto akoko aisinisi fun awọn apoti - ti akoko yii awọn iṣẹ ko ba han ninu apo eiyan, o ti parun.

Ni ọna yii a gba Serverless kuro ninu apoti. A yoo sanwo fun iṣẹ naa nipa lilo awoṣe isanwo-bi-o-lọ ati fun awọn iṣẹ wọnyẹn ti a lo, ati fun akoko ti wọn lo nikan.

Lati ṣafihan awọn olupilẹṣẹ si iṣẹ naa, awọn olupese nfunni to awọn oṣu 12 ti idanwo ọfẹ, ṣugbọn di opin akoko iṣiro lapapọ, nọmba awọn ibeere fun oṣu kan, awọn owo tabi lilo agbara.

Anfani akọkọ ti ṣiṣẹ pẹlu olupese ni agbara lati ma ṣe aibalẹ nipa awọn amayederun (awọn olupin, awọn ẹrọ foju, awọn apoti). Fun apakan rẹ, olupese le ṣe imuse FaaS mejeeji ni lilo awọn idagbasoke tirẹ ati lilo awọn irinṣẹ orisun-ìmọ. Jẹ ki a sọrọ nipa wọn siwaju sii.

Lati awọn ìmọ orisun ẹgbẹ

Agbegbe orisun-ìmọ ti n ṣiṣẹ ni itara lori awọn irinṣẹ Alailẹgbẹ fun ọdun meji sẹhin. Awọn oṣere ọja ti o tobi julọ tun ṣe alabapin si idagbasoke ti awọn iru ẹrọ alailowaya:

  • Google nfun awọn olupilẹṣẹ ohun elo orisun-ìmọ rẹ - Ogbe. IBM, RedHat, Pivotal ati SAP ṣe alabapin ninu idagbasoke rẹ;
  • Emu sise lori a Serverless Syeed ṢiiWhisk, eyiti lẹhinna di iṣẹ akanṣe ti Apache Foundation;
  • Microsoft apakan ṣii koodu Syeed Awọn iṣẹ Azure.

Awọn idagbasoke tun wa ni itọsọna ti awọn ilana ti ko ni olupin. Kubeless и Ẹmi ran lọ sinu awọn iṣupọ Kubernetes ti a ti pese tẹlẹ, ṢiiFaaS ṣiṣẹ pẹlu Kubernetes mejeeji ati Docker Swarm. Ilana naa n ṣiṣẹ bi iru oludari - lori ibeere, o mura agbegbe asiko asiko kan ninu iṣupọ, lẹhinna ṣe ifilọlẹ iṣẹ kan nibẹ.

Awọn ilana fi aye silẹ fun atunto irinṣẹ lati ba awọn iwulo rẹ baamu. Nitorinaa, ni Kubeless, olupilẹṣẹ kan le tunto akoko ipaniyan iṣẹ naa (iye aiyipada jẹ awọn aaya 180). Fission, ni igbiyanju lati yanju iṣoro ibẹrẹ tutu, ni imọran fifi diẹ ninu awọn apoti ṣiṣẹ ni gbogbo igba (biotilejepe eyi ni awọn idiyele akoko igbaduro awọn orisun). Ati OpenFaaS nfunni ni ipilẹ awọn okunfa fun gbogbo itọwo ati awọ: HTTP, Kafka, Redis, MQTT, Cron, AWS SQS, NATs ati awọn omiiran.

Awọn ilana fun bibẹrẹ ni a le rii ninu iwe aṣẹ ti awọn ilana. Ṣiṣẹ pẹlu wọn nilo nini awọn ọgbọn diẹ sii ju nigbati o ba n ṣiṣẹ pẹlu olupese - eyi ni o kere ju agbara lati ṣe ifilọlẹ iṣupọ Kubernetes nipasẹ CLI. Ni pupọ julọ, pẹlu awọn irinṣẹ orisun ṣiṣi miiran (fun apẹẹrẹ, oluṣakoso isinyi Kafka).

Laibikita bawo ni a ṣe n ṣiṣẹ pẹlu Serverless - nipasẹ olupese tabi lilo orisun-ìmọ, a yoo gba nọmba awọn anfani ati awọn alailanfani ti ọna Serverless.

Lati oju-ọna ti awọn anfani ati awọn alailanfani

Serverless ndagba awọn ero ti a eiyan amayederun ati ki o kan microservice ona, ninu eyi ti egbe le ṣiṣẹ ni a multilingual mode lai a so si ọkan Syeed. Ṣiṣe eto jẹ irọrun ati awọn aṣiṣe rọrun lati ṣatunṣe. Faaji Microservice ngbanilaaye lati ṣafikun iṣẹ ṣiṣe tuntun si eto ni iyara pupọ ju ninu ọran ti ohun elo monolithic kan.

Aini olupin dinku akoko idagbasoke paapaa siwaju, gbigba olupilẹṣẹ laaye lati dojukọ daada lori ọgbọn iṣowo ohun elo ati ifaminsi. Bi abajade, akoko lati ta ọja fun awọn idagbasoke ti dinku.

Gẹgẹbi ajeseku, a gba wiwọn aifọwọyi fun fifuye, ati pe a sanwo nikan fun awọn ohun elo ti a lo ati nikan ni akoko ti wọn lo.

Bii eyikeyi imọ-ẹrọ, Serverless ni awọn alailanfani.

Fun apẹẹrẹ, iru aila-nfani le jẹ akoko ibẹrẹ tutu (ni aropin to iṣẹju-aaya 1 fun awọn ede bii JavaScript, Python, Go, Java, Ruby).

Ni apa kan, ni otitọ, akoko ibẹrẹ tutu da lori ọpọlọpọ awọn oniyipada: ede ti a ti kọ iṣẹ naa, nọmba awọn ile-ikawe, iye koodu, ibaraẹnisọrọ pẹlu awọn ohun elo afikun (awọn apoti isura data kanna tabi awọn olupin idaniloju). Niwọn igba ti olupilẹṣẹ n ṣakoso awọn oniyipada wọnyi, o le dinku akoko ibẹrẹ. Ṣugbọn ni apa keji, olupilẹṣẹ ko le ṣakoso akoko ibẹrẹ ti eiyan - gbogbo rẹ da lori olupese.

Ibẹrẹ tutu le yipada si ibẹrẹ ti o gbona nigbati iṣẹ kan tun lo eiyan ti a ṣe ifilọlẹ nipasẹ iṣẹlẹ iṣaaju. Ipo yii yoo waye ni awọn ọran mẹta:

  • ti awọn alabara nigbagbogbo lo iṣẹ naa ati nọmba awọn ipe si iṣẹ naa pọ si;
  • ti olupese, Syeed tabi ilana gba ọ laaye lati tọju diẹ ninu awọn apoti nṣiṣẹ ni gbogbo igba;
  • ti o ba ti awọn Olùgbéejáde nṣiṣẹ awọn iṣẹ lori aago (wi gbogbo 3 iṣẹju).

Fun ọpọlọpọ awọn ohun elo, ibẹrẹ tutu kii ṣe iṣoro. Nibi o nilo lati kọ lori iru ati awọn iṣẹ ṣiṣe ti iṣẹ naa. Idaduro ibẹrẹ ti iṣẹju-aaya kii ṣe pataki nigbagbogbo fun ohun elo iṣowo, ṣugbọn o le di pataki fun awọn iṣẹ iṣoogun. Ni ọran yii, ọna ti ko ni olupin yoo jasi ko dara mọ.

Aila-nfani atẹle ti Serverless jẹ igbesi aye kukuru ti iṣẹ kan (akoko akoko lakoko eyiti iṣẹ naa gbọdọ ṣiṣẹ).

Ṣugbọn, ti o ba ni lati ṣiṣẹ pẹlu awọn iṣẹ ṣiṣe pipẹ, o le lo faaji arabara - darapọ Serverless pẹlu imọ-ẹrọ miiran.

Kii ṣe gbogbo awọn ọna ṣiṣe yoo ni anfani lati ṣiṣẹ nipa lilo ero aibikita.

Diẹ ninu awọn ohun elo yoo tun tọju data ati ipo lakoko ipaniyan. Diẹ ninu awọn faaji yoo wa ni monolithic ati diẹ ninu awọn ẹya yoo wa ni igba pipẹ. Sibẹsibẹ (bii awọn imọ-ẹrọ awọsanma ati lẹhinna awọn apoti), Serverless jẹ imọ-ẹrọ pẹlu ọjọ iwaju nla kan.

Ni iṣọn yii, Emi yoo fẹ lati lọ laisiyonu si ọran ti lilo ọna Alailẹgbẹ.

Lati ẹgbẹ ohun elo

Fun ọdun 2018, ipin ogorun lilo Serverless dagba ọkan ati idaji igba. Lara awọn ile-iṣẹ ti o ti ṣe imuse imọ-ẹrọ ni awọn iṣẹ wọn ni iru awọn omiran ọja bi Twitter, PayPal, Netflix, T-Mobile, Coca-Cola. Ni akoko kanna, o nilo lati loye pe Serverless kii ṣe panacea, ṣugbọn ọpa kan fun ipinnu awọn iṣoro kan pato:

  • Din awọn oluşewadi downtime. Ko si iwulo lati tọju ẹrọ foju nigbagbogbo fun awọn iṣẹ ti o ni awọn ipe diẹ.
  • Ilana data lori awọn fly. Kọ awọn aworan, ge awọn ẹhin, yi koodu fidio pada, ṣiṣẹ pẹlu awọn sensọ IoT, ṣe awọn iṣẹ ṣiṣe mathematiki.
  • "Glue" awọn iṣẹ miiran papọ. Ibi ipamọ Git pẹlu awọn eto inu, bot iwiregbe ni Slack pẹlu Jira ati kalẹnda.
  • Dọgbadọgba fifuye. Jẹ ká ya a jo wo nibi.

Jẹ ki a sọ pe iṣẹ kan wa ti o ṣe ifamọra eniyan 50. Labẹ rẹ ẹrọ foju kan wa pẹlu ohun elo alailagbara. Lati igba de igba, fifuye lori iṣẹ naa pọ si ni pataki. Lẹhinna ohun elo alailagbara ko le koju.

O le pẹlu iwọntunwọnsi ninu eto ti yoo pin kaakiri, sọ, ju awọn ẹrọ foju mẹta lọ. Ni ipele yii, a ko le ṣe asọtẹlẹ fifuye ni deede, nitorinaa a tọju iye awọn orisun kan ti n ṣiṣẹ “ni ipamọ.” Ati awọn ti a overpay fun downtime.

Ni iru ipo bẹẹ, a le mu eto naa pọ si nipasẹ ọna arabara: a fi ẹrọ foju kan silẹ lẹhin iwọntunwọnsi fifuye ati fi ọna asopọ kan si aaye Ipari Serverless pẹlu awọn iṣẹ. Ti ẹru naa ba kọja iloro, iwọntunwọnsi ṣe ifilọlẹ awọn iṣẹlẹ iṣẹ ti o gba apakan ti sisẹ ibeere naa.

Aini olupin lori awọn agbeko
Nitorinaa, Serverless le ṣee lo nibiti o jẹ dandan lati ṣe ilana nọmba nla ti awọn ibeere kii ṣe nigbagbogbo, ṣugbọn lekoko. Ni idi eyi, ṣiṣe awọn iṣẹ pupọ fun awọn iṣẹju 15 jẹ ere diẹ sii ju mimu ẹrọ foju tabi olupin ni gbogbo igba.

Pẹlu gbogbo awọn anfani ti iširo alailowaya olupin, ṣaaju imuse, o yẹ ki o kọkọ ṣe iṣiro oye ohun elo ati loye kini awọn iṣoro Serverless le yanju ni ọran kan pato.

Aini olupin ati Selectel

Ni Selectel a ti wa tẹlẹ iṣẹ ti o rọrun pẹlu Kubernetes nipasẹ wa Iṣakoso nronu. Bayi a n ṣe ipilẹ FaaS tiwa. A fẹ awọn olupilẹṣẹ lati ni anfani lati yanju awọn iṣoro wọn nipa lilo Serverless nipasẹ irọrun, wiwo irọrun.

Ti o ba ni awọn imọran lori kini pẹpẹ FaaS bojumu yẹ ki o jẹ ati bii o ṣe fẹ lo Serverless ninu awọn iṣẹ akanṣe rẹ, pin wọn ninu awọn asọye. A yoo ṣe akiyesi awọn ifẹ rẹ nigbati o ba dagbasoke pẹpẹ naa.
 
Awọn ohun elo ti a lo ninu nkan naa:

orisun: www.habr.com

Fi ọrọìwòye kun