Serverless ntawm racks

Serverless ntawm racks
Serverless tsis yog hais txog lub cev tsis muaj servers. Qhov no tsis yog lub thawv killer lossis ib qho kev dhau mus. Qhov no yog ib txoj hauv kev tshiab rau kev tsim cov tshuab hauv huab. Nyob rau hauv tsab xov xwm niaj hnub no peb yuav kov cov architecture ntawm Serverless daim ntaub ntawv, cia saib seb lub luag haujlwm ntawm Serverless muab kev pabcuam thiab cov haujlwm qhib qhov twg ua si. Thaum kawg, cia peb tham txog cov teeb meem ntawm kev siv Serverless.

Kuv xav sau ib feem ntawm cov ntawv thov (lossis txawm tias lub khw hauv online). Qhov no tuaj yeem yog kev sib tham, kev pabcuam kev tshaj tawm cov ntsiab lus, lossis kev sib npaug ntawm kev thauj khoom. Txawm li cas los xij, yuav muaj kev mob taub hau ntau: koj yuav tsum tau npaj cov txheej txheem, txiav txim siab rau daim ntawv thov kev vam meej, thiab xav txog tus tswv tsev ua haujlwm. Tom qab ntawd koj yuav tsum tau hloov kho cov khoom me me uas tsis cuam tshuam rau kev ua haujlwm ntawm tus so ntawm monolith. Zoo, cia peb tsis txhob hnov ​​​​qab txog kev ntsuas hauv qab load.

Yuav ua li cas yog tias peb nqa cov thawv ephemeral, nyob rau hauv uas qhov yuav tsum tau dependencies twb pre-installed, thiab cov thawv lawv tus kheej raug rho tawm ntawm ib leeg thiab los ntawm tus tswv OS? Peb yuav faib cov monolith rau hauv microservices, txhua tus tuaj yeem hloov kho thiab ntsuas nws tus kheej ntawm lwm tus. Los ntawm muab cov lej tso rau hauv lub thawv zoo li no, Kuv tuaj yeem khiav nws ntawm txhua qhov chaw tsim kho. Twb zoo lawm.

Yuav ua li cas yog tias koj tsis xav configure thawv? Kuv tsis xav xav txog scaling daim ntawv thov. Kuv tsis xav them rau cov thawv uas tsis siv neeg khiav thaum lub load ntawm qhov kev pabcuam tsawg heev. Kuv xav sau code. Tsom ntsoov rau kev lag luam logic thiab coj cov khoom lag luam rau kev lag luam ntawm lub teeb nrawm.

Cov kev xav zoo li no tau coj kuv mus rau serverless xam. Serverless hauv qhov no txhais tau tias tsis yog lub cev tsis muaj servers, tab sis qhov tsis muaj kev tswj hwm kev tswj hwm mob taub hau.

Lub tswv yim yog tias daim ntawv thov logic tau tawg mus rau hauv cov haujlwm ywj pheej. Lawv muaj cov txheej txheem kev tshwm sim. Txhua qhov haujlwm ua ib qho "microtask". Txhua yam uas yuav tsum tau los ntawm tus tsim tawm yog txhawm rau thauj cov haujlwm rau hauv lub console muab los ntawm tus neeg muab kev pabcuam huab thiab sib txuas nrog cov xwm txheej. Cov cai yuav raug txiav txim raws li qhov xav tau hauv lub thawv ntim tau npaj tseg, thiab kuv tsuas yog them rau lub sijhawm ua tiav.

Cia peb saib seb txoj kev txhim kho daim ntawv thov yuav zoo li cas tam sim no.

Los ntawm tus tsim tawm sab

Ua ntej peb pib tham txog daim ntawv thov rau lub khw hauv online. Nyob rau hauv cov tsoos mus kom ze, lub ntsiab logic ntawm lub system yog ua los ntawm ib tug monolithic daim ntawv thov. Thiab cov neeg rau zaub mov nrog daim ntawv thov ua haujlwm tas li, txawm tias tsis muaj kev thauj khoom.

Txhawm rau txav mus rau serverless, peb tawg daim ntawv thov rau hauv microtasks. Peb sau peb tus kheej ua haujlwm rau txhua tus ntawm lawv. Cov haujlwm yog ywj siab ntawm ib leeg thiab tsis khaws cov ntaub ntawv hauv xeev (tsis muaj neeg nyob). Tej zaum lawv kuj yuav raug sau ua ntau hom lus. Yog tias ib qho ntawm lawv "poob", tag nrho daim ntawv thov yuav tsis nres. Daim ntawv thov architecture yuav zoo li no:

Serverless ntawm racks
Kev faib ua haujlwm hauv Serverless zoo ib yam li kev ua haujlwm nrog microservices. Tab sis microservice tuaj yeem ua tau ntau yam haujlwm, thiab kev ua haujlwm yuav tsum ua kom zoo ib yam. Cia peb xav txog tias txoj haujlwm yog los sau cov txheeb cais thiab muab tso rau ntawm tus neeg siv qhov kev thov. Hauv kev ua haujlwm microservice, ib txoj haujlwm yog ua los ntawm ib qho kev pabcuam nrog ob lub ntsiab lus nkag: sau ntawv thiab nyeem ntawv. Hauv serverless xam, cov no yuav yog ob txoj haujlwm sib txawv uas tsis cuam tshuam rau ib leeg. Tus tsim tawm txuag cov ntaub ntawv suav yog, piv txwv li, cov txheeb cais tau hloov kho ntau zaus dua li lawv rub tawm.

Serverless functions yuav tsum tau ua nyob rau hauv ib lub sij hawm luv luv (timeout), uas yog txiav txim los ntawm tus muab kev pab cuam. Piv txwv li, rau AWS lub sij hawm yog 15 feeb. Qhov no txhais tau hais tias kev ua haujlwm ntev yuav tsum tau hloov pauv kom haum raws li qhov yuav tsum tau ua - qhov no yog qhov txawv ntawm Serverless los ntawm lwm cov thev naus laus zis niaj hnub no (cov thawv ntim khoom thiab Platform raws li Kev Pabcuam).

Peb muab ib qho kev tshwm sim rau txhua qhov haujlwm. Ib qho kev tshwm sim yog qhov tshwm sim rau kev ua:

Kev tshwm sim
Qhov kev txiav txim uas lub luag haujlwm ua

Cov duab khoom tau muab tso rau hauv qhov chaw cia khoom.
Compress cov duab thiab upload mus rau ib tug directory

Qhov chaw nyob ntawm lub khw muag khoom tau hloov kho hauv cov ntaub ntawv
Thauj qhov chaw tshiab rau hauv daim ntawv qhia

Tus neeg siv khoom them rau cov khoom
Pib kev them nyiaj

Cov xwm txheej tuaj yeem yog HTTP thov, streaming cov ntaub ntawv, cov kab lus, thiab lwm yam. Qhov chaw tshwm sim yog qhov hloov pauv lossis tshwm sim ntawm cov ntaub ntawv. Tsis tas li ntawd, kev ua haujlwm tuaj yeem tshwm sim los ntawm timer.

Lub architecture tau ua tiav, thiab daim ntawv thov yuav luag dhau los ua serverless. Tom ntej no peb mus rau qhov chaw muab kev pabcuam.

Los ntawm tus kws kho mob sab

Feem ntau, serverless suav yog muab los ntawm cov chaw muab kev pabcuam huab. Lawv hu ua txawv: Azure Functions, AWS Lambda, Google Cloud Functions, IBM Cloud Functions.

Peb yuav siv qhov kev pabcuam los ntawm tus kws kho mob lub console lossis tus account tus kheej. Function code tuaj yeem rub tawm hauv ib qho ntawm cov hauv qab no:

  • sau code hauv built-in editors ntawm lub web console,
  • download tau lub archive nrog cov code,
  • ua haujlwm nrog pej xeem lossis ntiag tug git repositories.

Ntawm no peb teeb tsa cov xwm txheej uas hu ua lub luag haujlwm. Cov txheej xwm txheej xwm yuav txawv rau cov chaw muab kev pabcuam sib txawv.

Serverless ntawm racks

Tus neeg zov me nyuam tau tsim thiab ua haujlwm ua haujlwm raws li Kev Pabcuam (FaaS) system ntawm nws cov infrastructure:

  1. Cov lej ua haujlwm xaus rau hauv kev khaws cia ntawm tus kws kho mob sab.
  2. Thaum muaj xwm txheej tshwm sim, ntim nrog ib puag ncig npaj tau txais kev xa tawm ntawm lub server. Txhua qhov ua piv txwv muaj nws tus kheej lub thawv cais.
  3. Los ntawm kev khaws cia, kev ua haujlwm raug xa mus rau lub thawv, suav, thiab xa cov txiaj ntsig rov qab.
  4. Tus naj npawb ntawm cov xwm txheej sib npaug loj zuj zus - tus naj npawb ntawm cov ntim tau loj hlob. Lub kaw lus cia li ntsuas. Yog tias cov neeg siv tsis nkag mus rau qhov ua haujlwm, nws yuav tsis ua haujlwm.
  5. Tus kws kho mob teem sijhawm tsis ua haujlwm rau cov thawv ntim khoom - yog tias lub sijhawm no cov haujlwm tsis tshwm sim hauv lub thawv, nws raug rhuav tshem.

Txoj kev no peb tau txais Serverless tawm ntawm lub thawv. Peb yuav them rau cov kev pabcuam uas siv tus qauv them nyiaj raws li koj mus thiab tsuas yog rau cov haujlwm uas tau siv, thiab tsuas yog rau lub sijhawm uas lawv tau siv.

Txhawm rau qhia cov neeg tsim khoom rau cov kev pabcuam, cov chaw muab kev pabcuam pub dawb txog li 12 lub hlis ntawm kev kuaj dawb, tab sis txwv tag nrho lub sijhawm suav, tus lej thov hauv ib hlis, nyiaj txiag lossis kev siv hluav taws xob.

Lub ntsiab kom zoo dua ntawm kev ua hauj lwm nrog ib tug neeg muab kev pab yog muaj peev xwm tsis txhob txhawj txog infrastructure (servers, virtual machines, ntim). Rau nws feem, tus kws kho mob tuaj yeem siv FaaS ob qho tib si siv nws tus kheej tsim thiab siv cov cuab yeej qhib. Wb tham txog lawv ntxiv.

Los ntawm qhib qhov chaw sab

Lub zej zog qhib qhov chaw tau nquag ua haujlwm ntawm Serverless cov cuab yeej rau ob peb xyoos dhau los. Cov neeg ua lag luam loj tshaj plaws kuj pab txhawb rau kev txhim kho ntawm serverless platforms:

  • Google muab cov neeg tsim khoom nws cov cuab yeej qhib- Riam. IBM, RedHat, Pivotal thiab SAP koom nrog nws txoj kev txhim kho;
  • IBM ua haujlwm ntawm Serverless platform OpenWhisk, uas tom qab ntawd los ua ib txoj haujlwm ntawm Apache Foundation;
  • Microsoft ib nrab qhib lub platform code Azure Functions.

Kev txhim kho tseem tab tom ua nyob rau hauv kev coj ntawm serverless lub moj khaum. Kubeless ΠΈ Kev Rhuav Siab xa mus rau hauv cov npaj ua ntej Kubernetes pawg, OpenFaaS ua haujlwm nrog Kubernetes thiab Docker Swarm. Lub moj khaum ua raws li hom kev tswj hwm - raws li qhov kev thov, nws npaj lub sijhawm ua haujlwm nyob rau hauv pawg, tom qab ntawd pib ua haujlwm nyob rau ntawd.

Lub moj khaum tawm hauv chav rau kev teeb tsa lub cuab yeej kom haum koj cov kev xav tau. Yog li, hauv Kubeless, tus tsim tawm tuaj yeem teeb tsa lub sijhawm ua haujlwm tiav (tus nqi pib yog 180 vib nas this). Fission, nyob rau hauv ib qho kev sim los daws qhov teeb meem pib txias, qhia kom khaws qee lub thawv khiav txhua lub sijhawm (txawm tias qhov no suav nrog cov nqi them nyiaj poob haujlwm). Thiab OpenFaaS muaj cov txheej txheem ua rau txhua tus saj thiab xim: HTTP, Kafka, Redis, MQTT, Cron, AWS SQS, NATs thiab lwm yam.

Cov lus qhia rau kev pib tuaj yeem pom nyob rau hauv cov ntaub ntawv raug cai ntawm lub moj khaum. Ua hauj lwm nrog lawv yuav tsum muaj kev txawj ntse me ntsis dua li thaum ua hauj lwm nrog ib tug neeg muab kev pab - qhov no yog tsawg kawg yog lub peev xwm los tsim ib tug Kubernetes pawg ntawm CLI. Feem ntau, suav nrog lwm cov cuab yeej qhib (piv txwv li, Kafka queue manager).

Txawm hais tias peb ua haujlwm nrog Serverless li cas - los ntawm tus neeg muab kev pabcuam lossis siv qhov chaw qhib, peb yuav tau txais ntau qhov zoo thiab qhov tsis zoo ntawm Serverless mus kom ze.

Los ntawm qhov pom ntawm qhov zoo thiab qhov tsis zoo

Serverless tsim cov tswv yim ntawm lub thawv ntim khoom tsim thiab kev pabcuam microservice, uas pab pawg tuaj yeem ua haujlwm hauv ntau hom lus yam tsis tau khi rau ib lub platform. Kev tsim kom muaj qhov system yooj yim thiab qhov yuam kev yooj yim dua los kho. Microservice architecture tso cai rau koj ntxiv kev ua haujlwm tshiab rau lub kaw lus nrawm dua li ntawm daim ntawv thov monolithic.

Serverless txo lub sijhawm txhim kho ntxiv, tso cai rau tus tsim tawm tsuas yog tsom rau ntawm daim ntawv thov kev lag luam logic thiab coding. Yog li ntawd, lub sij hawm rau kev lag luam rau kev txhim kho yog txo.

Raws li ib qho ntxiv, peb tau txais kev ntsuas tsis siv neeg rau kev thauj khoom, thiab peb tsuas yog them rau cov peev txheej siv thiab tsuas yog thaum lub sijhawm lawv siv.

Zoo li txhua yam thev naus laus zis, Serverless muaj qhov tsis zoo.

Piv txwv li, qhov tsis zoo no yuav yog lub sijhawm pib txias (qhov nruab nrab txog li 1 thib ob rau cov lus xws li JavaScript, Python, Mus, Java, Ruby).

Ntawm qhov tod tes, qhov tseeb, lub sijhawm pib txias yog nyob ntawm ntau qhov sib txawv: hom lus uas tau sau ua haujlwm, tus lej ntawm cov tsev qiv ntawv, tus lej lej, kev sib txuas lus nrog cov peev txheej ntxiv (tib yam databases lossis authentication servers). Txij li thaum tus tsim tawm tswj cov kev hloov pauv no, nws tuaj yeem txo lub sijhawm pib. Tab sis ntawm qhov tod tes, tus tsim tawm tsis tuaj yeem tswj lub sijhawm pib ntawm lub thawv - nws tag nrho yog nyob ntawm tus kws kho mob.

Kev pib txias tuaj yeem hloov mus rau qhov pib sov thaum lub luag haujlwm rov siv lub thawv uas tau pib los ntawm qhov kev tshwm sim dhau los. Qhov xwm txheej no yuav tshwm sim hauv peb qhov xwm txheej:

  • yog tias cov neeg siv khoom nquag siv cov kev pabcuam thiab cov xov tooj hu rau kev ua haujlwm nce ntxiv;
  • yog tias tus neeg muab kev pabcuam, platform lossis lub moj khaum tso cai rau koj khaws qee lub thawv khiav txhua lub sijhawm;
  • yog tias tus tsim tawm ua haujlwm ntawm lub sijhawm (hais txhua 3 feeb).

Rau ntau daim ntawv thov, qhov pib txias tsis yog qhov teeb meem. Ntawm no koj yuav tsum tau tsim ntawm hom thiab cov dej num ntawm kev pabcuam. Kev pib ncua sijhawm thib ob tsis yog ib qho tseem ceeb rau daim ntawv thov kev lag luam, tab sis nws tuaj yeem dhau los ua qhov tseem ceeb rau cov kev pabcuam kho mob. Nyob rau hauv cov ntaub ntawv no, lub serverless mus kom ze tej zaum yuav tsis haum.

Qhov tsis zoo tom ntej ntawm Serverless yog lub neej luv luv ntawm kev ua haujlwm (lub sijhawm ua haujlwm thaum lub sijhawm ua haujlwm yuav tsum tau ua).

Tab sis, yog tias koj yuav tsum ua haujlwm nrog kev ua haujlwm ntev, koj tuaj yeem siv hybrid architecture - muab Serverless nrog lwm cov thev naus laus zis.

Tsis yog txhua lub tshuab yuav tuaj yeem ua haujlwm siv Serverless scheme.

Qee daim ntawv thov tseem yuav khaws cov ntaub ntawv thiab lub xeev thaum ua tiav. Qee cov architectures yuav nyob twj ywm monolithic thiab qee qhov nta yuav nyob ntev. Txawm li cas los xij (zoo li huab technologies thiab tom qab ntawd ntim), Serverless yog lub tshuab nrog lub neej yav tom ntej.

Hauv cov hlab ntsha no, kuv xav ua kom yooj yim txav mus rau qhov teeb meem ntawm kev siv Serverless mus kom ze.

Los ntawm daim ntawv thov sab

Rau 2018, qhov feem pua ​​​​ntawm Serverless siv loj hlob ib thiab ib nrab zaug. Ntawm cov tuam txhab uas twb tau siv thev naus laus zis hauv lawv cov kev pabcuam yog cov lag luam loj xws li Twitter, PayPal, Netflix, T-Mobile, Coca-Cola. Nyob rau tib lub sijhawm, koj yuav tsum nkag siab tias Serverless tsis yog panacea, tab sis yog lub cuab yeej los daws qee yam teeb meem:

  • Txo cov peev txheej downtime. Tsis tas yuav khaws lub tshuab virtual rau cov kev pabcuam uas muaj ob peb hu.
  • Txheej txheem cov ntaub ntawv ntawm ya. Nthuav cov duab, txiav tawm keeb kwm yav dhau, hloov video encoding, ua haujlwm nrog IoT sensors, ua lej ua haujlwm.
  • "Kua" lwm cov kev pabcuam ua ke. Git repository nrog cov kev pab cuam sab hauv, sib tham bot hauv Slack nrog Jira thiab daim ntawv qhia hnub.
  • Ntsuas lub load. Cia peb saib ze dua ntawm no.

Cia peb hais tias muaj kev pabcuam uas nyiam 50 tus neeg. Hauv qab nws muaj lub tshuab virtual nrog cov khoom siv tsis muaj zog. Los ntawm lub sij hawm mus rau lub sij hawm, lub load ntawm cov kev pab cuam nce ho. Tom qab ntawd cov khoom siv tsis muaj zog tuaj yeem tiv taus.

Koj tuaj yeem suav nrog cov khoom sib npaug hauv qhov system uas yuav faib cov khoom thauj, hais, hla peb lub tshuab virtual. Nyob rau theem no, peb tsis tuaj yeem kwv yees qhov kev thauj khoom kom raug, yog li peb khaws qee qhov peev txheej khiav "hauv cia." Thiab peb overpay rau downtime.

Nyob rau hauv cov xwm txheej zoo li no, peb tuaj yeem txhim kho qhov system los ntawm txoj hauv kev hybrid: peb tawm ib lub tshuab virtual tom qab lub load balancer thiab muab qhov txuas mus rau Serverless Endpoint nrog kev ua haujlwm. Yog hais tias lub load tshaj qhov pib, lub balancer launches muaj nuj nqi piv txwv uas coj ib feem ntawm qhov kev thov ua.

Serverless ntawm racks
Yog li, Serverless tuaj yeem siv tau qhov twg nws yog qhov tsim nyog los ua cov ntawv thov ntau tsis dhau, tab sis siv zog. Hauv qhov no, khiav ntau lub zog rau 15 feeb yog qhov muaj txiaj ntsig ntau dua li kev tswj hwm lub tshuab virtual lossis server txhua lub sijhawm.

Nrog rau tag nrho cov txiaj ntsig ntawm serverless xam, ua ntej kev siv, koj yuav tsum xub soj ntsuam daim ntawv thov logic thiab nkag siab txog cov teeb meem dab tsi Serverless tuaj yeem daws tau hauv ib rooj plaub tshwj xeeb.

Serverless thiab Selectel

Ntawm Selectel peb twb yog lawm Ua haujlwm yooj yim nrog Kubernetes ntawm peb cov tswj vaj huam sib luag. Tam sim no peb tab tom tsim peb tus kheej FaaS platform. Peb xav kom cov neeg tsim khoom tuaj yeem daws lawv cov teeb meem siv Serverless los ntawm qhov yooj yim, hloov tau yooj yim interface.

Yog tias koj muaj tswv yim txog qhov zoo tshaj plaws FaaS platform yuav tsum yog thiab koj xav siv Serverless li cas hauv koj cov haujlwm, qhia lawv hauv cov lus. Peb yuav muab koj cov kev xav tau rau hauv tus account thaum tsim lub platform.
 
Cov ntaub ntawv siv hauv kab lus:

Tau qhov twg los: www.hab.com

Ntxiv ib saib