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 (
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
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
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
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
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