Pag-compute ng serverless 101

May -Akda: Roger Morrison
Petsa Ng Paglikha: 22 Setyembre 2021
I -Update Ang Petsa: 1 Hulyo 2024
Anonim
What is Serverless?
Video.: What is Serverless?

Nilalaman


Pinagmulan: Wavebreakmediamicro / Dreamstime.com

Takeaway:

Ang pag-compute ng server ay talagang isang maliit na kamalian - ang mga server ay kasangkot, ang mga ito ay nasa ulap lamang.

Sa hindi nag-iisa, ang mismong ideya ng kompyuter na walang kompyuter ay tila hindi mapaniniwalaan dahil sa kasaysayan ng pag-unlad ng software, ang mga server ay kailangang-kailangan. Kumbaga, sila pa rin. Kailangang hindi kinukuha nang literal ang computing ng server, sapagkat hindi ito ginagawa na hindi na ginagamit ang mga server. Sa scheme ng computing ng server ng mga bagay, ang mga server ay patuloy na naglalaro ng isang mahalagang papel, ngunit may ilang mga pagkakaiba.

Ang mga developer ng software ay hindi na kinakailangan upang mag-isip tungkol sa mga server o ayusin ang pag-coding batay sa mga server. Maaari silang tumuon nang buo sa coding habang ang mga server, na naka-host sa ulap, ang bahala sa pagproseso ng code. Hindi na kailangang magplano ng kapasidad ng mga server dahil sa ulap, may kakayahang mag-scale up pataas batay sa mga kinakailangan. Ang buong server ay hindi mananatiling aktibo sa lahat ng oras. Batay sa mga kinakailangan, ang mga bahagi nito ay nagiging aktibo, gawin ang kanilang mga trabaho at pagkatapos ay maging dormant.


Maraming opine na walang server na computing ay maaaring mapabuti ang kahusayan sa pag-compute at mas mababang mga gastos sa pagpapatakbo; tiningnan nila ito bilang isang rebolusyonaryo na paraan ng pag-compute. Ngunit hindi lahat ay sumasang-ayon. Sa kabilang panig ng argumento, binabalewala na ang kompyuter na walang kompyuter ay tataas ang pagiging kumplikado, at hindi maraming paraan upang pamahalaan ang pagiging kumplikado.

Ano ang Computerless Computing?

Tulad ng nakasaad, ang pag-compute ng server ay hindi nangangahulugan na maaaring maganap ang computing o pag-unlad ng software nang walang mga server. Sa katunayan, ang mga server ay simpleng naka-host sa ulap ng isang nagbebenta ng third-party. Samakatuwid, ang mga developer ng software ay kailangan lamang tumuon sa kanilang code, at hindi na kailangang mag-isip tungkol sa mga server, kapasidad, paglawak o anumang katulad nito. Ang mga server ay may iba't ibang mga bahagi sa loob ng mga ito, na kilala bilang mga pag-andar, na nagpoproseso ng code. Hindi tulad ng tradisyonal na computing, ang buong server ay hindi mananatiling aktibo sa lahat ng oras. Ang mga pag-andar ay nagsasagawa ng mga tiyak na gawain - halimbawa, pagpapatunay at paghahanap - at isinaaktibo lamang kapag kinakailangan. Ang mga pag-andar ay maaaring mai-scale pataas o pababa batay sa mga kinakailangan. Tulad ng iba pang mga serbisyo sa ulap tulad ng software bilang isang serbisyo (SaaS) o platform bilang isang serbisyo (PaaS), ang mga pag-andar ay inaalok din sa batayan ng subscription. Ang customer ay sisingilin lamang sa oras na ang isang function ay mananatiling aktibo.


Kasaysayan

Ang server na computing ay isang bagong konsepto sa pag-unlad ng software at ang mga ugat nito ay maaaring masubaybayan pabalik noong 2006. Noong 2006, isang serbisyo na tinatawag na Zimki ang nag-alok ng isang solusyon na pinapayagan ang mga developer ng software na magsulat ng code at mai-upload ito sa Zimkis server. Ang pagpapatupad ng code ay isinagawa ng mga pag-andar na inaalok sa anyo ng mga interface ng application programming (Mga API).

Ang susunod na pangunahing pag-unlad ay naganap noong 2014 nang ipinakilala ng Amazon ang sistema ng pay-as-you-go para sa isang platform pagpapatupad ng code sa anyo ng AWS Lambda. Gayunpaman, ito ay kagiliw-giliw na tandaan na matagal na panahon para sa tulad ng isang konsepto ng nobela upang makahanap ng traksyon (2006 hanggang 2014). Para sa ilang kadahilanan, ang mga pag-unlad ng computing sa server ay hindi masyadong gumawa ng malaking pagkakaiba tulad ng iba pang mga ideya tulad ng cloud computing o ang internet ng mga bagay (IoT). Gayunpaman, ang AWS Lambda ay ang unang nag-aalok ng walang server mula sa isang malaking negosyo, at sumunod sa isang pagpatay sa iba pang mga handog, kasama ang alay ng Googles, na kilala bilang Google Cloud Functions. Noong 2016, ang parehong IBM at Microsoft ay tumalon sa bandwagon ng computing ng server sa pamamagitan ng pagbukas ng OpenWhisk at Azure Functions, ayon sa pagkakabanggit.

Diving Deeper

Ang isang mahusay na punto upang simulan ang pag-unawa sa serverless computing sa isang mas malalim na antas ay isang paghahambing sa pagitan ng serverless computing at PaaS. Kahit na sila ay naiiba bilang mga konsepto, ang PaaS ay talagang ang unang hakbang patungo sa mga handog na walang server. Habang nag-aalok ang PaaS ng isang platform at kapaligiran na nagbibigay-daan sa mga developer na bumuo ng mga aplikasyon ng software sa internet, mayroon pa ring pangangailangan upang magplano para sa kapasidad na kinakailangan para sa software sa cloud. Gayunpaman, hindi na kailangang mag-isip tungkol sa mga server sa anumang paraan kapag nagtatrabaho ka sa server na walang computing. Ang mga developer ng software ay code lamang at i-upload ang code sa ulap, at pagkatapos ay kukuha ang mga server.

Ang pag-compute ng server ay tinatawag ding mga function bilang isang serbisyo (FaaS) dahil ang mga maliliit na pag-andar ay inaalok sa modelo ng mga negosyo na pay-as-you-go. Ang ganitong mga pag-andar ay nagsasagawa ng maliliit na gawain - halimbawa, pagpapatunay ng mga kredensyal ng gumagamit. Inaalok ang mga pag-andar sa anyo ng mga API. Maaaring magkaroon ng maraming mga pag-andar na maaaring kailanganin para sa isang application ng software, ngunit hindi lahat ng mga pag-andar ay magiging aktibo nang sabay-sabay; aktibo lamang sila tuwing kinakailangan. Halimbawa, kung ang isang pag-andar ay nakatanggap ng isang mataas na dami ng trapiko at ito ay overworked, maaari itong mai-scale at nadagdagan ang kapasidad nito. Kaya, hindi mo kailangang masukat ang buong aplikasyon.

Walang Mga bug, Walang Stress - Ang Iyong Hakbang sa Hakbang Patnubay sa Paglikha ng Software na Pagbabago ng Buhay nang Walang Pagsira sa Iyong Buhay

Hindi mo maaaring mapabuti ang iyong mga kasanayan sa pag-programming kapag walang nagmamalasakit sa kalidad ng software.

Bakit Mahalaga ang Computer Computing?

Ang kahalagahan ng serverless computing ay namamalagi sa pagkakaiba nito sa tradisyonal na computing. Ang tradisyunal na computing ay naghahain ng mga negosyo nang maayos, ngunit nagdudulot ng ilang mga hamon: gastos, pag-ubos ng oras, walang nakatuon na coding at paghihirap sa scaling pataas o pababa. Ang mga negosyo ay naghahanap ng solusyon sa mga problemang ito. Ang natatanging benepisyo ng serverless computing ay kinabibilangan ng:

  • Tumutok sa coding
    Sa tradisyonal na computing, kailangang mag-isip ang mga developer tungkol sa mga server at ayusin ang pag-coding nang naaayon. Sa serverless computing, kailangan lamang nilang mag-focus sa coding, at ang natitira ay inaalagaan ng mga server na naka-host sa ulap. Ang tumaas na pokus na ito ay humahantong sa mas mahusay na kalidad ng code.
  • Ang pag-coding ay potensyal na madali
    Kung ang iyong mga code ay hindi nakabase sa computing na nakatuon sa computing, pagkatapos ay ang gagawin mo lamang ay isulat ang mas maliit na mga piraso ng code na naproseso ng mga tiyak, kani-kanilang mga pag-andar at siguraduhin na ang code ay nagsasama nang maayos sa ibang mga piraso ng code.
  • Mas madaling mag-scale pataas o pababa
    Dahil ang buong imprastraktura ng computing ng server ay tungkol sa maliliit na pag-andar, hindi na kailangang masukat o ibababa ang buong imprastraktura - sukat lamang ang kinakailangang pag-andar. Sa ganoong paraan, ang pagproseso at scaling ay nangyayari nang mas mabilis din.
  • Mas mura
    Kadalasan, ang isang enterprise na gumagamit ng mga serbisyo sa computing ng server ay nagbabayad para sa subscription at pagkatapos ay para sa paggamit ng function. Gayunpaman, nagbabayad lamang ito para sa oras na ang isang function ay aktibo at ginagamit. Sa madaling salita, ang mga negosyo ay nagbabayad lamang para sa kung ano ang kanilang kumonsumo.

Isang Halimbawa ng Compost sa Serverless

Ang AWS Lambda ay isa sa mga kilalang halimbawa ng mga handog na walang server. Pinapayagan lamang ang mga negosyo na magsulat lamang at mag-upload ng code sa Lambda. Kung kinakailangan, maaaring awtomatikong sukatin ni Lambda ang application sa pamamagitan ng pagpapatakbo ng mga code bilang tugon sa pag-trigger. Kapag ang workload sa isang function o API ay nagdaragdag, ang function ay nai-scale. Ang kliyente ay sinisingil batay sa sub-segundo pagsukat, na nangangahulugang ang kliyente ay sisingilin para sa bawat 100 ms ang execute ng code at ang bilang ng mga beses ang code ay na-trigger. Sa ganoong paraan, hindi na kailangang magbayad kapag walang pagpapatupad ng code.

Konklusyon

Para sa lahat ng natatanging katangian nito, ang mga handog sa server ay hindi nang walang mga limitasyon. Maraming mga maliliit na pag-andar ang maaaring makagawa ng isang napaka kumplikadong sistema, lalo na kung ang software application ay napakalaki. Ang sitwasyon ay pinagsama din ng limitadong pagkakaroon ng mga tool upang pamahalaan ang nasabing pagiging kumplikado. Gayunpaman, ang server ng computing ay titingnan bilang isang solusyon sa mga monolitikikong sistema ng negosyo na dapat makitungo. Nasa isang estado pa rin ito at ang mga organisasyon ay nakakahanap pa rin ng mga paraan upang gawin itong gumana para sa kanila, dahil nakakakuha ito ng higit na pagtanggap sa mga negosyo.