Serverless amin'ny racks

Serverless amin'ny racks
Ny tsy fisian'ny mpizara dia tsy momba ny tsy fisian'ny mpizara ara-batana. Tsy famonoana kaontenera na fironana mandalo izany. Ity dia fomba fiasa vaovao amin'ny fananganana rafitra ao amin'ny rahona. Amin'ny lahatsoratra anio dia hikasika ny maritrano amin'ny rindranasa tsy misy Server isika, andao hojerentsika hoe inona no anjara asan'ny mpanome tolotra tsy misy serivisy sy ny tetikasa open-source. Farany, andao hiresaka momba ny olana amin'ny fampiasana Serverless.

Te-hanoratra ampahany amin'ny mpizara amin'ny fampiharana iray aho (na fivarotana an-tserasera mihitsy aza). Ity dia mety ho chat, serivisy famoahana votoaty, na mpamantatra entana. Na izany na tsy izany dia hisy ny aretin'andoha be dia be: tsy maintsy manomana ny fotodrafitrasa ianao, mamaritra ny fiankinan-doha amin'ny fampiharana, ary mieritreritra ny rafitra fiasan'ny mpampiantrano. Avy eo dia mila manavao ny singa kely izay tsy misy fiantraikany amin'ny asa ny sisa amin'ny monolith. Eny ary, aza adino ny momba ny scaling eo ambany entana.

Ahoana raha maka kaontenera ephemeral isika, izay efa apetraka mialoha ny fiankinan-doha takiana, ary ny fitoeran-javatra dia mitokana amin'ny tsirairay sy amin'ny OS mpampiantrano? Hozarainay ho microservices ny monolith, izay azo havaozina tsy miankina amin'ny hafa ny tsirairay amin'izy ireo. Amin'ny fametrahana ny kaody ao anaty fitoeran-javatra toy izany, dia azoko atao amin'ny fotodrafitrasa rehetra izany. Efa tsara kokoa.

Ahoana raha tsy te-hanamboatra containers ianao? Tsy te hieritreritra momba ny fampitomboana ny fampiharana aho. Tsy te handoa kaontenera mandeha tsy miasa aho rehefa kely ny entana amin'ny serivisy. Te-hanoratra kaody aho. Mifantoha amin'ny lojika fandraharahana ary ento eny an-tsena amin'ny hafainganam-pandehan'ny hazavana.

Ny eritreritra toy izany dia nitarika ahy ho amin'ny informatika tsy misy mpizara. Serverless amin'ity tranga ity dia midika hoe tsy ny tsy fisian'ny mpizara ara-batana, fa ny tsy fisian'ny fanelingelenana ny fitantanana fotodrafitrasa.

Ny hevitra dia ny lojika fampiharana dia rava ho asa tsy miankina. Manana rafitra hetsika izy ireo. Ny asa tsirairay dia manao "microtask" iray. Ny hany takiana amin'ny mpamorona dia ny mampiditra ireo fiasa ao amin'ny console nomen'ny mpamatsy rahona ary mampifandray azy ireo amin'ny loharanon-javatra. Ny kaody dia hotanterahina amin'ny fangatahana ao anaty fitoeran-javatra voaomana ho azy, ary ny fotoana famonoana ihany no handoavako.

Andeha hojerentsika izay ho endriky ny fizotran'ny fampivoarana fampiharana izao.

Avy amin'ny lafiny developer

Talohan'izay dia nanomboka niresaka momba ny fangatahana fivarotana an-tserasera izahay. Amin'ny fomba nentim-paharazana, ny lojika fototra amin'ny rafitra dia atao amin'ny fampiharana monolithic. Ary ny mpizara miaraka amin'ny fampiharana dia mandeha tsy tapaka, na dia tsy misy entana aza.

Raha hifindra ho amin'ny tsy misy mpizara dia vakio ho microtasks ny fampiharana. Manoratra ny asany manokana ho an'ny tsirairay amin'izy ireo izahay. Ny asa dia tsy miankina amin'ny tsirairay ary tsy mitahiry vaovao momba ny fanjakana (tsy misy fanjakana). Mety ho nosoratana tamin’ny fiteny samihafa mihitsy aza izy ireny. Raha "lavo" ny iray amin'izy ireo, dia tsy hijanona ny fampiharana manontolo. Ny rafitra fampiharana dia ho toy izao:

Serverless amin'ny racks
Ny fizarana amin'ny asa ao amin'ny Serverless dia mitovy amin'ny miasa amin'ny microservices. Saingy ny microservice dia afaka manao asa maromaro, ary ny asa iray dia tokony hanao izany. Andeha hojerentsika fa ny asa dia ny manangona antontan'isa ary mampiseho azy ireo amin'ny fangatahan'ny mpampiasa. Amin'ny fomba fiasa microservice, asa iray dia tanterahana amin'ny serivisy iray misy teboka roa: manoratra sy mamaky. Amin'ny informatika tsy misy mpizara, ireo dia ho fiasa roa samy hafa izay tsy mifandray. Ny mpamorona dia mitahiry loharanon-karena raha toa ka, ohatra, ny antontan'isa dia havaozina matetika kokoa noho ny alaina.

Ny asa tsy misy mpizara dia tsy maintsy tanterahina ao anatin'ny fotoana fohy (fotoana), izay nofaritan'ny mpanome tolotra. Ohatra, ho an'ny AWS ny fe-potoana dia 15 minitra. Midika izany fa tsy maintsy ovaina ny fiasa efa ela mba hifanaraka amin'ny fepetra takiana - izany no mampiavaka ny Serverless amin'ny teknolojia malaza hafa ankehitriny (container sy Platform as a Service).

Manendry hetsika ho an'ny asa tsirairay izahay. Fihetseham-po iray ho an'ny hetsika iray:

hetsika
Ny hetsika ataon'ny asa

Sarin'ny vokatra efa nampidirina tao amin'ny tahiry.
Ampidiro ny sary ary ampidiro ao amin'ny lahatahiry iray

Nohavaozina tao amin'ny angon-drakitra ny adiresin'ny magazay
Asio toerana vaovao ao anaty sari-tany

Ny mpanjifa no mandoa ny entana
Atombohy ny fanodinana fandoavam-bola

Ny hetsika dia mety ho fangatahana HTTP, angon-drakitra mivantana, filaharana hafatra, sy ny sisa. Ny loharanon-javatra dia fiovana na fisehoan'ny angona. Ankoatr'izay, ny fampandehanana dia azo atosiky ny fameram-potoana.

Nivoatra ny rafitra, ary saika lasa tsy misy mpizara ilay fampiharana. Avy eo dia mankany amin'ny mpanome tolotra izahay.

Avy amin'ny mpanome

Amin'ny ankapobeny, ny informatika tsy misy mpizara dia atolotry ny mpanome tolotra rahona. Hafa ny fiantsoana azy ireo: Azure Functions, AWS Lambda, Google Cloud Functions, IBM Cloud Functions.

Hampiasa ny serivisy amin'ny alΓ lan'ny fampiononana na ny kaonty manokana an'ny mpamatsy izahay. Ny code code dia azo alaina amin'ny iray amin'ireto fomba manaraka ireto:

  • manorata kaody amin'ny tonian-dahatsoratra naorina amin'ny alΓ lan'ny console web,
  • alaivo ny arsiva miaraka amin'ny kaody,
  • miara-miasa amin'ny git repository ho an'ny daholobe na tsy miankina.

Eto isika dia mametraka ny hetsika izay miantso ny asa. Mety tsy hitovy ny andiana hetsika ho an'ny mpamatsy samihafa.

Serverless amin'ny racks

Ny mpamatsy dia nanangana sy nanao automatique ny rafitra Function as a Service (FaaS) amin'ny fotodrafitrasany:

  1. Ny fehezan-dalΓ na miasa dia miafara amin'ny fitahirizana eo amin'ny lafiny mpamatsy.
  2. Rehefa misy zava-mitranga dia apetraka ho azy ao amin'ny mpizara ireo kaontenera misy tontolo voaomana. Ny ohatry ny asa tsirairay dia manana ny fitoerany mitokana.
  3. Avy amin'ny fitahirizana, alefa any amin'ny fitoeran-javatra ny fiasa, kajy ary mamerina ny valiny.
  4. Mitombo ny isan'ny hetsika mifanitsy - mitombo ny isan'ny kaontenera. Ny rafitra mandeha ho azy mizana. Raha tsy miditra amin'ny fiasa ny mpampiasa dia ho tsy mavitrika izany.
  5. Ny mpamatsy dia mametraka ny fotoana tsy miasa ho an'ny kaontenera - raha toa ka tsy miseho ao anaty kaontenera ny fiasa mandritra io fotoana io, dia rava izany.

Amin'izany fomba izany no avoakantsika ny Serverless. Handoa ny serivisy izahay amin'ny fampiasana ny maodely pay-as-you-go ary ho an'ireo fiasa ampiasaina ihany, ary amin'ny fotoana nampiasana azy ihany.

Mba hampahafantarana ny mpamorona ny serivisy, manolotra fitsapana maimaim-poana hatramin'ny 12 volana ny mpamatsy, saingy mametra ny totalin'ny fotoana kajy, ny isan'ny fangatahana isam-bolana, ny vola na ny fanjifana herinaratra.

Ny tombony lehibe amin'ny fiaraha-miasa amin'ny mpamatsy dia ny fahafahana tsy manahy momba ny fotodrafitrasa (servers, milina virtoaly, container). Amin'ny lafiny iray, ny mpamatsy dia afaka mampihatra ny FaaS amin'ny fampiasana ny fivoarany manokana sy amin'ny fampiasana fitaovana open-source. Andeha isika hiresaka momba azy ireo bebe kokoa.

Avy amin'ny lafiny open source

Ny vondrom-piarahamonina open-source dia niasa mavitrika tamin'ny fitaovana tsy misy mpizara nandritra ny roa taona lasa. Ny mpilalao tsena lehibe indrindra dia mandray anjara amin'ny fampandrosoana ny sehatra tsy misy mpizara:

  • Google manolotra ny mpamorona ny fitaovana open-source - knative. IBM, RedHat, Pivotal ary SAP dia nandray anjara tamin'ny fampandrosoana azy;
  • IBM niasa tamina sehatra tsy misy mpizara OpenWhisk, izay lasa tetikasan'ny Apache Foundation avy eo;
  • Microsoft nanokatra ampahany ny kaody sehatra Azure Functions.

Mandeha ihany koa ny fandrosoana amin'ny fitarihana ny rafitra tsy misy mpizara. Kubeless ΠΈ fission napetraka ao anatin'ny cluster Kubernetes efa voaomana mialoha, OpenFaaS miasa miaraka amin'ny Kubernetes sy Docker Swarm. Ny rafitra dia miasa toy ny karazana mpanara-maso - raha angatahina, dia manomana tontolo iainana ao anatin'ny cluster izy io, avy eo dia manomboka asa iray ao.

Ny Frameworks dia mamela toerana ahafahana manamboatra ny fitaovana mifanaraka amin'ny filanao. Noho izany, ao amin'ny Kubeless, ny developer dia afaka manitsy ny fotoana famitana ny asa (180 segondra ny sandan'ny default). Fission, amin'ny fiezahana hamaha ny olan'ny fanombohana mangatsiaka, dia manoro hevitra ny hitazona ny kaontenera sasany mandeha amin'ny fotoana rehetra (na dia mitaky fandaniana amin'ny fotoana fialan-tsasatra aza izany). Ary ny OpenFaaS dia manolotra andiana trigger ho an'ny tsiro sy loko rehetra: HTTP, Kafka, Redis, MQTT, Cron, AWS SQS, NAT sy ny hafa.

Ny torolalana hanombohana dia azo jerena ao amin'ny antontan-taratasy ofisialin'ny rafitra. Ny fiaraha-miasa amin'izy ireo dia mitaky fahaiza-manao kely kokoa noho ny amin'ny fiaraha-miasa amin'ny mpamatsy iray - farafaharatsiny ny fahafahana manangana cluster Kubernetes amin'ny alΓ lan'ny CLI. Amin'ny ankapobeny, ampidiro fitaovana loharano misokatra hafa (ohatra, ny mpitantana ny filaharana Kafka).

Na manao ahoana na manao ahoana ny fiarahantsika amin'ny Serverless - amin'ny alΓ lan'ny mpamatsy na mampiasa loharano misokatra, dia hahazo tombony sy fatiantoka maromaro amin'ny fomba fiasa tsy misy Server.

Raha jerena ny tombony sy ny tsy fahampiana

Ny Serverless dia mamolavola ny hevitra momba ny fotodrafitrasa kaontenera sy ny fomba fiasa microservice, izay ahafahan'ny ekipa miasa amin'ny fomba fiteny maro nefa tsy mifamatotra amin'ny sehatra iray. Notsotsotra ny fanamboarana rafitra ary mora ahitsy ny lesoka. Ny maritrano microservice dia ahafahanao manampy fiasa vaovao amin'ny rafitra haingana kokoa noho ny amin'ny fampiharana monolithic.

Ny serverless dia mampihena ny fotoana fampandrosoana bebe kokoa, mamela ny mpamorona hifantoka fotsiny amin'ny lojikan'ny fandraharahana sy kaody. Vokatr'izany, mihena ny fotoana hivarotana amin'ny fivoarana.

Amin'ny maha-bonus dia mahazo scaling mandeha ho azy ho an'ny entana izahay, ary tsy mandoa afa-tsy ny loharanon-karena ampiasaina izahay ary amin'ny fotoana ampiasaina ihany.

Tahaka ny teknolojia rehetra, ny Serverless dia manana fatiantoka.

Ohatra, ny tsy fahampiana toy izany dia ny fotoana fanombohana mangatsiaka (amin'ny antsalany hatramin'ny 1 segondra ho an'ny fiteny toa ny JavaScript, Python, Go, Java, Ruby).

Amin'ny lafiny iray, raha ny tena izy, ny fotoana fanombohana mangatsiaka dia miankina amin'ny fari-piainana maro: ny fiteny izay nanoratana ny asa, ny isan'ny tranomboky, ny habetsaky ny code, ny fifandraisana amin'ny loharano fanampiny (ny angon-drakitra mitovy na ny serivisy fanamarinana). Koa satria ny developer no mifehy ireo fari-piainana ireo, dia afaka mampihena ny fotoana fanombohana izy. Saingy amin'ny lafiny iray, ny mpamorona dia tsy afaka mifehy ny fotoana fanombohana ny kaontenera - miankina amin'ny mpamatsy izany.

Ny fanombohana mangatsiaka dia mety hivadika ho fanombohana mafana rehefa mampiasa indray ny kaontenera natomboky ny hetsika teo aloha ny fiasa iray. Ity toe-javatra ity dia hitranga amin'ny tranga telo:

  • raha mampiasa matetika ny serivisy ny mpanjifa ary mitombo ny isan'ny antso amin'ny asa;
  • raha ny mpamatsy, ny sehatra na ny rafitra dia mamela anao hitazona ny kaontenera sasany mandeha amin'ny fotoana rehetra;
  • raha miasa amin'ny fameram-potoana ny mpamorona (milaza isaky ny 3 minitra).

Ho an'ny fampiharana maro dia tsy olana ny fanombohana mangatsiaka. Eto ianao dia mila manorina amin'ny karazana sy ny asan'ny serivisy. Ny fahataran'ny fanombohana iray segondra dia tsy manakiana foana ho an'ny fampiharana ara-barotra, fa mety ho lasa fanakianana ho an'ny serivisy ara-pitsaboana. Amin'ity tranga ity, ny fomba tsy misy mpizara dia mety tsy mety intsony.

Ny tsy fahampian'ny Serverless manaraka dia ny faharetan'ny asa iray (fotoana tsy maintsy anaovana ny asa).

Saingy, raha tsy maintsy miasa amin'ny asa maharitra ianao dia afaka mampiasa maritrano hybrid - manambatra ny Serverless amin'ny teknolojia hafa.

Tsy ny rafitra rehetra dia afaka miasa amin'ny alΓ lan'ny rafitra tsy misy serivisy.

Ny fampiharana sasany dia mbola hitahiry angona sy fanjakana mandritra ny famonoana. Ny maritrano sasany dia hijanona ho monolithic ary ny endri-javatra sasany dia haharitra ela. Na izany aza (toy ny teknolojia rahona ary avy eo kaontenera), ny Serverless dia teknolojia manana hoavy tsara.

Amin'ity sehatra ity, tiako ny hiroso amin'ny olana amin'ny fampiasana ny fomba tsy misy Server.

Avy amin'ny lafiny fampiharana

Ho an'ny 2018, ny isan-jaton'ny fampiasana tsy misy mpizara nitombo in-dray sy tapany. Anisan'ireo orinasa efa nampihatra ny teknolojia amin'ny tolotr'izy ireo ny tsena goavana toy ny Twitter, PayPal, Netflix, T-Mobile, Coca-Cola. Amin'izany fotoana izany, mila mahatakatra ianao fa ny Serverless dia tsy fanafody, fa fitaovana hamahana olana maromaro:

  • Ampihena ny fotoana fitsaharana loharanon-karena. Tsy ilaina ny mitazona milina virtoaly foana ho an'ny serivisy izay manana antso vitsy.
  • Manaova angona amin'ny lalitra. Compress sary, tapaho ny fiaviana, manova horonan-tsary, miasa miaraka amin'ny sensor IoT, manao asa matematika.
  • "Apetaho" ny serivisy hafa miaraka. Git repository miaraka amin'ny programa anatiny, chat bot amin'ny Slack miaraka amin'i Jira ary kalandrie.
  • Ampifandanja ny entana. Andeha hojerentsika akaiky eto.

Andeha hatao hoe misy tolotra mahasarika olona 50. Eo ambaniny dia misy milina virtoaly misy fitaovana malemy. Indraindray dia mitombo be ny enta-mavesatra amin'ny serivisy. Avy eo ny fitaovana malemy dia tsy afaka miatrika.

Azonao atao ny mampiditra balancer ao amin'ny rafitra izay hizara ny entana, ohatra, amin'ny milina virtoaly telo. Amin'ity dingana ity dia tsy afaka maminavina tsara ny enta-mavesatra isika, noho izany dia mitazona loharanon-karena sasany mandeha "mitahiry". Ary mandoa mihoatra noho ny fotoana fiatoana izahay.

Amin'ny toe-javatra toy izany, afaka manatsara ny rafitra amin'ny alΓ lan'ny fomba hybrid isika: mamela milina virtoaly iray ao ambadiky ny mpandrindra entana ary mametraka rohy mankany amin'ny Serverless Endpoint miaraka amin'ny fiasa. Raha mihoatra ny tokonam-baravarana ny enta-mavesatra, dia manokatra trangam-pahombiazana izay mandray ny ampahany amin'ny fanodinana ny fangatahana ny mpandrindra.

Serverless amin'ny racks
Noho izany, ny Serverless dia azo ampiasaina amin'ny toerana ilΓ na ny fikarakarana fangatahana marobe tsy matetika, fa amin'ny fomba mafonja. Amin'ity tranga ity, ny fampandehanana fiasa maromaro mandritra ny 15 minitra dia mahasoa kokoa noho ny fitazonana milina virtoaly na mpizara amin'ny fotoana rehetra.

Miaraka amin'ny tombony rehetra amin'ny informatika tsy misy mpizara, alohan'ny fampiharana, dia tokony handinika aloha ny lojika fampiharana ianao ary hahatakatra izay olana azon'ny Serverless mamaha amin'ny tranga iray manokana.

Tsy misy mpizara sy Selectel

Ao amin'ny Selectel isika dia efa asa tsotra miaraka amin'ny Kubernetes amin'ny alalan'ny tontonana fanaraha-maso. Ankehitriny dia manangana sehatra FaaS manokana izahay. Tianay ireo mpamorona mba ho afaka mamaha ny olan'izy ireo amin'ny fampiasana tsy misy Server amin'ny alΓ lan'ny interface mora sy mora.

Raha manana hevitra momba ny sehatra FaaS mety indrindra ianao ary ny fomba tianao hampiasana tsy misy Server amin'ny tetikasanao dia zarao amin'ny fanehoan-kevitra. Horaisinay ao an-tsaina ny fanirianao rehefa mamolavola ny sehatra.
 
Fitaovana ampiasaina amin'ny lahatsoratra:

Source: www.habr.com

Add a comment