Napa revolusi tanpa server wis buntu

Titik utama

  • Wis pirang-pirang taun saiki kita wis dijanjekake manawa komputasi tanpa server (tanpa server) bakal mbukak jaman anyar tanpa OS khusus kanggo mbukak aplikasi. Kita dikandhani manawa struktur kasebut bakal ngrampungake akeh masalah skalabilitas. Nyatane, kabeh beda.
  • Nalika akeh sing ndeleng teknologi tanpa server minangka ide anyar, asale bisa dilacak wiwit taun 2006 karo Zimki PaaS lan Google App Engine, sing loro-lorone nggunakake arsitektur tanpa server.
  • Ana papat alasan kenapa revolusi tanpa server mandheg, saka dhukungan basa pamrograman sing winates nganti masalah kinerja.
  • Komputasi tanpa server ora ana gunane. Adoh saka iku. Nanging, ora kudu katon minangka panggantos langsung kanggo server. Kanggo sawetara aplikasi, bisa dadi alat sing praktis.

Server mati, langgeng server!

Iki minangka seruan perang para penganut revolusi tanpa server. Mirit cepet ing pers industri sajrone sawetara taun kepungkur cukup kanggo nyimpulake manawa model server tradisional wis mati lan ing sawetara taun kita kabeh bakal nggunakake arsitektur tanpa server.

Kaya sing dingerteni sapa wae ing industri, lan kaya sing kita deleng ing artikel kita kahanan komputasi tanpa server, iki salah. Senadyan akeh artikel babagan manfaat revolusi tanpa server, ora tau kelakon. Nyatane, pasinaon anyar nuduhakesupaya revolusi iki bisa tekan buntu.

Sawetara janji kanggo model tanpa server mesthi wis kelakon, nanging ora kabeh. Ora saben wong.

Ing artikel iki aku pengin nimbang alasan kanggo kondisi iki. Apa kekurangan keluwesan model tanpa server isih dadi alangan kanggo adopsi sing luwih akeh, sanajan tetep migunani ing kahanan tartamtu lan wis ditemtokake.

Apa sing dijanjekake pakar komputer tanpa server

Sadurunge pindhah menyang masalah komputasi tanpa server, ayo ndeleng apa sing kudu diwenehake. Janji revolusi tanpa server padha akeh lan - ing kaping - banget ambisi.

Kanggo sing ora ngerti istilah kasebut, iki minangka definisi singkat. Komputasi tanpa server nemtokake arsitektur ing ngendi aplikasi (utawa bagean saka aplikasi) mlaku kanthi dikarepake ing lingkungan runtime sing biasane di-host saka jarak jauh. Kajaba iku, sistem tanpa server bisa dadi tuan rumah. Mbangun sistem tanpa server sing kuwat wis dadi keprihatinan utama para pangurus sistem lan perusahaan SaaS sajrone sawetara taun kepungkur, amarga (diklaim) arsitektur iki nawakake sawetara kaluwihan utama tinimbang model klien/server "tradisional":

  1. Model tanpa server ora mbutuhake pangguna njaga sistem operasi dhewe utawa malah nggawe aplikasi sing kompatibel karo sistem operasi tartamtu. Nanging, pangembang nggawe kode sing dienggo bareng, upload menyang platform tanpa server, lan nonton mlaku.
  2. Sumber daya ing kerangka tanpa server biasane ditagih saben menit (utawa malah detik). Iki tegese klien mung mbayar wektu sing bener nglakokake kode kasebut. Iki mbandhingaké favorably karo maya VM tradisional, ngendi mesin meneng paling wektu, nanging sampeyan kudu mbayar.
  3. Masalah skalabilitas uga ditanggulangi. Sumber daya ing kerangka tanpa server ditugasake kanthi dinamis supaya sistem bisa gampang ngatasi lonjakan sing dikarepake.

Singkatipun, model tanpa server nyedhiyakake solusi sing fleksibel, murah, lan bisa diukur. Aku kaget kita ora mikir idea iki sadurungé.

Apa iki pancen ide anyar?

Bener, ide kasebut ora anyar. Konsep ngidini pangguna kanggo mbayar mung kanggo wektu kode bener mlaku wis watara wiwit iki ngenalaken ing Zimki PaaS ing 2006, lan ing wektu sing padha, Google App Engine teka karo solusi sing padha.

Nyatane, sing saiki diarani model "tanpa server" luwih tuwa tinimbang akeh teknologi sing saiki diarani "cloud native" sing nyedhiyakake meh padha. Kaya sing kacathet, model tanpa server mung minangka tambahan saka model bisnis SaaS sing wis ana pirang-pirang dekade.

Sampeyan uga kudu dingerteni manawa model tanpa server dudu arsitektur FaaS, sanajan ana hubungane antarane loro kasebut. FaaS ateges bagean komputasi-sentris saka arsitektur tanpa server, nanging ora makili kabeh sistem.

Dadi kenapa kabeh hype iki? Ya, amarga tingkat penetrasi Internet ing negara-negara berkembang terus mundhak, semono uga panjaluk sumber daya komputasi. Contone, akeh negara kanthi sektor e-commerce sing berkembang kanthi cepet mung ora duwe infrastruktur komputasi kanggo aplikasi ing platform kasebut. Iki minangka platform tanpa server sing dibayar.

Masalah karo Model Tanpa Server

Sing nyekel yaiku model tanpa server duwe… masalah. Aja salah: Aku ora ngandika padha ala ing lan saka awake dhewe utawa ora nyedhiyani Nilai pinunjul kanggo sawetara perusahaan ing sawetara kahanan. Nanging pratelan utama "revolusi" - manawa arsitektur tanpa server bakal cepet ngganti arsitektur tradisional - ora bakal bisa ditindakake.

Mulane.

Dhukungan winates kanggo basa pamrograman

Umume platform tanpa server mung ngidini aplikasi sing ditulis ing basa tartamtu bisa mlaku. Iki banget mbatesi keluwesan lan adaptasi sistem kasebut.

Platform tanpa server dianggep ndhukung umume basa utama. AWS Lambda lan Azure Functions uga nyedhiyakake pambungkus kanggo mbukak aplikasi lan fungsi ing basa sing ora didhukung, sanajan iki asring mbutuhake biaya kinerja. Dadi kanggo umume organisasi, watesan iki biasane ora dadi masalah. Nanging iki bab. Salah sawijining keuntungan saka model tanpa server mesthine yaiku program sing ora jelas, sing jarang digunakake bisa digunakake kanthi luwih murah amarga sampeyan mung mbayar wektu mlaku. Lan program sing ora jelas, jarang digunakake asring ditulis ing ... basa pamrograman sing ora jelas, arang digunakake.

Iki ngrusak salah sawijining kaluwihan utama model tanpa server.

Naleni menyang vendor

Masalah nomer loro karo platform tanpa server, utawa paling ora cara sing ditindakake saiki, yaiku biasane ora padha ing tingkat operasional. Ora ana standarisasi babagan fungsi nulis, penyebaran lan manajemen. Iki tegese migrasi fitur saka siji platform menyang platform liyane mbutuhake wektu.

Sisih paling angel kanggo pindhah menyang model tanpa server dudu fitur komputasi, sing biasane mung potongan kode, nanging carane aplikasi komunikasi karo sistem sing disambungake kayata panyimpenan obyek, manajemen identitas, lan antrian. Fungsi bisa dipindhah, nanging liyane saka aplikasi ora bisa. Iki minangka kebalikan saka platform murah lan fleksibel sing dijanjekake.

Sawetara mbantah manawa model tanpa server anyar lan durung ana wektu kanggo standarisasi cara kerjane. Nanging dheweke ora anyar, kaya sing dakkandhakake ing ndhuwur, lan akeh teknologi maya liyane kayata kontaner wis dadi luwih trep amarga pangembangan lan nyebarake standar sing apik.

Produktivitas

Kinerja komputasi platform tanpa server angel diukur, sebagian amarga vendor cenderung ndhelikake informasi. Umume mbantah manawa fitur-fitur ing platform tanpa server sing adoh, mlaku kanthi cepet kaya ing server internal, kajaba sawetara masalah latensi sing ora bisa dihindari.

Nanging, sawetara bukti nuduhake liya. Fungsi sing sadurunge durung mbukak ing platform tartamtu, utawa wis ora mbukak kanggo sawetara wektu, njupuk sawetara wektu kanggo initialize. Iki bisa uga amarga kode kasebut wis ditransfer menyang sawetara medium panyimpenan sing kurang bisa diakses, sanajan - kaya pathokan - umume vendor ora bakal ngandhani babagan porting data.

Mesthi, ana sawetara cara kanggo ngubengi iki. Salah sijine yaiku ngoptimalake fitur kanggo basa awan apa wae sing digunakake ing platform tanpa server, nanging rada ngrusak pratelan yen platform kasebut "lincah".

Pendekatan liyane yaiku kanggo mesthekake yen program kritis kinerja mlaku kanthi rutin supaya tetep "seger". Pendekatan kapindho iki, mesthi, minangka kontras cilik kanggo pratelan yen platform tanpa server luwih larang amarga sampeyan mung mbayar wektu program sampeyan mbukak. Panyedhiya awan wis ngenalake cara anyar kanggo nyuda peluncuran kadhemen, nanging akeh sing mbutuhake "skala siji", sing ngrusak nilai asli FaaS.

Masalah wiwitan kadhemen bisa ditanggulangi sebagian kanthi mbukak sistem tanpa server ing omah, nanging iki biaya dhewe lan tetep dadi pilihan niche kanggo tim sing duwe sumber daya.

Sampeyan ora bisa mbukak kabeh aplikasi

Pungkasan, mbok menawa alesan paling penting kenapa arsitektur tanpa server ora bakal ngganti model tradisional kapan wae amarga dheweke (umume) ora bisa mbukak kabeh aplikasi.

Luwih tepate, ora praktis saka sudut pandang biaya. Monolit sing sukses mbokmenawa ora kudu diuripake dadi seperangkat patang lusin fungsi sing disambungake dening wolung gateway, patang puluh antrian, lan rolas database. Mulane, tanpa server luwih cocog kanggo pangembangan anyar. Sakbenere ora ana aplikasi (arsitektur) sing bisa ditransfer. Sampeyan bisa migrasi, nanging sampeyan kudu miwiti saka ngeruk.

Iki tegese ing akèh-akèhé kasus, platform tanpa server digunakake minangka pelengkap kanggo server mburi mburi kanggo nindakake tugas intensif komputasi. Iki beda banget karo rong wujud komputasi awan, kontaner lan mesin virtual liyane, sing menehi cara sakabehe kanggo nindakake komputasi remot. Iki nggambarake salah sawijining tantangan migrasi saka layanan mikro menyang sistem tanpa server.

Mesthi, iki ora tansah masalah. Kemampuan kanggo nggunakake sumber daya komputasi kanthi periodik tanpa tuku hardware sampeyan dhewe bisa nggawa keuntungan nyata lan langgeng kanggo akeh organisasi. Nanging yen sawetara aplikasi ana ing server internal lan liyane ana ing arsitektur awan tanpa server, mula manajemen bakal ngalami tingkat kerumitan anyar.

Urip revolusi?

Sanajan kabeh keluhan kasebut, aku ora nentang solusi tanpa server. Jujur. Mung pangembang kudu ngerti - utamane yen lagi njelajah model tanpa server kanggo pisanan - manawa teknologi iki dudu pengganti langsung kanggo server. Nanging, priksa tips lan sumber daya kita mbangun aplikasi tanpa server lan mutusake cara paling apik kanggo ngetrapake model iki.

Source: www.habr.com

Add a comment