Pag-unawa sa Serverless para sa Simula

Ang isang karaniwang maling kuru-kuro na mga tao pagkatapos makinig sa salitang ‘serverless’ ay hindi ito binubuo ng isang server.


Hindi, hindi iyon ang kaso.

Ang serverless ay nangangahulugan lamang na hindi mo kailangang pamahalaan ang server. Sa halip na tumakbo at mapanatili ang iyong server, maaari mong pagkilos ang mga function.

Sa ibang salita, Arkitektura ng serverless nangangahulugan na mas kaunting server.

Hindi ba magiging mahusay kung maaari mong italaga ang lahat ng iyong oras sa pagbuo ng isang mas mahusay na application nang hindi kinakailangang alagaan ang mga server? Iyon ay kapag makakatulong sa iyo ang serverless.

Sakop ng artikulong ito ang lahat ng mga mahahalagang paksa na kailangan mong malaman, mula mismo sa kung ano ang serverless sa iba’t ibang mga frameworks, mga benepisyo nito at kung bakit ka dapat alagaan.

Mga Prinsipyo ng Going Serverless

Ang mga imprastrukturang walang server ay nagsasama ng iba’t ibang mga prinsipyo na nakasaad sa sumusunod:

  1. Itakda ang mga serbisyo ng third-party: Ang iba’t ibang mga vendor ay kumikilos bilang mga serbisyo ng third-party.
  2. Ang paglikha ng isang matatag na harapan: Sa pamamagitan ng pagpapatupad ng mga pag-andar sa front end sa pamamagitan ng client-side app framework, nakakatulong na mabawasan ang gastos sa pamamagitan ng pagbawas ng mga tawag sa pagpapaandar at pagpapatupad.
  3. Isagawa ang mga tseke sa pagganap: Ang pagmamasid sa pagganap ng mga pag-andar na nagpapabagal sa isang partikular na serbisyo ay mahalaga upang matiyak ang isang mahusay na karanasan ng gumagamit.
  4. Mga function na walang layunin: Habang nagpapatuloy lamang ang mga function para sa isang limitadong dami ng oras, ang mga single-purpose code ay ginustong para sa pagbuo ng mga pag-andar.
  5. Mga mekanismo ng seguridad sa pagtatayo: Ang seguridad ay dapat alagaan sa API at sa layer ng FaaS. Kasama sa mga tampok na ito ng seguridad ang mga kontrol sa pag-access, pag-encrypt, at pagpapatunay.
  6. Magdisenyo ng isang arkitekturang batay sa push: Tinitiyak nito na ang pag-input ng gumagamit ay hindi kinakailangan para sa isang hanay ng mga kaganapan na magaganap.

Pupunta sa Serverless

Kapag nagtatayo ka ng isang application, nais mo itong lumikha ng isang maayang karanasan para sa mga gumagamit nito.

Halimbawa, nais mo ang iyong application na magbigay ng isang instant tampok na pagbabahagi ng social media, payagan itong gawin ang mga transaksyon sa in-app at gawing mas simple at mas mabilis ang pag-upload ng mga imahe at video.

Upang magawa ito ng lahat, ang application ay nangangailangan ng maraming back-end code na nagpoproseso at nagpapatakbo ng mga pagkilos tulad ng mga pag-click sa in-app, pag-upload ng imahe, paglipat mula sa isang pahina patungo sa iba pang.

Ang pamamahala ng arkitektura upang mag-host at magpatakbo ng back-end code na ito ay nangangailangan ng maraming mga server at pagharap sa iba’t ibang mga pag-update ng OS, huwag kalimutan ang seguridad.

Samakatuwid, hinihiling namin ang ilang vendor na gawin ang pamamahala ng server para sa amin, ginagawa kaming walang server.

Bago kami magpatuloy upang talakayin ang mga nagtitinda, ito ay mahalaga para sa amin na malaman ang dalawang nangungunang serbisyo sa computing ulap na kasangkot sa serverless cloud computing.

Function bilang isang serbisyo (FaaS)

Isang tanyag at malawakang ginamit na platform. Sa tulong ng platform ng FaaS, ang mga developer ng application ay maaaring magpatakbo at mag-host ng kanilang backend code sa loob ng isang balangkas na walang server.

Ang lahat ng mga pamamahala, scalability at security function ng mga server ay aalagaan ng balangkas na walang server.

Ibinibigay ang magkakaibang mga pagpipilian upang maisagawa ang mga pagpapaandar na ito ng iba’t ibang mga vendor. Kapag nakumpleto ang mga pag-andar at ginamit sa balangkas ng FaaS, ang mga serbisyo na ibinigay ng isang vendor para sa isang function ay pagkatapos ay na-trigger sa pamamagitan ng mga kahilingan sa HTTP o mula sa mga partikular na kagamitan ng vendor.

Ginagamit ang FaaS sa pagproseso ng data sa real-time mga araw na ito.

Mga kalamangan

  • Magbabayad ka para sa iyong ginagamit
  • Magandang pamamahala ng imprastraktura
  • Ligtas at ligtas
  • Madali at nasusukat na pagpapatupad

Cons

  • Limitadong memorya at oras ng pagpapatupad
  • Ang data ay hindi nakaimbak
  • Vendor lock-in
  • Hindi madali ang pag-debug

I-back bilang isang serbisyo (BaaS)

Ito ay isang serbisyo sa cloud computing na kumikilos bilang isang middleman na nagbibigay ng iba’t ibang mga paraan kung saan maiugnay ng isang developer ang kanilang web at mobile app sa mga serbisyo sa ulap sa pamamagitan ng mga API at SDKs.

May mga limitadong mga vendor lamang para sa platform na ito at medyo mas bago kaysa sa FaaS. Ito ay katulad sa SaaS ngunit higit sa lahat para sa pag-unlad ng aplikasyon. 

Nagbibigay ang mga venda ng BaaS ng ilang mga sangkap na maaaring mai-plug sa application.

Sa BaaS, hindi namin kailangang bumuo ng anumang pag-andar ng pagpapatunay sa aming sarili. Halimbawa, ang pag-log in at pag-sign up para sa isang aplikasyon ay nangangailangan ng pagpapatunay.

Mga kalamangan

  • Ang pagkakaloob ng data ng control control panel
  • Magbayad para sa iyong ginagamit
  • Mas kaunting gastos sa pag-unlad
  • Mabilis at simple

Cons

  • Ang isang code ay madaling masira
  • Ang pagkawala ng data ay maaaring maganap
  • Ang pagsubok ay mahirap
  • Hindi angkop para sa mga malalaking proyekto

Ang ilan pang mga terminolohiya sa cloud computing ay:

  1. Platform bilang isang serbisyo (PaaS): Nagbibigay ito ng isang platform na nagpapahintulot sa isang gumagamit na pamahalaan, magpatakbo at bumuo ng mga app nang hindi kinakailangang bumuo at mapanatili ang arkitektura.
  2. Software bilang isang serbisyo (SaaS): Pinamamahalaan ng mga Vendor ang lahat, kailangang gamitin ng mga developer o gumagamit ang mga serbisyong ito.
  3. Ang imprastraktura bilang isang serbisyo (IaaS): Isang baseng pang-imprastraktura lamang ang ibinibigay. Ang developer ay dapat magtrabaho sa application sa pamamagitan ng kanyang sarili. Kasama sa kinakailangang imprastraktura ang isang virtual machine, software network, at imbakan.

Tingnan natin ang ilan sa mga platformless ng Serverless.

Platform ngS

Maraming mga nagbebenta ang nagbibigay ng compute runtimes na kilala bilang function bilang isang serbisyo (FaaS).

Ang platform na ito ay nagpapatupad ng lohika ng aplikasyon ngunit hindi iniimbak ang data.

  • Mga Pag-andar ng Google Cloud: Magbayad lamang para sa oras na tumatakbo ang iyong code. Ito ay awtomatikong kaliskis.

  • AWS Lambda: Ang mga web Web Services ay naayos ang maraming problema sa pamamagitan ng paglulunsad ng teknolohiyang AWS Lambda nito. Ang AWS Lambda ay isang serbisyo na nagpapatakbo ng iyong back-end code para sa iyo. Ito ay suportado ng Node.js, Python, C #, Go at Java.
  • OpenWhisk: Inilunsad din ng IBM ang OpenWhisk na isang open-source serverless platform.
  • Mga Pag-andar ng Azure: Ang Azure ay isang platform na hinihimok ng server na walang kaganapan na sumusuporta sa JavaScript, C #, PHP, at Python.

BaaS Platform

  • Firebase: Ang Firebase ay inilunsad ng Google. Ang platform na ito ay pangunahing ginagamit sa mga mobile application para sa kaunlaran. Ito ay isang real-time database na nag-iimbak at nag-sync ng data gamit ang NoSQL cloud database.

  • AWS DynamoDB: Isang database ng NoSQL para sa mga serbisyo na nangangailangan ng pare-pareho at solong-digit na millisecond latency.
  • Amazon Cognito: Ibinigay ng Amazon Web Services ay binuo upang maisagawa ang pag-sign up ng gumagamit at pag-sign-in sa isang web at mobile application.

Mga Walang hiyawan sa Server

Ang mga server ng frameworks ay idinisenyo sa isang paraan na ang gusali, pagsubok at pag-deploy ng mga application na walang server ay naging napakadali.

Tingnan natin ang ilang kilalang mga frameworks:

  1. Walang server: Ang balangkas na ito ay libre, bukas-mapagkukunan at isa na nakasulat gamit ang Node.js.
  2. Kubeless: Ang konsepto na ginamit upang makabuo ng isang balangkas para sa Kubernetes.
  3. Paglabas: Isang balangkas ng pag-andar ng server para sa Kubernetes na sumusuporta sa Node.js, Go, C #, PHP.

  1. Up: isang Open-source tool na ginamit upang mag-deploy ng mga server ng HTTP.
  2. Nuclio: Isang balangkas na kung saan ay bukas-mapagkukunan at tumatakbo ng hanggang sa 400,000 mga invocations bawat segundo.

Bakit ko dapat gamitin ang isang serverless framework para sa aking negosyo?

Mga Bentahe ng Going Serverless

  1. Madali ang pagtatalaga: Ang mga fallback ay nagiging simple dahil ang pag-bersyon ay ginawa sa mismong system.
  2. Seamless at transparent: Maaari mong itugma ang iyong mga kinakailangan sa negosyo sa iba’t ibang mga capacities ng server na ibinibigay sa pamamagitan ng balangkas na ito.
  3. Walang kinakailangang mga developer: Hindi kinakailangan ang mga nag-develop o tagapangasiwa upang magpatakbo, mag-update o magdagdag ng mga server.
  4. Sulit: Para sa mga platform tulad ng FaaS, hindi mo kailangang magbayad para sa mga mapagkukunan ng walang ginagawa.
  5. Magiliw Ito ay nakakakuha ng maayos sa mga microservice.
  6. Gumagawa kang manatili sa merkado: Ang pagpunta sa walang server ay bumabawas ng oras upang makapasok sa merkado at makakatulong sa iyong paglunsad ng software nang mas mabilis.

Mga drawback ng Serverless

  1. Kakulangan ng mga tool: Ang mga nag-develop ay ganap na nakasalalay sa isang vendor para sa pag-debug at pagsubaybay sa mga tool.
  2. Ang pag-debug ay mahirap: Kailangan mong makapunta sa mga ugat upang mahanap ang mapagkukunan ng bug
  3. Kumplikadong arkitektura: Ito ay nagiging mas mahirap upang pamahalaan ang maraming mga pag-andar.
  4. Pagsubok: Pagsasama at pagsubok ng mga application na walang server ay kumplikado.

Hinaharap ng Serverless

  1. Tooling: Maaari naming asahan ang mga tool na na-deploy sa walang server na teknolohiya upang madagdagan at makakuha ng mas mahusay sa oras, na ginagawang maginhawa para sa mga developer.
  2. Pamamahala ng Estado: Ang ilang mga disbentaha sa serverlessFaaS ay ang paraan ng mga platform na ipinatupad, ngunit ang mga ito ay maaaring maayos sa pamamagitan ng mga bagong solusyon o sa tulong ng ibang mga kumpanya.
  3. Tumaas na transparency mula sa mga vendor: Mayroong magiging higit na transparency sa pagitan mo at ng nagtitinda tungkol sa inaasahan mo mula sa kanila habang umaasa kami sa kanila para sa aming pagho-host.
  4. Pamayanan: Maaari naming asahan na makita ang isang malaking paglaki ng isang komunidad na walang server

Konklusyon

Tulad ng nakikita natin, ang serverless ay isang makabagong at lumalagong teknolohiya. Ang isang samahan ay nakinabang mula sa teknolohiyang ito dahil hindi nila kailangang gumastos ng maraming pamamahala ng kanilang mga server.

Gayundin, pinatunayan na maging epektibo ang gastos at maaaring abot-kayang para sa anumang negosyo na nais mag-focus sa pagbuo ng isang application na nais na maghatid ng isang mahusay na karanasan para sa mga gumagamit nito.

Sa tulong ng platform ng FaaS, babayaran mo lamang ang mga kinakailangang serbisyo. Maaari mong alisin ang mga hindi kanais-nais na gastos na nalilikha mula sa mga mapagkukunan ng walang ginagawa.

Maaari naming asahan ang maraming mga negosyo at mga start-up upang ma-deploy ang serverless teknolohiya sa hinaharap.

Bagaman mayroon itong ilang kahinaan, maaari itong mapabuti at magamit sa isang malaking sukat. Kung napakalinaw mo sa iyong mga layunin at serbisyo sa negosyo, pinakamainam na sumama sa FaaS.

Siyempre, mas gusto pa rin ng marami ang BaaS depende sa kanilang mga kinakailangan. Ang pagpili ng tamang tindera ay gumaganap din ng isang mahalagang papel.

Kung interesado kang matuto nang higit pa, suriin ito Kurso sa pagpapakilala ng kurso.

TAGS:

  • Walang server

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map