Nga tohutohu me nga rauemi mo te hanga tono kore-tumau

Nga tohutohu me nga rauemi mo te hanga tono kore-tumau
Ahakoa kua tere te rongonui o nga hangarau karekau i nga tau tata nei, he maha tonu nga pohehe me nga mataku e pa ana ki a raatau. Ko te ti'aturi o te kaihoko, te taputapu, te whakahaere utu, te tiimata makariri, te aro turuki me te huringa ora whanaketanga he kaupapa wera katoa ina tae mai ki nga hangarau kore utu. I roto i tenei tuhinga, ka tirotirohia e matou etahi o nga kaupapa kua whakahuahia, me te tiri i nga tohutohu me nga hononga ki nga puna korero awhina hei awhina i te hunga timata ki te hanga tono kaha, ngawari, me te utu kore utu.

Nga Pohehe Mo Nga Hangarau Kore Tumau

He maha nga tangata e whakaaro ana ko te tukatuka karekau me te kore kaitoro (Mahi hei Ratonga, FaaS) tata tonu te mea. Ko te tikanga ko te rereketanga kaore i te tino nui, a he mea tika kia whakauruhia he mea hou. Ahakoa ko AWS Lambda tetahi o nga whetu o te wa tino rangatira kore-tumau me tetahi o nga mea rongonui o te hoahoanga kore-kaupapa, heoi, he nui ake tenei hoahoanga i te FaaS.

Ko te maapono taketake i muri i nga hangarau kore-tumau ko te kore koe e manukanuka ki te whakahaere me te whakarahi i to hanganga, ka utua noa e koe nga mea e whakamahia ana e koe. He maha nga ratonga e uru ana ki enei paearu - AWS DynamoDB, S3, SNS, SQS ranei, Graphcool, Auth0, Now, Netlify, Firebase me te tini ke atu. I te nuinga o te waa, ko te kore o te tūmau ko te whakamahi i te mana katoa o te rorohiko kapua me te kore e hiahia ki te whakahaere i nga hanganga me te arotau mo te tauine. Ko te tikanga ko te haumarutanga i te taumata hangahanga kua kore e awangawanga koe, he painga nui na te uaua me te uaua o te whakatutuki i nga paerewa haumarutanga. Ka mutu, kaore koe e hoko i nga hanganga kua whakaratohia ki a koe.

Ka taea te kiia ko te Serverless he "ahua o te hinengaro": he hinengaro i te wa e hoahoa ana i nga otinga. A ape i nga huarahi e hiahia ana ki te tiaki i tetahi hanganga. Ma te huarahi kore-tumau, ka whakapau wa matou ki te whakaoti i nga mahi e pa ana ki te kaupapa me te whai hua ki a matou kaiwhakamahi: ka waihangahia e matou te arorau pakihi tauwhiro, te whakawhanake atanga kaiwhakamahi, me te whakawhanake i nga API urutau me te pono.

Hei tauira, mena ka taea te karo i te whakahaere me te pupuri i te papa rapu kuputuhi kore utu, katahi ka mahia e matou. Ko tenei huarahi ki te hanga tono ka taea te tere ake i te wa ki te maakete, na te mea kaore koe e whai whakaaro ki te whakahaere i nga hanganga uaua. Whakamutua nga kawenga me nga utu mo te whakahaere hanganga me te aro ki te hanga i nga tono me nga ratonga e hiahiatia ana e to kaihoko. I kii a Patrick Debois i tenei huarahi 'mahi mahi', ka tangohia te kupu i roto i te hapori karekau. Ko nga mahi me whakaaro he hononga ki nga ratonga hei waahanga tuku (hei utu mo te tuku i te whare pukapuka katoa, te tono paetukutuku ranei). Ma tenei ka tino pai te mahi mo te whakahaere tukunga me nga huringa ki te tono. Ki te kore e taea e koe te tuku taumahi penei, ka tohu pea he maha rawa nga mahi a nga taumahi me te whakahoki ano.

Ko etahi kei te raruraru na te whakawhirinaki ki te kaihoko i te wa e whakawhanake ana i nga tono kapua. He pera ano ki nga hangarau kore-tumau, a, ehara tenei i te pohehe. I roto i o maatau wheako, ko te hanga tono kore-tumau i runga i te AWS, me te kaha o AWS Lambda ki te whakakotahi i etahi atu ratonga AWS, he waahanga o te kaha o nga hoahoanga kore-tumau. He tauira pai tenei mo te whakakotahitanga, i te mea ko te hua o te huinga he nui ake i te huinga o nga kupu. Ko te ngana ki te karo i te whakawhirinaki ki nga kaihoko ka nui ake nga raru. I te wa e mahi ana me nga ipu, he maamaa ake te whakahaere i to ake paparanga tangohanga i waenga i nga kaiwhakarato kapua. Engari ka tae mai ki nga otinga kore-tumau, karekau e whai hua te mahi, ina koa ka whakaarohia te whai huatanga o te utu mai i te timatanga. Kia mohio koe me pehea te tuku ratonga a nga kaihoko. Ko etahi o nga ratonga motuhake e whakawhirinaki ana ki nga waahi whakauru me etahi atu kaihoko ka tuku hononga mono-a-takaro mai i te pouaka. He maamaa ake te tuku waea Lambda mai i te waahi mutunga API i te tuku i te tono ki etahi ipu, tauira EC2 ranei. Ka whakarato a Graphcool i te whirihoranga ngawari me te Auth0, he maamaa ake i te whakamahi taputapu motuhēhēnga tuatoru.

Ko te whiriwhiri i te kaihoko tika mo to tono kore utu he whakatau hoahoanga. Ka waihangahia e koe he tono, kaore koe e tumanako kia hoki mai tetahi ra ki te whakahaere i nga tūmau. Ko te kowhiri i te kaihoko kapua he rereke ki te kowhiri ki te whakamahi ipu, papaa raraunga ranei, ahakoa he reo whakangao.

Whakaarohia:

  • He aha nga ratonga e hiahia ana koe me te aha.
  • He aha nga ratonga ka tukuna e nga kaiwhakarato kapua me te pehea e taea ai e koe te whakakotahi me to otinga FaaS i whiriwhiria e koe.
  • He aha nga reo whakamaarama e tautokohia ana (me te tuhi hihiko, te pateko ranei, ka whakahiatohia, ka whakamaoritia ranei, he aha nga tohu, he aha nga mahi i te tiimata makariri, he aha te punaha rauwiringa kaiao tuwhera, aha atu).
  • He aha o whakaritenga haumarutanga (SLA, 2FA, OAuth, HTTPS, SSL, etc.).
  • Me pehea te whakahaere i o huringa CI/CD me te whanaketanga rorohiko.
  • Ko tehea otinga hanganga-hei-waehere ka taea e koe te whakamahi.

Mena ka whakaroahia e koe tetahi tono o mua me te taapiri i nga taumahinga kore-tumau, ka iti pea nga waahanga e waatea ana. Heoi, tata ki te katoa o nga hangarau kore-tumau e whakarato ana i etahi momo API (ma te REST me nga rarangi karere) ka taea e koe te hanga toronga motuhake mai i te kaupapa tono me te whakauru ngawari. Rapua nga ratonga me nga API maamaa, nga tuhinga pai, me te hapori kaha, kaore koe e he. Ko te ngawari o te whakaurunga ka noho hei ine matua, a koinei pea tetahi o nga tino take i tino angitu ai te AWS mai i te tukunga o Lambda i te tau 2015.

I te wa e pai ana te Serverless

Ka taea te whakamahi i nga hangarau kore-tumau tata ki nga waahi katoa. Heoi, ko o raatau painga kaore i te iti ki te huarahi tono kotahi anake. He iti rawa te arai ki te urunga mo te rorohiko kapua i tenei ra na nga hangarau kore-tumau. Mena he whakaaro nga kaiwhakawhanake, engari kaore ratou e mohio ki te whakahaere i nga hanganga kapua me te arotau i nga utu, karekau e hiahia ki te rapu i tetahi momo miihini hei mahi. Mena kei te pirangi tetahi whakaoho ki te hanga papa engari kei te mataku kei kore te mana o nga utu, ka ngawari te huri ki nga otinga kore-tumau.

Na te penapena utu me te ngawari o te whakatauine, he rite tonu te whai waahi o nga otinga kore-tumau mo nga punaha o roto, o waho hoki, tae atu ki te tono paetukutuku me te tini-miriona minenga. Ka inehia nga kaute kaore i te euros, engari i roto i nga pene. Ko te riihi i te tauira ngawari o AWS EC2 (t1.micro) mo te marama ka utu €15, ahakoa kaore koe e mahi (ko wai kaore i wareware ki te whakaweto?!). Hei whakataurite, kia eke ki tenei taumata whakapaunga mo te wa ano, me whakahaere koe i te 512 MB Lambda mo te 1 hēkona mo te 3 miriona wa. A, ki te kore koe e whakamahi i tenei ahuatanga, kaore koe e utu i tetahi mea.

Na te mea ko te serverless he kaupapa-a-kaupapa, he ngawari noa te taapiri i tetahi hanganga kore-tumau ki nga punaha tawhito. Hei tauira, ma te whakamahi i te AWS S3, Lambda, me Kinesis, ka taea e koe te hanga i tetahi ratonga tātari mo te punaha hokohoko tawhito ka taea te whiwhi raraunga ma te API.

Ko te nuinga o nga papaaho kore-tumau e tautoko ana i nga reo maha. Ko te nuinga o nga wa ko Python, JavaScript, C#, Java me Haere. I te nuinga o te wa karekau he here mo te whakamahi whare pukapuka ki nga reo katoa, na reira ka taea e koe te whakamahi i o whare pukapuka puna tuwhera tino pai. Heoi, he mea pai kia kaua e tukino i nga whakawhirinakitanga kia pai ai te mahi o o mahi me te kore e whakakore i nga painga o te whakahiatotanga nui o o tono karekau. Ko te nui ake o nga kete e tika ana kia utaina ki roto i te ipu, ka roa te tiimata o te makariri.

Ko te timatanga makariri ko te wa e hiahia ana koe ki te arawhiti i te ipu, te wa whakahaere, me te kaikawe hapa i mua i te whakamahi. Na tenei, ko te roa o te mahi o nga mahi ka eke ki te 3 hēkona, a ehara tenei i te mea pai mo nga kaiwhakamahi manawanui. Heoi, ka timata te makariri i te waea tuatahi i muri i etahi meneti o te mahi mangere. Na te nuinga ka whakaaro he riri iti tenei ka taea te mahi ma te ping i nga wa katoa i te mahi kia noho mangere. Kaore ranei ratou e aro ki tenei ahuatanga.

Ahakoa i tukuna a AWS Korekau he papaaarangi SQL Serverless AuroraEngari, kaore e pai ana nga papaaarangi SQL mo tenei tono, na te mea e whakawhirinaki ana ki nga hononga ki te mahi i nga whakawhitiwhitinga, ka tere te noho hei pounamu me te nui o te hokohoko i runga i te AWS Lambda. Ae, kei te whakapai tonu nga kaiwhakawhanake i te Serverless Aurora, a me whakamatau koe, engari i tenei ra nga otinga NoSQL penei DynamoDB. Heoi, karekau e kore ka huri wawe tenei ahuatanga.

He maha ano nga here a te kete taputapu, ina koa i roto i nga waahanga whakamatautau o te rohe. Ahakoa he rongoa penei i a Docker-Lambda, DynamoDB Local me LocalStack, me whakapau kaha me te nui o te whirihoranga. Heoi, he kaha te whakawhanake i enei kaupapa katoa, no reira he wa poto ka eke te kete taputapu ki te taumata e hiahiatia ana.

Te awenga o nga hangarau kore-tumau ki te huringa whanaketanga

Na te mea he whirihoranga noa to hanganga, ka taea e koe te tautuhi me te tuku waehere ma te whakamahi i nga tuhinga, penei i nga tuhinga anga. Ka taea ranei e koe te whakamahi ki nga otinga akomanga whirihoranga-hei-waehere penei AWS Cloud Formation. Ahakoa kaore tenei ratonga e whakarato whirihoranga mo nga waahi katoa, ka taea e koe te tautuhi i nga rauemi motuhake hei whakamahi hei mahi Lambda. Arā, ki te kore koe e taka ki te CloudFormation, ka taea e koe te tuhi i to ake rauemi (mahi Lambda) ka kati i tenei waahi. Ma tenei ka taea e koe te mahi i tetahi mea, tae noa ki te whirihora i nga whakawhirinaki ki waho o to taiao AWS.

Na te mea he whirihoranga anake, ka taea e koe te whakarite i o tuhinga whakatakotoranga mo nga taiao motuhake, rohe, me nga kaiwhakamahi, ina koa kei te whakamahi koe i nga otinga-a-waehere penei i te CloudFormation. Hei tauira, ka taea e koe te tuku i tetahi kape o nga hanganga mo ia peka i roto i te putunga kia taea ai e koe te whakamatautau i a raatau i te wa o te whanaketanga. Ma tenei ka tere ake nga urupare mo nga kaiwhakawhanake ina hiahia ana ratou ki te mohio mena kei te mahi tika a raatau waehere i roto i te taiao ora. Kaore nga kaiwhakahaere e manukanuka ki te utu mo te tuku i nga taiao maha, na te mea ka utua noa e ratou mo te whakamahinga pono.

He iti ake te awangawanga a DevOps na te mea me whakarite he tika nga whirihoranga a nga kaihanga. Kaore koe e hiahia ki te whakahaere i nga tauira, nga taurite, nga roopu haumaru ranei. Na reira, kei te kaha haere te whakamahi i te kupu NoOps, ahakoa he mea nui tonu kia taea te whirihora i nga hanganga, ina koa ka tae mai ki te whirihoranga IAM me te arotautanga rauemi kapua.

He tino kaha te tirotiro me nga taputapu tirohanga penei i a Epsagon, Thundra, Dashbird me IOPipe. Ka taea e koe te aro turuki i te ahuatanga o to tono kore-tumau, whakarato i te takiuru me te whaiwhai, te hopu i nga inenga mahi me nga pounamu hoahoanga, te mahi tātari utu me te matapae, me te maha atu. Ehara i te mea ka hoatu noa e ratou nga miihini DevOps, nga kaiwhakawhanake, me nga kaihoahoa he tirohanga matawhānui mo te mahi tono, engari ka tuku hoki i nga kaiwhakahaere ki te aro turuki i te ahuatanga i roto i te waa tuuturu, me nga utu rauemi mo ia-rua me te matapae utu. He uaua ake te whakarite i tenei me te hanganga whakahaere.

He maamaa ake te hoahoa i nga tono kore-tumau na te mea kaore koe e whai waahi ki te hora i nga tuumau tukutuku, ki te whakahaere i nga miihini mariko, i nga ipu ranei, i nga kaiwhakarato papaki, i nga punaha whakahaere, i nga kuaha ipurangi, me era atu. te otinga: pakihi me nga hiahia a nga kaihoko.

Ahakoa he pai ake te kete taputapu (ka pai ake ia ra), ka taea e nga kaiwhakawhanake te aro ki te whakatinana i te arorau pakihi me te tohatoha pai i te uaua o te tono puta noa i nga ratonga rereke i roto i te hoahoanga. Ko te whakahaeretanga tono kore-tumau he takahanga, ka tangohia e te kaiwhakarato kapua (hei tauira, SQS, nga huihuinga S3, nga awa DynamoDB ranei). Na reira, me tuhi noa nga kaiwhakawhanake i te arorau pakihi ki te whakautu ki etahi huihuinga, kaua hoki e maaharahara me pehea te pai ki te whakatinana i nga paataka korero me nga rarangi karere, me pehea ranei te whakarite mahi tino pai me nga raraunga i roto i nga rokiroki taputapu motuhake.

Ka taea te whakahaere me te patuiro i te Waehere i te rohe, pera me tetahi tukanga whanaketanga. He rite tonu te whakamatautau o te waeine. Ko te kaha ki te tuku i tetahi hanganga tono katoa me te whirihoranga taapu ritenga ka taea e nga kaiwhakawhanake te tiki urupare nui me te kore e whakaaro mo te utu o te whakamatautau, te paanga ranei ki nga taiao whakahaere utu nui.

Nga taputapu me nga tikanga mo te hanga tono kore-tumau

Karekau he huarahi motuhake hei hanga i nga tono koreutu. Me te huinga o nga ratonga mo tenei mahi. Ko AWS te kaihautu i roto i nga otinga kore-tumau kaha i enei ra, engari tirohia ano Google Cloud, и Firebase. Mena kei te whakamahi koe i te AWS, ko te huarahi e manakohia ana mo te kohi tono Tauira Taupānga Kore Tumau (SAM), ina koa ka whakamahi C#, na te mea he taputapu pai a Visual Studio. Ka taea e te SAM CLI te mahi i nga mea katoa ka taea e Visual Studio, na ka kore koe e ngaro tetahi mea mena ka huri koe ki tetahi atu IDE, ētita kuputuhi ranei. Ae ra, ka mahi tahi a SAM me etahi atu reo.

Mena kei te tuhi koe i etahi atu reo, ko te Serverless Framework he taputapu puna tuwhera pai e taea ai e koe te whirihora i tetahi mea me nga konae whirihoranga YAML tino kaha. Kei te tautoko hoki te Anga Korekau he momo ratonga kapua, no reira ka tūtohu matou ki te hunga e rapu ana i te otinga kapua-maha. He hapori nui i hanga he paihere o nga mono mo tetahi hiahia.

Mo nga whakamatautau a-rohe, he pai nga taputapu puna tuwhera Docker-Lambda, Serverless Local, DynamoDB Local, me LocalStack. Ko nga hangarau kore-tumau kei te timatanga tonu o te whakawhanaketanga, me nga taputapu mo ratou, no reira ka whakarite koe mo nga ahuatanga whakamatautau uaua, me whakapau kaha koe. Heoi, ko te tuku noa i te puranga ki tetahi taiao me te whakamatautau he tino utu. A kaore koe e hiahia ki te hanga i tetahi kape o nga taiao kapua.

Whakamahia nga AWS Lambda Layers ki te whakaiti i te rahi o nga kohinga kua tohatohahia me te tere ake te tango.

Whakamahia nga reo hotaka tika mo nga mahi motuhake. Ko nga reo rereke kei a raatau ake nga painga me nga ngoikoretanga. He maha nga tohu tohu, engari ko JavaScript, Python, me C # (.NET Core 2.1+) nga kaiarahi mo nga mahi a AWS Lambda. Ina tata nei i whakauruhia e AWS Lambda te Runtime API, ka taea e koe te tautuhi i to reo me te taiao e hiahia ana koe, na reira me whakamatau koe.

Kia iti te rahi o te kete mo te tuku. Ko te iti ake, ka tere ake te uta. A ape i te whakamahi i nga whare pukapuka nui, ina koa ka whakamahi koe i nga waahanga e rua mai i a raatau. Mena kei te whakamahere koe i roto i te JavaScript, whakamahia he taputapu hanga penei i te Webpack ki te arotau i to hanga me te whakauru noa i nga mea e tino hiahia ana koe. Kei a NET Core 3.0 te QuickJit me te Tiered Compilation e whakapai ake ana i te mahi me te awhina nui i nga timatanga makariri.

Ko te whirinakitanga o nga mahi karekau i runga i nga huihuinga ka uaua ki te ruruku i te arorau pakihi i te tuatahi. I runga i tenei whakaaro, ka tino whai hua nga rarangi karere me nga miihini kawanatanga. Ka taea e nga mahi a Lambda te waea tetahi ki tetahi, engari me mahi noa mena kaore koe e tatari ki te whakautu ("ahi ka wareware") - kaore koe e hiahia ki te utu mo te tatari mo tetahi atu mahi kia oti. He pai nga rarangi karere mo te wehe i nga waahanga o te arorau pakihi, te whakahaere i nga putea tono, me te tukatuka i nga whakawhitinga (ma te whakamahi i nga rarangi FIFO). Ko nga mahi a AWS Lambda ka taea te tautapa ki nga rarangi SQS hei rarangi karere mau e pupuri ana i nga karere rahua mo te tātaritanga a muri ake nei. He tino whai hua nga AWS Step Functions (miihini kawanatanga) mo te whakahaere i nga tikanga uaua e hiahia ana kia herea nga mahi. Engari i te mahi a Lambda e karanga ana i tetahi atu mahi, ka taea e nga mahi taahiraa te ruruku i nga whakawhitinga o te kawanatanga, te tuku raraunga i waenga i nga mahi, me te whakahaere i te ahua o nga mahi o te ao. Ma tenei ka taea e koe te tautuhi i nga tikanga ngana ano, me aha ranei ina puta he hapa - he taputapu tino kaha i etahi ahuatanga.

mutunga

I nga tau tata nei, kei te whanake haere nga hangarau kore-tumau i runga i te tere o mua. He whakaaro pohehe e pa ana ki tenei huringa paradigm. Ma te tangohanga i nga hanganga me te whakahaere whakahiatotanga, he nui nga painga ka puta mai i nga otinga kore utu, mai i te whanaketanga ngawari me nga tukanga DevOps ki te whakahekenga nui o nga utu whakahaere.
Ahakoa ko te huarahi kore-tumau kei te kore ona ngoikoretanga, he tauira hoahoa pakari ka taea te whakamahi ki te hanga i nga tono kore-kaupapa pakari, ki te whakauru ranei i nga huānga kore utu ki roto i nga hoahoanga o naianei.

Source: will.com

Tāpiri i te kōrero