Naha revolusi serverless geus deadlocked

Titik konci

  • Pikeun sababaraha taun ayeuna, kami parantos dijanjikeun yén komputasi tanpa server bakal ngiringan jaman énggal tanpa OS khusus pikeun ngajalankeun aplikasi. Kami ngawartoskeun yén struktur ieu bakal ngajawab seueur masalah skalabilitas. Kanyataanna, sagalana béda.
  • Sanaos seueur anu ningali tanpa server salaku ideu énggal, akarna tiasa dilacak deui ka 2006 kalayan munculna Zimki PaaS sareng Google App Engine, anu duanana nganggo arsitektur tanpa server.
  • Aya opat alesan kunaon revolusi tanpa server parantos macét, mimitian ti dukungan basa pamrograman terbatas dugi ka masalah kinerja.
  • Komputasi tanpa server henteu aya gunana. Henteu pisan. Nanging, aranjeunna henteu kedah dianggap gaganti langsung pikeun server. Kanggo sababaraha aplikasi aranjeunna tiasa janten alat anu gunana.

Serverna maot, hirup server!

Ieu ceurik perangna revolusi serverless. Ngan sakedapan pencét industri dina sababaraha taun ka pengker sareng gampang disimpulkeun yén modél server tradisional parantos maot sareng yén dina sababaraha taun urang sadayana bakal ngagunakeun arsitéktur tanpa server.

Salaku saha di industri weruh, sarta sakumaha urang ogé nunjuk kaluar dina artikel kami on kaayaan komputasi serverless, ieu salah. Sanajan loba artikel ngeunaan merits revolusi serverless, éta pernah lumangsung. Kanyataanna, nempokeun panalungtikan panganyarnayén revolusi ieu mungkin geus ngahontal tungtung buntu.

Sababaraha janji model tanpa server pasti parantos direalisasikeun, tapi henteu sadayana. Henteu sadayana.

Dina artikel ieu abdi hoyong ningali alesan pikeun kaayaan ieu. Naha kurangna kalenturan model serverless masih jadi halangan pikeun nyoko maranéhanana lega, sanajan aranjeunna tetep mangpaat dina husus, kaayaan well-diartikeun.

Naon anu dijanjikeun ku ahli komputasi tanpa server

Sateuacan urang asup kana tantangan komputasi tanpa server, hayu urang tingali naon anu sakuduna disayogikeun. Janji revolusi serverless éta loba sarta - di kali - pisan ambisius.

Pikeun anu teu wawuh sareng istilah, ieu mangrupikeun definisi gancang. Komputasi tanpa server ngahartikeun arsitéktur dimana aplikasi (atanapi bagian tina aplikasi) ngajalankeun on demand dina lingkungan runtime nu ilaharna hosted jarak jauh. Salaku tambahan, sistem tanpa server tiasa di-host di bumi. Ngawangun sistem tanpa server anu tahan banting parantos janten perhatian utama pikeun pangurus sistem sareng perusahaan SaaS salami sababaraha taun ka pengker, sabab (diklaim) arsitéktur ieu nawiskeun sababaraha kaunggulan konci pikeun modél klien-server "tradisional":

  1. Model tanpa server teu merlukeun pamaké pikeun ngajaga sistem operasi sorangan atawa malah nyieun aplikasi cocog sareng OS husus. Gantina, pamekar nyieun kode dibagikeun, unggah ka platform serverless, sarta lalajo eta ngajalankeun.
  2. Sumberdaya dina kerangka tanpa server biasana ditagih ku menit (atanapi detik). Ieu ngandung harti yén klien ngan mayar waktos aranjeunna sabenerna ngajalankeun kode. Ieu compares favorably kalawan VM awan tradisional, dimana mesin téh dianggurkeun lolobana waktu, tapi anjeun kudu mayar eta.
  3. Masalah skalabilitas ogé direngsekeun. Sumberdaya dina kerangka serverless sacara dinamis ditugaskeun ku kituna sistem tiasa kalayan gampang nyéépkeun paménta anu ngadadak.

Pondokna, model serverless nyadiakeun fléksibel, béaya rendah, solusi scalable. Éta héran yén urang henteu nganggap ideu ieu sateuacanna.

Ieu bener gagasan anyar?

Nyatana, ideu sanés énggal. Konsep ngamungkinkeun pamaké pikeun mayar ngan pikeun waktos kodeu sabenerna ngajalankeun geus sabudeureun saprak éta diwanohkeun ku Zimki PaaS dina 2006, sarta sabudeureun waktos Google App Engine nawarkeun solusi pisan sarupa.

Nyatana, anu ayeuna urang sebut modél "serverless" langkung lami tibatan seueur téknologi anu ayeuna disebut "awan asli" anu nyayogikeun hal anu sami. Sakumaha anu kacatet, modél tanpa server dasarna ngan ukur penyambungan modél bisnis SaaS anu parantos aya mangpuluh-puluh taun.

Éta ogé patut ngakuan yén serverless sanes arsitéktur FaaS, sanaos aya hubungan antara dua. FaaS dasarna mangrupa bagian komputasi-centric tina arsitektur serverless, tapi teu ngagambarkeun sakabéh sistem.

Ku kituna naon sagala fuss ngeunaan? Nya, kusabab tingkat penetrasi internét terus ningkat di nagara-nagara berkembang, paménta sumber daya komputasi ogé ningkat dina waktos anu sami. Salaku conto, seueur nagara kalayan séktor e-commerce anu ngembang pesat ngan saukur teu gaduh infrastruktur komputasi pikeun aplikasi dina platform ieu. Ieu dimana platform tanpa server anu mayar asup.

Masalah sareng Modelless Server

nyekel éta model serverless boga ... masalah. Entong lepat: Kuring henteu nyarios aranjeunna goréng per se atanapi henteu masihan nilai anu penting pikeun sababaraha perusahaan dina sababaraha kaayaan. Tapi klaim utama "revolusi" - yén arsitéktur tanpa server bakal gancang ngagentos arsitéktur tradisional-henteu pernah aya.

Éta alesanana.

Pangrojong kawates pikeun basa program

Kaseueuran platform tanpa server ngan ukur ngamungkinkeun anjeun ngajalankeun aplikasi anu ditulis dina basa anu tangtu. Ieu sacara serius ngawatesan kalenturan sareng adaptasi sistem ieu.

Platform tanpa server dianggap ngadukung kalolobaan basa utama. AWS Lambda sareng Azure Functions ogé nyayogikeun bungkus pikeun ngajalankeun aplikasi sareng fungsi dina basa anu henteu didukung, sanaos ieu sering aya biaya pagelaran. Janten pikeun sabagéan ageung organisasi watesan ieu biasana sanés masalah anu ageung. Tapi ieu hal. Salah sahiji kauntungan tina model tanpa server anu sakuduna dituju janten program anu jarang-dipikawanoh, jarang dianggo tiasa dianggo langkung murah sabab anjeun ngan ukur mayar waktos aranjeunna ngajalankeun. Jeung saeutik-dipikawanoh, program jarang dipaké mindeng ditulis dina ... saeutik-dipikawanoh, jarang dipaké basa programming.

Ieu ngaruksak salah sahiji kauntungan konci model tanpa server.

Ngariung vendor

Masalah kadua sareng platform tanpa server, atanapi sahenteuna cara anu ayeuna dilaksanakeun, nyaéta aranjeunna biasana henteu sami sareng anu sanés dina tingkat operasional. Sacara praktis henteu aya standarisasi dina hal fungsi tulisan, panyebaran sareng manajemén. Ieu ngandung harti yén migrasi fitur tina hiji platform ka platform anu sanés nyéépkeun waktos.

Bagian anu paling hese pikeun pindah ka modél tanpa server sanés fungsi komputasi, anu biasana ngan ukur potongan kode, tapi kumaha aplikasi komunikasi sareng sistem anu nyambung sapertos neundeun objék, manajemén identitas, sareng antrian. Fungsi bisa dipindahkeun, tapi sesa aplikasi teu bisa. Ieu mangrupikeun sabalikna tina platform anu murah sareng fleksibel anu dijanjikeun.

Sababaraha ngajawab yén modél tanpa server énggal sareng teu acan aya waktos pikeun ngabakukeun kumaha jalanna. Tapi aranjeunna henteu énggal, sakumaha anu ku kuring dicatet di luhur, sareng seueur téknologi awan anu sanés, sapertos wadah, parantos janten langkung tiasa dianggo berkat pamekaran sareng nyoko kana standar anu saé.

kakuwatan keur ngasilkeun

Kinerja komputasi platform tanpa server sesah diukur, sabagian kusabab padagang condong ngajaga inpormasi pribadi. Seuseueurna ngabantah yén fungsina dina jauh, platform tanpa server ngajalankeun sagancangna dina server internal, iwal sababaraha masalah latency anu teu bisa dihindari.

Sanajan kitu, fakta individu nunjukkeun sabalikna. Fitur anu saacanna henteu dijalankeun dina platform anu khusus atanapi henteu acan dijalankeun pikeun sababaraha waktos bakal nyandak sababaraha waktos pikeun ngamimitian. Ieu sigana kusabab kanyataan yén kodena parantos dialihkeun kana sababaraha médium panyimpen anu kirang diaksés, sanaos - sapertos tolok ukur - kalolobaan padagang moal nyarioskeun ka anjeun ngeunaan migrasi data.

Tangtu, aya sababaraha cara sabudeureun ieu. Salah sahijina nyaéta ngaoptimalkeun fitur pikeun basa awan naon waé anu dijalankeun ku platform tanpa server anjeun, tapi ieu rada ngarusak klaim yén platform ieu "lincah."

Pendekatan anu sanés nyaéta pikeun mastikeun yén program kritis produktivitas dijalankeun sacara rutin supados tetep seger. Pendekatan kadua ieu, tangtosna, rada kontradiksi kana klaim yén platform tanpa server langkung murah sabab anjeun ngan ukur mayar waktos program anjeun dijalankeun. Panyadia awan geus ngenalkeun cara anyar pikeun ngurangan mimiti tiis, tapi loba di antarana merlukeun "skala ka hiji," nu undermines nilai aslina tina FaaS.

Masalah mimiti tiis bisa direngsekeun sawaréh ku ngajalankeun sistem serverless di-imah, tapi ieu hadir kalawan waragad sorangan sarta tetep pilihan Ecological pikeun tim well-resourced.

Anjeun teu tiasa ngajalankeun sakabéh aplikasi

Tungtungna, panginten alesan anu paling penting naha arsitéktur tanpa server moal ngagentos modél tradisional iraha waé pas: aranjeunna (biasana) henteu tiasa ngajalankeun sadaya aplikasi.

Leuwih tepat, éta teu praktis tina sudut pandang biaya. Monolith suksés anjeun sigana henteu kedah janten sakumpulan opat belasan fungsi anu dihubungkeun ku dalapan gerbang, opat puluh antrian sareng belasan instansi database. Ku sabab kitu, serverless langkung cocog pikeun pamekaran énggal. Ampir henteu aya aplikasi (arsitektur) anu tiasa dimigrasikeun. Anjeun tiasa migrasi, tapi anjeun kudu mimitian ti scratch.

Ieu ngandung harti yén dina seuseueurna kasus, platform tanpa server dianggo salaku pelengkap pikeun server back-end pikeun ngalaksanakeun tugas-tugas komputasi. Hal ieu ngajantenkeun aranjeunna béda pisan sareng dua bentuk téknologi awan anu sanés - wadah sareng mesin virtual - anu nawiskeun cara holistik pikeun ngalakukeun komputasi jarak jauh. Ieu ngagambarkeun salah sahiji tantangan pikeun mindahkeun tina microservices ka serverless.

Tangtu, ieu teu salawasna masalah. Kamampuhan pikeun périodik ngungkit sumberdaya komputasi masif tanpa kudu meuli hardware sorangan bisa mawa nyata, kauntungan langgeng pikeun loba organisasi. Tapi nalika sababaraha aplikasi cicing dina server internal sareng anu sanésna dina arsitéktur awan tanpa server, manajemén nyandak tingkat pajeulitna anu anyar.

Hirup revolusi?

Sanajan sagala keluhan ieu, Kaula mah ngalawan solusi serverless per se. Jujur. Pamekar ngan ukur kedah ngartos — khususna upami aranjeunna ngajalajah tanpa server pikeun kahiji kalina — yén téknologi sanés gaganti langsung pikeun server. Gantina, pariksa kaluar tips urang jeung sumber pikeun nyieun aplikasi tanpa server jeung mutuskeun kumaha pangalusna pikeun nerapkeun model.

sumber: www.habr.com

Tambahkeun komentar