Malebela le lisebelisoa tsa ho aha lits'ebetso tse se nang seva

Malebela le lisebelisoa tsa ho aha lits'ebetso tse se nang seva
Le hoja theknoloji e se nang server e fumane botumo ka potlako lilemong tsa morao tjena, ho ntse ho e-na le likhopolo tse ngata tse fosahetseng le tšabo tse amanang le tsona. Ho itšetleha ka barekisi, lisebelisoa, taolo ea litšenyehelo, qalo e batang, ho beha leihlo, le bophelo ba nts'etsopele ke lihlooho tse chesang ha ho tluoa ho mahlale a se nang seva. Sehloohong sena, re tla hlahloba tse ling tsa lihlooho tse boletsoeng, hammoho le ho arolelana malebela le likhokahano ho mehloli e thusang ea tlhaiso-leseling ho thusa ba qalang ho theha lits'ebetso tse matla, tse tenyetsehang, le tse theko e phahameng tse se nang li-server.

Maikutlo a Fosahetseng ka Serverless Technologies

Batho ba bangata ba nahana hore ts'ebetso e se nang seva le e se nang seva (E sebetsa joalo ka Tšebeletso, FaaS) li batla li tšoana. Sena se bolela hore phapang ha e kholo haholo mme ho loketse ho hlahisa ntho e ncha. Leha AWS Lambda e ne e le e 'ngoe ea linaleli tsa mehleng e se nang seva ebile e le e' ngoe ea likarolo tse tsebahalang haholo tsa meaho e se nang seva, leha ho le joalo, moaho ona o feta FaaS.

Molao-motheo oa motheo oa mahlale a se nang seva ke hore ha ua tlameha ho tšoenyeha ka ho laola le ho eketsa lisebelisoa tsa hau tsa motheo, u lefa feela seo u se sebelisang. Litšebeletso tse ngata li lumellana le litekanyetso tsena - AWS DynamoDB, S3, SNS kapa SQS, Graphcool, Auth0, Hona joale, Netlify, Firebase le tse ling tse ngata. Ka kakaretso, ho hloka seva ho bolela ho sebelisa matla a felletseng a komporo ea leru ntle le tlhoko ea ho laola meaho le ho e ntlafatsa bakeng sa ho lekanya. Ho boetse ho bolela hore tshireletso boemong ba meralo ya motheo ha e sa le ntho eo o amehileng ka yona, e leng molemo o moholo ho latela bothata le ho rarahana ha ho fihlella maemo a tshireletso. Qetellong, ha ho hlokahale hore u reke lisebelisoa tseo u li filoeng.

Serverless e ka nkoa e le "boemo ba kelello": maikutlo a itseng ha ho etsoa litharollo. Qoba mekhoa e hlokang tlhokomelo ea lisebelisoa leha e le life. Ka mokhoa o se nang seva, re qeta nako re rarolla mesebetsi e amang morero ka kotloloho mme e tlisa melemo ho basebelisi ba rona: re theha menahano e tsitsitseng ea khoebo, re nts'etsapele lihokelo tsa basebelisi, le ho nts'etsapele li-API tse ikamahanyang le maemo le tse tšepahalang.

Mohlala, haeba ho khonahala ho qoba ho laola le ho boloka sethala sa mahala sa ho batla mongolo, ke seo re tla se etsa. Mokhoa ona oa ho haha ​​​​likopo o ka potlakisa haholo nako ea ho rekisa, hobane ha ho sa hlokahala hore u nahane ka ho laola lisebelisoa tse rarahaneng. Felisa boikarabello le litšenyehelo tsa taolo ea litšebeletso tsa motheo 'me u tsepamise maikutlo ho aheng lits'ebetso le lits'ebeletso tseo bareki ba li hlokang. Patrick Debois o bitsitse mokhoa ona 'sebetsa', lentsoe lena le amoheloa sechabeng se se nang seva. Mesebetsi e lokela ho nkoa e le sehokelo sa lits'ebeletso e le li-module tse ka sebelisoang (ho e-na le ho tsamaisa laeborari eohle kapa sesebelisoa sa webo). Sena se fana ka granularity e makatsang bakeng sa ho laola thomello le liphetoho ts'ebelisong. Haeba u sa khone ho tsamaisa mesebetsi ka tsela ena, joale e ka bontša hore mesebetsi e etsa mesebetsi e mengata haholo 'me e hloka ho tsosolosoa.

Ba bang ba ferekanngoa ke ho itšetleha ka morekisi ha ba ntse ba hlahisa lisebelisoa tsa maru. Ho joalo le ka mahlale a se nang seva, 'me sena ha se maikutlo a fosahetseng. Boiphihlelong ba rona, ho aha lits'ebetso tse se nang seva ho AWS, ho kopantsoe le bokhoni ba AWS Lambda ba ho bokella lits'ebeletso tse ling tsa AWS hammoho, ke karolo ea matla a meralo e se nang seva. Ena ke mohlala o motle oa synergy, ha phello ea motsoako e feta feela kakaretso ea mantsoe. Ho leka ho qoba ho itšetleha ka barekisi ho ka baka mathata le ho feta. Ha o sebetsa ka lijana, ho bonolo ho laola sebaka sa hau sa boits'oaro lipakeng tsa bafani ba maru. Empa ha ho tluoa tabeng ea litharollo tse se nang seva, boiteko bo ke ke ba lefa, haholo-holo haeba litšenyehelo li nkoa e le ho tloha qalong. Etsa bonnete ba hore u fumana hore na barekisi ba fana ka litšebeletso joang. Litšebeletso tse ling tse khethehileng li itšetlehile ka lintlha tsa ho kopanya le barekisi ba bang 'me li ka fana ka khokahanyo ea plug-and-play ka ntle ho lebokose. Ho bonolo ho fana ka mohala oa Lambda ho tsoa ho API ea heke ho feta ho emela kopo ho sets'oants'o se itseng kapa mohlala oa EC2. Graphcool e fana ka tlhophiso e bonolo le Auth0, e bonolo ho feta ho sebelisa lisebelisoa tsa netefatso ea motho oa boraro.

Ho khetha morekisi ea nepahetseng bakeng sa kopo ea hau e se nang seva ke qeto ea meralo. Ha u etsa kopo, ha ua lebella hore ka letsatsi le leng u tla khutlela ho li-server tse laolang. Ho khetha morekisi oa leru ha ho fapane le ho khetha ho sebelisa lijana kapa database, kapa esita le puo ea lenaneo.

Nahana ka:

  • Ke litšebeletso life tseo u li hlokang le hore na ke hobane'ng.
  • Ke litšebeletso life tse fanang ka bafani ba maru le hore na u ka li kopanya joang le tharollo ea hau ea FaaS e khethiloeng.
  • Ke lipuo life tsa lenaneo tse tšehelitsoeng (ka ho thaepa ka matla kapa ka mokhoa o tsitsitseng, ho hlophisitsoe kapa ho hlalosoa, li-benchmarks ke life, ts'ebetso ea ho qala ho batang ke eng, mohloli o bulehileng oa tikoloho, jj.).
  • Litlhoko tsa hau tsa ts'ireletso ke life (SLA, 2FA, OAuth, HTTPS, SSL, joalo-joalo).
  • Mokhoa oa ho laola CI/CD ea hau le potoloho ea ntlafatso ea software.
  • Ke litharollo life tsa lisebelisoa tsa motheo tseo u ka nkang monyetla ka tsona.

Haeba o eketsa ts'ebeliso e teng mme o eketsa ts'ebetso e se nang seva, sena se ka fokotsa bokhoni bo teng ka mokhoa o itseng. Leha ho le joalo, hoo e batlang e le mahlale ohle a se nang seva a fana ka mofuta o itseng oa API (ka REST kapa mela ea melaetsa) e u lumellang hore u thehe likeketso tse ikemetseng ntle le motheo oa kopo le ka kopanyo e bonolo. Batla litšebeletso tse nang le li-API tse hlakileng, litokomane tse ntle, le sechaba se matla, 'me u ke ke ua tsamaea hampe. Bonolo ba ho kopanya hangata e ka ba metric ea bohlokoa, 'me mohlomong ke le leng la mabaka a mantlha a entseng hore AWS e atlehe hakana ho tloha ha Lambda e lokolloa ka 2015.

Ha Serverless E Molemo

Theknoloji e se nang seva e ka sebelisoa hoo e ka bang hohle. Leha ho le joalo, melemo ea bona ha e felle feela ka mokhoa o le mong oa tšebeliso. Tšitiso ea ho kena bakeng sa cloud computing kajeno e tlase haholo ka lebaka la mahlale a se nang server. Haeba bahlahisi ba na le mohopolo, empa ba sa tsebe ho laola lits'ebetso tsa maru le ho ntlafatsa litšenyehelo, ha ho hlokahale hore ba batle mofuta oa moenjiniere ho e etsa. Haeba motho ea qalang a batla ho aha sethala empa a tšaba hore litšenyehelo li ka tsoa taolong, li ka fetohela ho litharollo tse se nang seva.

Ka lebaka la ho boloka litšenyehelo le boiketlo ba ho eketsa, litharollo tse se nang seva li sebetsa ka mokhoa o ts'oanang bakeng sa litsamaiso tsa ka hare le tsa ka ntle, ho fihlela kopo ea websaete e nang le bamameli ba limilione tse ngata. Liakhaonto li lekantsoe ho fapana le li-euro, empa ka lisente. Ho hira mohlala o bonolo oa AWS EC2 (t1.micro) bakeng sa khoeli ho tla bitsa € 15, le haeba u sa etse letho ka eona (ke mang ea sa kang a lebala ho e tima?!). Ha ho bapisoa, ho fihlela boemo bona ba tšebeliso ea nako ka nako e ts'oanang, o tla hloka ho matha Lambda ea 512 MB bakeng sa motsotsoana o le mong makhetlo a ka bang limilione tse 1. 'Me haeba u sa sebelise tšobotsi ena, joale ha u lefe letho.

Hobane serverless e tsamaisoa haholo ke liketsahalo, ho bonolo ho eketsa lisebelisoa tse se nang seva ho litsamaiso tsa khale. Ka mohlala, ho sebelisa AWS S3, Lambda, le Kinesis, u ka etsa tšebeletso ea analytics bakeng sa tsamaiso ea khale ea thekiso e ka fumanang data ka API.

Li-platform tse ngata tse se nang seva li tšehetsa lipuo tse ngata. Hangata ke Python, JavaScript, C #, Java le Go. Hangata ha ho na lithibelo tšebelisong ea lilaebrari ka lipuo tsohle, kahoo u ka sebelisa lilaebrari tseo u li ratang tsa mehloli e bulehileng. Leha ho le joalo, ho eletsoa hore u se ke ua hlekefetsa ho itšetleha ka eona e le hore mesebetsi ea hau e sebetse hantle 'me u se ke ua hlokomoloha melemo ea scalability e kholo ea lits'ebetso tsa hau tse se nang seva. Ha liphutheloana tse ngata li hloka ho kenngoa ka har'a setshelo, ho tla nka nako e telele ho qala ho bata.

Qaleho e batang ke ha u qala ho hloka ho qala setshelo, nako ea ho sebetsa, le sesebelisoa sa liphoso pele u li sebelisa. Ka lebaka la sena, tieho ea ts'ebetsong ea mesebetsi e ka ba metsotsoana e 3, 'me sena ha se khetho e ntle ka ho fetisisa bakeng sa basebelisi ba hlokang mamello. Leha ho le joalo, serame se qala ho etsahala mohala oa pele ka mor'a metsotso e seng mekae ea ts'ebetso e sa sebetseng. Batho ba bangata ba nka sena e le khopiso e nyane e ka sebetsoang ka ho ts'oara ts'ebetso khafetsa ho e boloka e sa sebetse. Kapa ba hlokomoloha ntlha ena ka ho feletseng.

Leha AWS e lokollotsoe database ea SQL e se nang seva Serverless AuroraLeha ho le joalo, li-database tsa SQL ha li tšoanelehe bakeng sa kopo ena, kaha li itšetlehile ka likhokahano ho etsa litšebelisano, tse ka fetohang bothata ka potlako ka sephethephethe se seholo ho AWS Lambda. Ee, bahlahisi ba lula ba ntlafatsa Serverless Aurora, 'me u lokela ho e leka, empa kajeno NoSQL tharollo joalo ka dynamodb. Leha ho le joalo, ha ho pelaelo hore boemo bona bo tla fetoha haufinyane.

Setsi sa lisebelisoa se boetse se beha lithibelo tse ngata, haholo-holo lefapheng la tlhahlobo ea lehae. Leha ho na le litharollo tse kang Docker-Lambda, DynamoDB Local le LocalStack, li hloka mosebetsi o boima le palo e kholo ea tlhophiso. Leha ho le joalo, merero ena kaofela e ntlafalitsoe ka matla, kahoo ke taba ea nako feela pele sephutheloana sa lisebelisoa se fihla boemong boo re bo hlokang.

Tšusumetso ea litheknoloji tse se nang seva molemong oa ntlafatso

Hobane lisebelisoa tsa hau ke tlhophiso feela, o ka hlalosa le ho tsamaisa khoutu o sebelisa mangolo, joalo ka likhetla. Kapa u ka sebelisa litharollo tsa sehlopha sa configuration-as-code joaloka AWS Cloud Formation. Leha ts'ebeletso ena e sa fane ka tlhophiso bakeng sa libaka tsohle, e u lumella ho hlalosa lisebelisoa tse ikhethileng tseo u ka li sebelisang e le mesebetsi ea Lambda. Ke hore, moo CloudFormation e u hlolehang, u ka ngola sesebelisoa sa hau (Lambda function) se tla koala lekhalo lena. Ka tsela ena o ka etsa eng kapa eng, esita le ho hlophisa lintho tse itšetlehileng ka ntle ho tikoloho ea hau ea AWS.

Hobane kaofela e mpa e le tlhophiso, o ka khona ho etsa lingoloa tsa hau tsa phepelo bakeng sa libaka tse ikhethileng, libaka le basebelisi, haholoholo haeba o sebelisa tharollo ea lits'oants'o tse kang CloudFormation. Mohlala, o ka tsamaisa kopi ea meaho bakeng sa lekala le leng le le leng sebakeng sa polokelo e le hore u ka li leka ka botlalo li le mong nakong ea nts'etsopele. Sena se potlakisa maikutlo a batho ba ntlafatsang haholo ha ba batla ho utloisisa hore na khoutu ea bona e sebetsa ka mokhoa o lekaneng sebakeng se phelang. Baokameli ha ba hloke ho tšoenyeha ka litšenyehelo tsa ho tsamaisa libaka tse ngata, kaha ba lefella feela tšebeliso ea sebele.

Li-DevOps ha li na matšoenyeho a fokolang kaha li hloka feela ho etsa bonnete ba hore bahlahisi ba na le tlhophiso e nepahetseng. Ha u sa hloka ho laola maemo, li-balancers, kapa lihlopha tsa ts'ireletso. Ka hona, lentsoe NoOps le ntse le sebelisoa ka ho eketsehileng, le hoja ho ntse ho le bohlokoa ho khona ho lokisa lisebelisoa tsa motheo, haholo-holo ha ho tluoa tabeng ea tlhophiso ea IAM le optimization ea lisebelisoa tsa leru.

Ho na le lisebelisoa tse matla haholo tsa ho beha leihlo le tsa pono tse kang Epsagon, Thundra, Dashbird le IOPipe. Li u lumella ho lekola boemo ba hajoale ba lits'ebetso tsa hau tse se nang seva, ho fana ka ho rema lifate le ho ts'oara, ho ts'oara metrics ea ts'ebetso le mefokolo ea meralo, ho etsa tlhahlobo ea litšenyehelo le ho bolela esale pele, le tse ling. Ha ba fe baenjiniere ba DevOps feela, bahlahisi le litsebi tsa meralo pono e felletseng ea ts'ebetso ea ts'ebetso, empa hape ba lumella batsamaisi ho beha maemo leihlo ka nako ea nnete, ka litšenyehelo tsa lisebelisoa tsa motsotsoana le ponelopele ea litšenyehelo. Ho thata haholo ho hlophisa sena ka lisebelisoa tse laoloang.

Ho rala lits'ebetso tse se nang seva ho bonolo haholo hobane ha ho hlokahale hore u sebelise li-server tsa marang-rang, u tsamaise mechini kapa li-container tsa sebele, li-server tsa patch, li-system tse sebetsang, li-gateway tsa marang-rang, joalo-joalo. tharollo.khoebo le litlhoko tsa bareki.

Le hoja sephutheloana sa lisebelisoa se ka ba betere (e ntlafala letsatsi le leng le le leng), bahlahisi ba ka tsepamisa maikutlo ho kenya ts'ebetsong mohopolo oa khoebo le ho aba hantle ho rarahana ha ts'ebeliso ho lits'ebeletso tse fapaneng ka har'a meaho. Taolo ea ts'ebeliso e se nang seva e ipapisitse le liketsahalo mme e hanoa ke mofani oa maru (mohlala, SQS, liketsahalo tsa S3 kapa melapo ea DynamoDB). Ka hona, bahlahisi ba hloka feela ho ngola logic ea khoebo ho arabela liketsahalong tse itseng, 'me ha ho hlokahale hore u tšoenyehe ka mokhoa o molemo ka ho fetisisa oa ho kenya ts'ebetsong li-database le mela ea melaetsa, kapa mokhoa oa ho hlophisa mosebetsi o nepahetseng ka data ho li-storages tse itseng tsa hardware.

Khoutu e ka tsamaisoa le ho lokisoa sebakeng sa heno, joalo ka ts'ebetso efe kapa efe ea ntlafatso. Teko ea yuniti e ntse e tšoana. Bokhoni ba ho kenya ts'ebetso ea lisebelisoa tsohle tse nang le tlhophiso ea li-stack tse tloaelehileng li lumella bahlahisi ho fumana maikutlo a bohlokoa kapele ntle le ho nahana ka litšenyehelo tsa tlhahlobo kapa phello ho tikoloho e laoloang e theko e boima.

Lisebelisoa le mekhoa ea ho haha ​​​​lisebelisoa tse se nang seva

Ha ho na mokhoa o ikhethileng oa ho aha lits'ebetso tse se nang seva. Hape le sehlopha sa litšebeletso bakeng sa mosebetsi ona. AWS ke moetapele har'a litharollo tse matla tse se nang seva kajeno, empa sheba hape Google Cloud, nako и Setsi sa mollo. Haeba u sebelisa AWS, mokhoa o khothaletsoang oa ho bokella lits'ebetso ke Sesebelisoa sa Sesebelisoa sa Serverless (SAM), haholo ha o sebelisa C #, hobane Visual Studio e na le lisebelisoa tse ntle haholo. SAM CLI e ka etsa sohle seo Visual Studio e ka se etsang, kahoo u ke ke ua lahleheloa ke letho haeba u fetohela ho IDE e 'ngoe kapa mohlophisi oa mongolo. Ehlile, SAM e sebetsa le lipuo tse ling hape.

Haeba u ngola ka lipuo tse ling, Serverless Framework ke sesebelisoa se bulehileng se bulehileng se u lumellang hore u hlophise eng kapa eng ka lifaele tsa tlhophiso tsa YAML tse matla haholo. Serverless Framework e boetse e ts'ehetsa lits'ebeletso tse fapaneng tsa maru, kahoo re e khothaletsa ho ba batlang tharollo ea maru a mangata. E na le sechaba se seholo se thehileng sehlopha sa li-plugins bakeng sa tlhoko efe kapa efe.

Bakeng sa tlhahlobo ea lehae, lisebelisoa tsa mohloli o bulehileng Docker-Lambda, Serverless Local, DynamoDB Local, le LocalStack li loketse hantle. Litheknoloji tse se nang lisebelisoa li ntse li le maemong a tsona a pele a nts'etsopele, joalo ka lisebelisoa tsa tsona, kahoo ha u theha maemo a thata a liteko, u tla tlameha ho sebetsa ka thata. Leha ho le joalo, ho beha feela stack tikolohong le ho etsa liteko moo ho theko e tlase haholo. 'Me ha ho hlokahale hore u etse kopi e nepahetseng ea sebaka sa sebaka sa maru.

Sebelisa AWS Lambda Layers ho fokotsa boholo ba liphutheloana tse rometsoeng le ho potlakisa ho khoasolla.

Sebelisa lipuo tse nepahetseng tsa lenaneo bakeng sa mesebetsi e itseng. Lipuo tse fapaneng li na le melemo le mathata a tsona. Ho na le li-benchmarks tse ngata, empa JavaScript, Python, le C # (.NET Core 2.1+) ke baetapele ho latela ts'ebetso ea AWS Lambda. AWS Lambda haufinyane e hlahisitse Runtime API, e u lumellang hore u hlalose puo le tikoloho eo u e batlang, kahoo etsa liteko.

Boloka boholo ba liphutheloana bo le nyane bakeng sa ho romelloa. Ha li le nyane, li jarisa kapele. Qoba ho sebelisa lilaebrari tse kholo, haholo haeba u sebelisa likarolo tse 'maloa tse tsoang ho tsona. Haeba u ntse u etsa lenaneo ho JavaScript, sebelisa sesebelisoa sa ho aha joalo ka Webpack ho ntlafatsa moaho oa hau mme o kenyelle feela seo u hlileng u se hlokang. .NET Core 3.0 e na le QuickJit le Tiered Compilation e ntlafatsang ts'ebetso le ho thusa haholo ha serame se qala.

Ho itšetleha ha mesebetsi e se nang seva liketsahalong ho ka etsa hore ho be thata ho hokahanya mohopolo oa khoebo qalong. Tabeng ena, mela ea melaetsa le mechini ea mmuso e ka ba molemo haholo. Mesebetsi ea Lambda e ka bitsana, empa etsa sena feela haeba u sa lebella karabo ("mollo 'me u lebale") - ha u batle ho lefisoa ho emela hore mosebetsi o mong o phethe. Melaetsa ea melaetsa e bohlokoa bakeng sa ho khetholla likarolo tsa khoebo, ho laola mathata a ts'ebeliso, le ho sebetsana le litšebelisano (ho sebelisa mela ea FIFO). Mesebetsi ea AWS Lambda e ka abeloa mela ea SQS e le mela e tsitsitseng e bolokang melaetsa e hlōlehileng bakeng sa tlhahlobo ea morao-rao. AWS Step Functions (mechini ea mmuso) e bohlokoa haholo bakeng sa ho laola lits'ebetso tse rarahaneng tse hlokang ketane ea mesebetsi. Sebakeng sa tšebetso ea Lambda e bitsang tšebetso e 'ngoe, mehato ea mehato e ka hokahanya liphetoho tsa mmuso, ea fetisa data lipakeng tsa mesebetsi, le ho laola maemo a lefats'e a mesebetsi. Sena se u nolofalletsa ho hlalosa maemo a ho leka hape, kapa seo u lokelang ho se etsa ha phoso e itseng e etsahala - sesebelisoa se matla haholo maemong a itseng.

fihlela qeto e

Lilemong tsa morao tjena, theknoloji e se nang server e ntse e tsoela pele ka lebelo le sa lebelloang. Ho na le maikutlo a fosahetseng a amanang le phetoho ena ea paradigm. Ka ho tlosa lits'ebetso tsa ts'ebetso le taolo ea sekhahla, litharollo tse se nang seva li fana ka melemo e mengata, ho tloha ho nts'etsopele e nolofalitsoeng le lits'ebetso tsa DevOps ho ea ho phokotso e kholo ea litšenyehelo tsa ts'ebetso.
Le hoja mokhoa o se nang seva o se na litšitiso tsa oona, ho na le mekhoa e matla ea meralo e ka sebelisoang ho haha ​​​​lik'homphieutha tse se nang seva kapa ho kopanya likarolo tse se nang seva ho meaho e teng.

Source: www.habr.com

Eketsa ka tlhaloso