Gan freastalaí ar racaí

Gan freastalaí ar racaí
Ní bhaineann Serverless le neamhláithreacht fisiciúil freastalaithe. Ní marú coimeádán nó treocht a rith é seo. Is cur chuige nua é seo maidir le córais a thógáil sa scamall. In alt an lae inniu déanfaimid teagmháil le hailtireacht na bhfeidhmchlár Serverless, feicfimid an ról atá ag an soláthraí seirbhíse Serverless agus tionscadail foinse oscailte. Ar deireadh, déanaimis labhairt faoi na saincheisteanna a bhaineann le húsáid Serverless.

Ba mhaith liom cuid fhreastalaí d'iarratas (nó fiú siopa ar líne) a scríobh. D’fhéadfadh sé seo a bheith ina chomhrá, ina sheirbhís foilsitheoireachta ábhair, nó ina chothromóir ualaigh. In aon chás, beidh go leor tinneas cinn ann: beidh ort an bonneagar a ullmhú, spleáchas an iarratais a chinneadh, agus smaoineamh ar chóras oibriúcháin an óstaigh. Ansin, beidh ort comhpháirteanna beaga a thabhairt cothrom le dáta nach gcuireann isteach ar oibriú an chuid eile den monolith. Bhuel, ná déanaimis dearmad faoi scálú faoi ualach.

Cad a tharlaíonn má thógaimid coimeádáin ephemeral, ina bhfuil na spleáchais riachtanacha réamhshuiteáilte cheana féin, agus go bhfuil na coimeádáin iad féin scoite óna chéile agus ón óstach OS? Roinnfimid an monolith i microservices, agus is féidir gach ceann acu a nuashonrú agus a scála go neamhspleách ar na cinn eile. Tríd an gcód a chur i gcoimeádán den sórt sin, is féidir liom é a rith ar aon bhonneagar. Cheana féin níos fearr.

Cad a tharlóidh mura bhfuil tú ag iarraidh coimeádáin a chumrú? Níor mhaith liom smaoineamh ar an bhfeidhmchlár a scála. Níl mé ag iarraidh íoc as coimeádáin reatha díomhaoin nuair is beag an t-ualach ar an tseirbhís. Ba mhaith liom cód a scríobh. Fócas ar loighic gnó agus táirgí a thabhairt chun an mhargaidh ag luas an tsolais.

Thug smaointe dá leithéid mé chuig ríomhaireacht gan fhreastalaí. Serverless sa chás seo ciallaíonn ní heaspa freastalaithe go fisiciúil, ach easpa tinneas cinn bainistíochta bonneagair.

Is é an smaoineamh go bhfuil loighic iarratais briste síos i bhfeidhmeanna neamhspleácha. Tá struchtúr imeachtaí acu. Déanann gach feidhm “micreatasc” amháin. Is é an rud atá ag teastáil ón bhforbróir ná na feidhmeanna a luchtú isteach sa chonsól a sholáthraíonn an soláthraí scamall agus iad a chomhghaolú le foinsí imeachta. Déanfar an cód a fhorghníomhú ar éileamh i gcoimeádán a ullmhaítear go huathoibríoch, agus ní íocfaidh mé ach as an am forghníomhaithe.

Feicfimid cén chuma a bheidh ar an bpróiseas forbartha iarratais anois.

Ó thaobh an fhorbróra

Níos luaithe thosaigh muid ag caint faoi iarratas ar siopa ar líne. Sa chur chuige traidisiúnta, is é príomh-loighic an chórais feidhmchlár monolithic. Agus tá an freastalaí leis an iarratas ag rith i gcónaí, fiú mura bhfuil aon ualach ann.

Chun bogadh go dtí gan fhreastalaí, déanaimid an feidhmchlár a bhriseadh ina mhicreascasc. Scríobhaimid ár bhfeidhm féin do gach ceann acu. Tá na feidhmeanna neamhspleách ar a chéile agus ní stóráiltear faisnéis stáit (gan stát). Is féidir iad a scríobh i dteangacha éagsúla fiú. Má “thitfidh” ceann acu, ní stopfaidh an feidhmchlár iomlán. Breathnóidh ailtireacht an fheidhmchláir mar seo:

Gan freastalaí ar racaí
Tá an deighilt i bhfeidhmeanna i Serverless cosúil le bheith ag obair le micreasheirbhísí. Ach is féidir le micreasheirbhís roinnt tascanna a dhéanamh, agus go hidéalach ba cheart go ndéanfadh feidhm ceann amháin. Samhlóimid gurb é an tasc staitisticí a bhailiú agus iad a thaispeáint ar iarratas an úsáideora. Sa chur chuige microservice, déantar tasc ag seirbhís amháin le dhá phointe iontrála: scríobh agus léamh. Sa ríomhaireacht gan fhreastalaí, beidh dhá fheidhm dhifriúla acu seo nach bhfuil baint acu lena chéile. Sábhálann an forbróir acmhainní ríomhaireachta má dhéantar, mar shampla, staitisticí a nuashonrú níos minice ná mar a dhéantar iad a íoslódáil.

Ní mór feidhmeanna gan freastalaí a fhorghníomhú laistigh de thréimhse ghearr ama (teorainn ama), a chinneann an soláthraí seirbhíse. Mar shampla, le haghaidh AWS is é 15 nóiméad an teorainn ama. Ciallaíonn sé seo go gcaithfear feidhmeanna fadsaoil a athrú chun freastal ar na riachtanais - is é seo a dhéanann idirdhealú idir Serverless agus teicneolaíochtaí coitianta eile inniu (coimeádáin agus Ardán mar Sheirbhís).

Sannaimid imeacht do gach feidhm. Is spreagadh gníomhaíochta é imeacht:

Imeacht
An gníomh a dhéanann an fheidhm

Uaslódáladh íomhá táirge chuig an stór.
Comhbhrúigh an íomhá agus uaslódáil chuig eolaire

Tá seoladh an stórais fhisiciúil nuashonraithe sa bhunachar sonraí
Íosluchtaigh áiteanna nua ar an léarscáil

Íocann an cliant as na hearraí
Tosaigh próiseáil íocaíochta

Is féidir le himeachtaí a bheith ina n-iarratais HTTP, ina sonraí sruthú, ina scuainí teachtaireachta, agus mar sin de. Is éard atá i bhfoinsí imeachtaí ná athruithe nó tarluithe sonraí. Ina theannta sin, is féidir feidhmeanna a spreagadh le lasc ama.

D'oibrigh an ailtireacht amach, agus d'éirigh an feidhmchlár beagnach gan fhreastalaí. Ansin téann muid chuig an soláthraí seirbhíse.

Ó thaobh an tsoláthraí

Go hiondúil, cuireann soláthraithe seirbhísí néalríomhaireachta ríomhaireacht gan fhreastalaí ar fáil. Tugtar go difriúil orthu: Feidhmeanna Azure, AWS Lambda, Feidhmeanna Google Cloud, Feidhmeanna Cloud IBM.

Úsáidfimid an tseirbhís trí chonsól nó cuntas pearsanta an tsoláthraí. Is féidir cód feidhme a íoslódáil ar cheann de na bealaí seo a leanas:

  • scríobh cód in eagarthóirí ionsuite tríd an consól gréasáin,
  • Íoslódáil an chartlann leis an gcód
  • oibriú le stórtha git poiblí nó príobháideacha.

Anseo socraímid na himeachtaí a ghlaonn an fheidhm. Féadfaidh na sraitheanna imeachtaí a bheith difriúil do sholáthraithe éagsúla.

Gan freastalaí ar racaí

Thóg agus rinne an soláthraí an córas Feidhm mar Sheirbhís (FaaS) a thógáil agus a uathoibriú ar a bhonneagar:

  1. Críochnaíonn an cód feidhme suas i stóráil ar thaobh an tsoláthraí.
  2. Nuair a tharlaíonn teagmhas, déantar coimeádáin le timpeallacht ullmhaithe a imscaradh go huathoibríoch ar an bhfreastalaí. Tá a choimeádán leithlis féin ag gach cás feidhme.
  3. Ón stóráil, seoltar an fheidhm chuig an gcoimeádán, ríomhtar é, agus cuireann sé an toradh ar ais.
  4. Tá líon na n-imeachtaí comhthreomhara ag fás - tá líon na gcoimeádán ag fás. Scálaíonn an córas go huathoibríoch. Mura bhfaigheann úsáideoirí rochtain ar an bhfeidhm, beidh sé neamhghníomhach.
  5. Socraíonn an soláthraí an t-am díomhaoin do choimeádáin - más rud é le linn an ama seo nach bhfuil feidhmeanna le feiceáil sa choimeádán, scriostar é.

Ar an mbealach seo bainimid Serverless amach as an mbosca. Íocfaimid as an tseirbhís trí úsáid a bhaint as an tsamhail íoc-mar-a-úsáidtear agus as na feidhmeanna sin amháin a úsáidtear, agus gan ach an t-am ar úsáideadh iad.

Chun forbróirí a thabhairt isteach sa tseirbhís, tairgeann soláthraithe suas le 12 mhí de thástáil saor in aisce, ach cuireann siad teorainn leis an am ríomh iomlán, líon na n-iarratas in aghaidh na míosa, cistí nó tomhaltas cumhachta.

Is é an buntáiste is mó a bhaineann le bheith ag obair le soláthraí ná an cumas gan a bheith buartha faoi bhonneagar (freastalaithe, meaisíní fíorúla, coimeádáin). Óna thaobh féin, is féidir leis an soláthraí FaaS a chur i bhfeidhm ag baint úsáide as a chuid forbairtí féin agus ag baint úsáide as uirlisí foinse oscailte. Labhraímis mar gheall orthu a thuilleadh.

Ón taobh foinse oscailte

Tá an pobal foinse oscailte ag obair go gníomhach ar uirlisí Serverless le cúpla bliain anuas. Cuireann na gníomhaithe margaidh is mó le forbairt ardáin gan fhreastalaí freisin:

  • google cuireann sé a uirlis foinse oscailte ar fáil d'fhorbróirí - sceana. Ghlac IBM, RedHat, Pivotal agus SAP páirt ina fhorbairt;
  • IBM d'oibrigh sé ar ardán Serverless OscailWhisk, a tháinig chun bheith ina thionscadal de chuid Fhondúireacht Apache ansin;
  • microsoft go páirteach oscail an cód ardán Feidhmeanna Azure.

Tá forbairtí ar siúl freisin maidir le creataí gan fhreastalaí. Ciúbach и Scagadh imscaradh laistigh de bhraislí Kubernetes réamhullmhaithe, OscailFaaS oibríonn sé le Kubernetes agus Docker Swarm araon. Feidhmíonn an creat mar rialtóir de chineál - arna iarraidh sin, ullmhaíonn sé timpeallacht runtime laistigh den bhraisle, ansin seolann sé feidhm ansin.

Fágann creataí spás chun an uirlis a chumrú chun freastal ar do chuid riachtanas. Mar sin, i Kubeless, is féidir le forbróir an teorainn ama forghníomhaithe feidhme a chumrú (is é an luach réamhshocraithe ná 180 soicind). Molann an t-eamhnú, mar iarracht an fhadhb tosaithe fuar a réiteach, roinnt coimeádán a choinneáil ag rith an t-am ar fad (cé go bhfuil costais aga neamhfhónaimh acmhainne i gceist leis seo). Agus cuireann OpenFaaS sraith truicear ar fáil do gach blas agus dath: HTTP, Kafka, Redis, MQTT, Cron, AWS SQS, NATs agus eile.

Is féidir treoracha maidir le tosú a fháil i ndoiciméadú oifigiúil na gcreataí. Éilíonn obair leo scileanna beagán níos mó ná nuair a bhíonn tú ag obair le soláthraí - is é seo ar a laghad an cumas braisle Kubernetes a sheoladh tríd an CLI. Ar a mhéad, cuir san áireamh uirlisí foinse oscailte eile (mar shampla, bainisteoir scuaine Kafka).

Beag beann ar an gcaoi a n-oibrímid le Serverless - trí sholáthraí nó trí úsáid a bhaint as foinse oscailte, gheobhaidh muid roinnt buntáistí agus míbhuntáistí a bhaineann le cur chuige Serverless.

Ó thaobh na buntáistí agus na míbhuntáistí

Forbraíonn Serverless na smaointe maidir le bonneagar coimeádán agus cur chuige microservice, inar féidir le foirne oibriú i mód ilteangach gan a bheith ceangailte le hardán amháin. Simplítear córas a thógáil agus is fusa earráidí a cheartú. Ceadaíonn ailtireacht microservice duit feidhmiúlacht nua a chur leis an gcóras i bhfad níos tapúla ná mar atá i gcás feidhmchlár monolithic.

Laghdaíonn Serverless am forbartha níos mó fós, rud a ligeann don fhorbróir díriú go hiomlán ar loighic agus códú gnó an fheidhmchláir. Mar thoradh air sin, laghdaítear an t-am chun margaíocht a dhéanamh le haghaidh forbairtí.

Mar bhónas, faighimid scálú uathoibríoch don ualach, agus ní íocaimid ach as na hacmhainní a úsáidtear agus ag an am a n-úsáidtear iad.

Cosúil le haon teicneolaíocht, tá míbhuntáistí ag Serverless.

Mar shampla, b'fhéidir gurb é míbhuntáiste den sórt sin an t-am tosaigh fuar (ar an meán suas le 1 soicind do theangacha mar JavaScript, Python, Go, Java, Ruby).

Ar thaobh amháin, i ndáiríre, braitheann an t-am tosaigh fuar ar go leor athróg: an teanga ina bhfuil an fheidhm scríofa, líon na leabharlann, méid an chóid, cumarsáid le hacmhainní breise (na bunachair shonraí céanna nó freastalaithe fíordheimhnithe). Ós rud é go rialaíonn an forbróir na hathróga seo, is féidir leis an t-am tosaithe a laghdú. Ach ar an láimh eile, ní féidir leis an bhforbróir am tosaithe an choimeádáin a rialú - braitheann sé go léir ar an soláthraí.

Féadann tús fuar iompú ina thús te nuair a athúsáideann feidhm coimeádán a seoladh ag imeacht roimhe seo. Tiocfaidh an cás seo chun cinn i dtrí chás:

  • má úsáideann cliaint an tseirbhís go minic agus má thagann méadú ar líon na nglaonna chuig an bhfeidhm;
  • má cheadaíonn an soláthraí, an t-ardán nó an creat duit roinnt coimeádán a choinneáil ag rith an t-am ar fad;
  • má ritheann an forbróir feidhmeanna ar an lasc ama (abair gach 3 nóiméad).

I gcás go leor iarratas, ní fadhb é tús fuar. Anseo ní mór duit tógáil ar chineál agus ar thascanna na seirbhíse. Ní bhíonn moill tosaigh soicind ríthábhachtach i gcónaí d’fheidhmchlár gnó, ach féadfaidh sé a bheith ríthábhachtach do sheirbhísí leighis. Sa chás seo, is dócha nach mbeidh an cur chuige gan fhreastalaí oiriúnach a thuilleadh.

Is é an chéad mhíbhuntáiste eile a bhaineann le Serverless ná saolré ghearr feidhme (teorainn ama a gcaithfear an fheidhm a chur i gcrích lena linn).

Ach, má tá tú a bheith ag obair le tascanna fad-cónaí, is féidir leat úsáid a bhaint as ailtireacht hibrideach - le chéile Serverless le teicneolaíocht eile.

Ní bheidh gach córas in ann oibriú ag baint úsáide as an scéim Serverless.

Stórálfaidh roinnt feidhmchlár sonraí agus luafar iad le linn a fhorghníomhaithe. Fanfaidh roinnt ailtireachta monolithic agus beidh roinnt gnéithe a saol fada. Mar sin féin (cosúil le teicneolaíochtaí scamall agus ansin coimeádáin), is teicneolaíocht é Serverless le todhchaí iontach.

Ar an mbealach seo, ba mhaith liom bogadh ar aghaidh go réidh ar an gceist maidir le húsáid an chur chuige Serverless.

Ó thaobh an iarratais

Do 2018, an céatadán úsáide Serverless d'fhás uair go leith. I measc na gcuideachtaí a bhfuil an teicneolaíocht curtha i bhfeidhm acu cheana féin ina gcuid seirbhísí tá fathaigh mhargaidh cosúil le Twitter, PayPal, Netflix, T-Mobile, Coca-Cola. Ag an am céanna, ní mór duit a thuiscint nach uile-íoc é Serverless, ach uirlis chun raon áirithe fadhbanna a réiteach:

  • Laghdaigh downtime acmhainní. Ní gá meaisín fíorúil a choinneáil i gcónaí le haghaidh seirbhísí nach bhfuil mórán glaonna orthu.
  • Próiseáil sonraí ar an eitilt. Comhbhrúigh pictiúir, gearr amach cúlraí, athraigh ionchódú físeáin, oibrigh le braiteoirí IoT, déan oibríochtaí matamaitice.
  • “Gliú” seirbhísí eile le chéile. Taisclann Git le cláir inmheánacha, bot comhrá i Slack le Jira agus féilire.
  • Cothromaigh an t-ualach. A ligean ar ghlacadh le breathnú níos dlúithe anseo.

Ligean le rá go bhfuil seirbhís ann a mheallann 50 duine. Faoin é tá meaisín fíorúil le crua-earraí lag. Ó am go chéile, méadaíonn an t-ualach ar an tseirbhís go suntasach. Ansin ní féidir le crua-earraí lag dul i ngleic.

Is féidir leat cothromóir a áireamh sa chóras a dháilfidh an t-ualach, abair, thar thrí mheaisín fhíorúla. Ag an gcéim seo, ní féidir linn an t-ualach a thuar go cruinn, mar sin coinnímid méid áirithe acmhainní ag rith “mar chúlchiste”. Agus déanaimid ró-íocaíocht as am neamhfhónaimh.

I gcás den sórt sin, is féidir linn an córas a bharrfheabhsú trí chur chuige hibrideach: fágaimid meaisín fíorúil amháin taobh thiar den chothromóir ualaigh agus cuirimid nasc chuig an Endpoint Serverless le feidhmeanna. Má sháraíonn an t-ualach an tairseach, seolann an cothromóir cásanna feidhme a ghlacann cuid den phróiseáil iarratais ar láimh.

Gan freastalaí ar racaí
Mar sin, is féidir Serverless a úsáid nuair is gá líon mór iarratas a phróiseáil ní ró-mhinic, ach go dian. Sa chás seo, tá sé níos brabúsaí roinnt feidhmeanna a reáchtáil ar feadh 15 nóiméad ná meaisín fíorúil nó freastalaí a chothabháil an t-am ar fad.

Agus na buntáistí uile a bhaineann le ríomhaireacht gan freastalaí, sula gcuirtear i bhfeidhm é, ba cheart duit loighic an fheidhmchláir a mheas ar dtús agus tuiscint a fháil ar na fadhbanna is féidir le Serverless a réiteach i gcás ar leith.

Serverless agus Selectel

Ag Selectel tá muid cheana féin obair shimplithe le Kubernetes tríd ár bpainéal rialaithe. Anois táimid ag tógáil ár n-ardán FaaS féin. Ba mhaith linn go mbeidh forbróirí in ann a gcuid fadhbanna a réiteach ag baint úsáide as Serverless trí chomhéadan áisiúil, solúbtha.

Má tá smaointe agat ar cad ba cheart don ardán FaaS idéalach a bheith agus conas is mian leat Serverless a úsáid i do thionscadail, déan iad a roinnt sna tuairimí. Cuirfimid do mhianta san áireamh agus an t-ardán á fhorbairt.
 
Ábhair a úsáidtear san alt:

Foinse: will.com

Add a comment