LFCA: Uzziniet bezserveru skaitļošanu, priekšrocības un nepilnības — 15. daļa


Tehnoloģija bez serveriem tehnoloģiju kopienā ir radījusi lielu ažiotāžu, izraisot lielu ziņkāri un saņemot nelielu pretreakciju. Tā ir tehnoloģija, kas aizsākās ar AWS Lamba palaišanu 2014. gadā, kam drīz sekoja Azure Functions vēlāk 2016. gadā.

Google vēlāk sekoja šim piemēram, 2018. gada jūlijā izlaižot Google Cloud funkcijas. Tātad, kas ir tehnoloģija bez serveriem? Lai vislabāk atbildētu uz šo jautājumu, atgriezīsimies pie tradicionālās serveru skaitļošanas.

Tradicionālajā IT modelī jūs bijāt atbildīgs par visu. Kā uzņēmuma īpašniekam jums būs jāiegulda budžets serveriem un citam tīkla aprīkojumam, piemēram, maršrutētājiem un slēdžiem, kā arī plauktiem serveru sērošanai.

Jums būs arī jāuztraucas par senatnīga un droša datu centra iegūšanu un jānodrošina, ka tas var pietiekami nodrošināt dzesēšanu un lieku jaudu un interneta pakalpojumu. Pēc iestatīšanas jums būs jāinstalē operētājsistēma un vēlāk jāizvieto lietojumprogrammas. Turklāt jums būs jāizmanto ugunsmūri un ielaušanās novēršanas un atklāšanas sistēmas.

Kā jūs varētu uzminēt, tas ir resursietilpīgs, dārgs un iztukšojošs.

Tad tehnoloģiju pasaulē ielauzās mākoņdatošana, pilnībā mainot veidu, kā mēs izvietojam un pārvaldām serverus un lietojumprogrammas. Tas vēstīja par jaunu ēru, kurā izstrādātāji ātri izveidoja mākoņa serverus un datu bāzes un sāka strādāt pie savām lietojumprogrammām. Neuztraucieties par problēmām, kas saistītas ar tradicionālo IT skaitļošanu, piemēram, dīkstāvi, dārgu aprīkojumu un datu centru nomu.

Lai gan mākoņdatošana nodrošināja IT resursu izvietošanas ērtības un apjomradītus ietaupījumus, daži uzņēmumi pārlieku iegādāsies servera vietas un resursus, piemēram, operatīvo atmiņu un centrālo procesoru, gaidot tīkla trafika vai aktivitāšu pieaugumu, kas varētu pārslogot lietojumprogrammas.

Lai gan tas ir apdomīgs solis, neparedzēts rezultāts ir servera resursu nepietiekama izmantošana, kas bieži vien tiek izniekoti. Pat ar automātisko mērogošanu, neparedzēts un pēkšņs pieaugums var izrādīties dārgs. Turklāt jums joprojām būs jāveic citi uzdevumi, piemēram, slodzes balansētāju iestatīšana, kas arī varētu palielināt darbības izmaksas.

Ir acīmredzams, ka, neskatoties uz pāreju uz mākoni, daži sastrēgumi joprojām pastāv un var palielināt izmaksas un izraisīt resursu izšķērdēšanu. Un šeit parādās skaitļošana bez serveriem.

Kas ir bezserveru skaitļošana

Bezserveru skaitļošana ir mākoņa modelis, kas lietotājiem nodrošina aizmugursistēmas pakalpojumus, pamatojoties uz atalgojumu. Vienkāršiem vārdiem sakot, mākoņpakalpojumu sniedzējs piešķir skaitļošanas resursus un iekasē maksu tikai par lietojumprogrammu darbības laiku. Tas ir līdzvērtīgs pārejai no ikmēneša kabeļmaksas plāna uz maksāšanu tikai par TV pārraides skatīšanās laiku.

Termins “bez servera” varētu būt nedaudz maldinošs. Vai ir iesaistīti serveri? Tomēr, protams, šajā gadījumā serverus un pamatā esošo infrastruktūru apstrādā un uztur tikai mākoņa pakalpojumu sniedzējs. Tādējādi jums par tiem nav jāuztraucas. Kā izstrādātājs jūs koncentrējaties tikai uz savu lietojumprogrammu izstrādi un nodrošina, ka tās darbojas, lai jūs apmierinātu.

To darot, skaitļošana bez serveriem novērš galvassāpes, kas saistītas ar serveru pārvaldību, un ietaupa jūsu dārgo laiku, lai strādātu ar savām lietojumprogrammām.

Aizmugursistēmas pakalpojumi, ko nodrošina bez servera skaitļošana

Lielisks bezserveru aizmugursistēmas pakalpojuma piemērs ir Function-as-a-Service (FaaS) platforma. FaaS ir mākoņdatošanas modelis, kas ļauj izstrādātājiem izstrādāt, izpildīt un pārvaldīt kodu, reaģējot uz notikumiem, bez sarežģītības, veidojot un pārvaldot pamata infrastruktūru, kas parasti ir saistīta ar mikropakalpojumu izvietošanu.

Faas ir bezserveru skaitļošanas apakškategorija ar smalkām atšķirībām. Bezserveru skaitļošana ietver plašu pakalpojumu klāstu, tostarp aprēķinus, datu bāzi, krātuvi un API, lai pieminētu dažus. FaaS ir vērsta tikai uz notikumu vadītu skaitļošanas modeli, kurā lietojumprogrammas tiek izpildītas pēc pieprasījuma, tas ir, atbildot uz pieprasījumu.

FaaS skaitļošanas modeļu piemēri ir šādi:

  • AWS Lambda, ko piedāvā AWS
  • Microsoft Azure funkcijas
  • Google mākoņfunkcijas
  • Cloudflare darbinieki, ko piedāvā Cloudflare

Rezumējot, mēs esam redzējuši, ka, izmantojot FaaS, jūs maksājat tikai par lietojumprogrammas darbības laiku, un mākoņa pakalpojumu sniedzējs gandrīz visu dara jūsu vietā, tostarp apstrādā pamata infrastruktūru. Serveru pārvaldība ir mazākā no jūsu rūpēm.

Bezserveru skaitļošanas priekšrocības

Tagad jums ir labs priekšstats par dažiem bezserveru skaitļošanas priekšrocībām. Iedziļināsimies tehnoloģiju izmantošanas priekšrocībās.

Tā, iespējams, ir viena no lielākajām priekšrocībām, ko sniedz bezserveru skaitļošanas modeļa ieviešana. Lai gan termins “bez servera” var tikt nepareizi interpretēts, norādot, ka nav iesaistīti serveri, lietojumprogrammas joprojām darbojas serveros. Lietas būtība ir tāda, ka serveru pārvaldība pilnībā ir mākoņpakalpojumu sniedzēja bizness, un tas dod jums vairāk laika darbam ar lietojumprogrammām.

Infrastruktūra bez serveriem nodrošina automātisku lietojumprogrammu mērogošanu, reaģējot uz pieaugošo lietojumu, pieprasījumu vai lietotāju bāzes pieaugumu. Ja lietojumprogramma darbojas vairākos gadījumos, serveri tiks startēti un apstāsies, kad tas būs nepieciešams. Tradicionālā mākoņdatošanas iestatījumā trafika vai aktivitātes pieaugums var viegli pārslogot servera resursus, izraisot neatbilstības izpildītajai lietojumprogrammai.

Kā izstrādātājam jums nav jāizveido īpaša infrastruktūra, lai jūsu lietojumprogrammas būtu ļoti pieejamas. Bezserveru skaitļošana nodrošina iebūvētu augstu pieejamību, lai nodrošinātu, ka jūsu lietojumprogrammas darbojas un darbojas, kad tas ir nepieciešams.

Bezserveru skaitļošana piešķir resursus, pamatojoties uz samaksu, ko lietojat. Jūsu lietojumprogrammai būs nepieciešamas tikai aizmugursistēmas funkcijas, kad kods tiks izpildīts, un tā tiks automātiski mērogota, pamatojoties uz darba slodzes apjomu.

Tas nodrošina apjomradītus ietaupījumus, jo jums jāmaksā tikai par lietojumprogrammu darbības laiku. Tradicionālajā servera modelī jums ir jāmaksā par servera vietu, datu bāzēm un citiem resursiem neatkarīgi no tā, vai lietojumprogramma darbojas vai dīkstāvē.

Bezserveru arhitektūra novērš nepieciešamību pēc aizmugursistēmas konfigurācijas un manuālas koda augšupielādes serveros, tāpat kā tradicionālajā iestatījumā. Izstrādātājiem ir viegli efektīvi augšupielādēt nelielas koda kaudzes un laist klajā lielisku produktu.

Izvietošanas vienkāršība ļauj izstrādātājiem arī viegli salabot un atjaunināt noteiktas koda funkcijas, nemainot visu lietojumprogrammu.

Bezserveru skaitļošanas kļūmes

Vai ir kādi trūkumi, kas saistīti ar modeli bez servera? Noskaidrosim.

Slikti konfigurētas lietojumprogrammas rada vienu no lielākajiem riskiem, kas saistīti ar skaitļošanu bez servera. Piemēram, ja izvēlaties AWS, ir saprātīgi savai lietojumprogrammai konfigurēt dažādas atļaujas, kas savukārt noteiks, kā tās mijiedarbosies ar citiem AWS pakalpojumiem. Ja atļaujas ir neskaidras, funkcijai vai pakalpojumam var būt vairāk atļauju, nekā nepieciešams, tādējādi atstājot pietiekami daudz vietas drošības pārkāpumiem.

Bez servera modeļa izvēle var radīt problēmas, migrējot uz citu piegādātāju. Tas galvenokārt ir tāpēc, ka katram pārdevējam ir savas funkcijas un darbplūsmas, kas nedaudz atšķiras no pārējiem.

Vēl viens izaicinājums, ko rada bezserveru modelis, ir grūtības reproducēt vidi bez serveriem, lai pārbaudītu un uzraudzītu koda veiktspēju pirms tā palaišanas. Tas galvenokārt ir tāpēc, ka izstrādātājiem trūkst piekļuves aizmugures pakalpojumiem, kas ir mākoņa pakalpojumu sniedzēja īpašumā.

Lietojumprogrammu bez servera uzraudzība ir sarežģīts uzdevums to pašu iemeslu dēļ, kuru dēļ atkļūdošana un testēšana ir sarežģīts uzdevums. To vēl vairāk pasliktina tas, ka nav pieejami rīki ar integrāciju aizmugurpakalpojumos, piemēram, AWS Lamba.

Bezserveru skaitļošana turpina iegūt pievilcību un popularitāti uzņēmumu un izstrādātāju vidū trīs galveno iemeslu dēļ. Viens no tiem ir pieejamība, kas nozīmē samazinātas darbības izmaksas. Otrkārt, skaitļošana bez serveriem atvieglo automātisku un ātru mērogošanu, un, visbeidzot, izstrādātājiem nav jāuztraucas par pamatā esošo infrastruktūru, ko pārvalda pārdevējs.

Tikmēr mākoņpakalpojumu sniedzēji strādā visu diennakti, lai novērstu dažas problēmas, kas saistītas ar skaitļošanu bez servera, piemēram, grūtības atkļūdot un uzraudzīt lietojumprogrammas.