Napakahalagang maunawaan kung ano ang tunay na ipinahihiwatig ng walang server dahil hindi ito nangangahulugan na walang server.
Sa totoo lang, bilang isang developer, hindi ka nagbibigay ng rip tungkol sa server sa background. Dahil ang code na binuo ng isang developer ay kailangang tumakbo sa isang lugar, palaging may server na tumatakbo sa background.
Ang pagkakaiba ay kung ikaw ay isang developer, hindi mo kailangang mag-alala tungkol sa pagtatatag, pagpapanatili, o pag-deploy ng isang server o pagsulat ng code na nauugnay sa server.
Wala ka nang pananagutan sa alinman sa mga bagay na iyon, kaya hindi mo kailangang mag-alala tungkol sa mga ito.
Dapat mong ilagay ang iyong pansin sa pagbuo ng code bilang isang developer at hindi sa imprastraktura.
Mga Framework na Walang Server
Ang paraan para sa pagbuo at pag-deploy ng mga cloud-based na app ay walang server. Ang cloud infrastructure ay pinapanatili ng cloud provider, hindi ng mga developer.
Kinakailangan lang nilang bayaran ang kabuuan sa batayan ng paggamit.
Ang serverless framework ay isang platform na nagbibigay-daan sa iyong lumikha ng mga application ng serbisyo—mga app na napakalaki ng pagtaas sa kanilang sarili habang ginagastos ka lang ng mga pennies—at kasama na ngayon ang pagsubaybay, pagsubok, at mga tool sa seguridad upang matulungan kang pamahalaan ang mga naturang application.
Suriin natin ngayon ang iba't ibang uri ng walang server na framework nang mas detalyado.
1. Walang server
Maaaring iniisip mo na may isang taong pinalad na nakakuha ng domain name Walang server.com ay kumikita lamang sa kanilang magandang kapalaran, ngunit kailangan kong tiyakin sa iyo na hindi ito ang kaso.
Ang pinakakilalang serverless framework ay ang Serverless Framework, na mayroong mahigit 43,000 bituin sa GitHub.
Ang pinakasikat na framework na walang server ay Serverless, na orihinal na ginawa upang tulungan ang mga developer na lumikha ng mga app para sa AWS Lambda.
Sa Lambda at iba pang mga platform ng FaaS, binibigyang-daan ka nitong magdisenyo, mag-deploy, at pamahalaan ang mga application na walang server nang mabilis. Bilang karagdagan sa Kubeless at Apache OpenWhisk, sinusuportahan nito ang Azure Functions, Google Cloud Functions, at higit pa.
Ang imprastraktura na kinakailangan para sa mga ibinigay na function at kaganapan ay awtomatikong nilikha ng Serverless Framework.
Dahil dito, maaari kang lumikha ng mga kumplikadong programa o microservice na pinapagana ng kaganapan na magpapalaki sa kanilang sarili batay sa pangangailangan.
Bukod pa rito, dahil neutral ito sa provider, maaari kang mag-bundle at mag-deploy ng mga app sa iba't ibang cloud, kabilang ang Google Cloud, Azure, AWS, atbp.
Bukod pa rito, maaari mong palawakin ang mga kaso ng paggamit nito sa pamamagitan ng pagbabago sa functionality ng framework gamit ang mga plugin.
Para sa pagbuo ng mga kaso ng paggamit na kasalukuyang hindi saklaw, ang Serverless ay nag-aalok ng malawak na ecosystem ng mga plugin.
2. AWS Charlie
Naghahanap ka ba ng balangkas ng Python upang lumikha ng mga application na walang server?
Ang AWS Chalice ay isang Python platform ng pagbuo ng application na walang server iyon ay isang proyekto para sa mga mahilig sa Python.
Nag-aalok ito ng microframework na nagbibigay-daan sa mabilis na pagbuo at pag-deploy ng application gamit ang AWS Lambda at API Gateway.
Awtomatikong sine-set up ng Chalice ang naaangkop na mga mapagkukunan, na nagbibigay-daan sa iyong mabilis na tumakbo at mag-deploy ng mga walang server na microservice at mga aplikasyon ng web.
Bukod pa rito, REST API maaaring mabilis na i-deploy sa AWS gamit ang Chalice CLI. Bukod pa rito, simple lang gumawa ng mga CI/CD pipeline dahil awtomatikong gumagawa si Chalice ng mga deployment pipeline gamit ang AWS CodeBuild at CodePipeline.
Halimbawa, binuo ng CyberArk ang mga serverless microservice gamit ang Chalice at mas malaking imprastraktura na may AWS CDK. Ang paglipat ng mga developer mula sa isang on-premise patungo sa isang cloud architecture ay ginawang mas simple ng Chalice.
Ang pagsasama ng Amazon API Gateway, Amazon S3, Amazon SNS, Amazon SQS, at iba pang mga serbisyo ng AWS ay nagpapahusay sa API.
Ang Chalice ay Python-centric, kaya ang mga kaso ng paggamit ay maaaring limitado sa mga serbisyong ginawa sa Python.
3. Claudia.js
Mas nagsisilbi itong tool sa pag-deploy sa halip na isang balangkas.
Ito ay isang open-source na tool na nagbibigay-daan sa mga programmer na mabilis at madaling mag-deploy ng mga Node application sa AWS Lambda at API Gateway (nang hindi alam ang tungkol sa mga server mismo).
Awtomatikong sine-set up nito ang kapaligiran ng JavaScript at ino-automate nito ang mga gawain sa pagsasaayos at pag-deploy.
Higit pa rito, maaari itong gamitin nang walang pag-aalala tungkol sa pagho-host, scalability, atbp. bilang client-side code o mga function na walang server.
Ang mga app na hinimok ng kaganapan at ang mga web API ng auto-scaling ay maaaring gawin at i-deploy nang mabilis at walang pag-aalala ng mga developer bilang resulta.
Ang mga extension na library nito ay nagbibigay-daan sa mga user na madaling gumawa ng mga chatbot at Web API endpoint. Ito ay isang mahusay na paraan upang pamahalaan ang maraming mga bersyon ng iyong site nang sabay-sabay nang hindi nakompromiso ang kaginhawahan at kasiyahan na iyong inaasahan mula kay Claudia.
Kabilang dito ang isang simpleng tool sa pamamahala ng bersyon, na nagbibigay-daan sa iyong magtrabaho sa maraming bersyon nang sabay-sabay nang hindi nababahala tungkol sa mga salungatan o nawawala sa isang dagat ng code.
4. Zappa
Ang Zappa, isa pang Python framework, ay simpleng gamitin at mayaman sa mga feature. Binibigyang-daan ka nitong magdisenyo at mag-deploy ng mga serverless na Python-based na app na batay sa kaganapan sa AWS Lambda sa walang putol na paraan.
Ang Zappa ay isa ring sikat na balangkas para sa pagbuo ng mga app at proyektong nakabatay sa WSGI.
Tugma ito sa halos anumang balangkas na sumusunod sa WSGI, kabilang ang Pyramid, Bottle, at maging ang Django.
Higit pa rito, kapag ginamit kasabay ng Flask, ang Zappa ay perpekto para sa walang server na pagho-host ng kumplikado mga aplikasyon ng web, pagpoproseso ng imahe, pagpoproseso ng teksto, at pag-crunch ng numero.
Awtomatikong kino-configure ng Zappa ang mga parameter ng deployment. I-deploy ang application sa isang yugto ng produksyon gamit ang isang command line kapag ang mga setting ay naaangkop na tinukoy.
Kung gusto mo ng API Gateway CloudFormation template, gamitin ang template command.
Gumamit ng mga SSL certificate, AWS Certificate Manager certificate, at Let's Encrypt certificate para i-deploy ang Zappa sa mga custom na subdomain at domain name.
I-enable ang mga secure na endpoint ng API Gateway, kabilang ang API key, IAM policy, Lambda Authorizers, Cognito User Pool Authorizers, at Resource Policy.
Bilang karagdagan, gamit ang isang S3 file, maaari mong baguhin ang mga variable ng kapaligiran para sa lokal na kapaligiran, malayong AWS na kapaligiran, at malayong kapaligiran.
5. Arkitekto
Ang Architect ay isang matibay na framework para sa paggawa ng mabilis, napapanahon, at nasusukat na cloud-native na apps.
Ito ay isang kumplikado at komprehensibong balangkas. Binibigyang-daan nito ang mga programmer na mabilis na lumikha ng walang server na arkitektura gamit ang kaunting code, walang pormalidad, at maikling configuration.
Kaya't maaari silang tumutok lamang sa lohika ng negosyo. Bukod pa rito, magbabayad ka lamang para sa mga serbisyong ginagamit, hinihiling, o binabawasan sa zero.
Ang arkitekto ay ginawa para sa paglikha ng mga web application na may dynamic na suporta sa database. Sa teknikal na kahulugan, isa itong advanced na wrapper para sa AWS SAM.
Kaya, ang anumang bagay na maaaring gawin sa SAM ay maaari ding gawin sa Arkitekto.
Gayunpaman, mahusay ang framework sa paggawa ng mga web app. Upang gawing simple ang deployment, ginagamit ng arkitekto ang mga kilalang teknolohiya tulad ng Google Cloud Build at mga kundisyon ng G Init.
Nang walang anumang paggawa ng tao, gumagamit ang arkitekto ng app.arc file upang buuin ang code na awtomatikong na-configure at ibinigay alinsunod sa mga setting ng awtorisasyon ng user.
Sa simpleng pagpapatakbo ng kanilang mga script, mga tulong Mga developer ng Javascript sa pagsulat, pag-debug, at pagsubok sa kanilang lohika sa negosyo.
6. Sigma
Ang isang bagong cloud-based na IDE na tinatawag na Sigma ay batay sa konsepto ng serverless development.
Ito ay isang ganap na tampok na IDE na nagbibigay-daan sa iyong lumikha ng code at i-publish ito bilang isang live na application sa real-time. Ito ay hindi lamang isang simpleng text editor na may ilang mga magarbong tampok.
Ang Sigma IDE ay maaaring makipag-usap nang pabalik-balik sa serverless (FaaS) na platform na iyong pinili, ngunit kung mayroong configuration file.
Bilang kinahinatnan, maiiwasan mo ang paggawa ng mga nakakapagod na trabaho sa hindi mabilang na oras. Ang Sigma ay likas na walang server, kabaligtaran sa iba pang mga programa na nagtatangkang makamit ang isang maihahambing na layunin.
Sa ilang mga pagbubukod, ang IDE ay maaaring gamitin nang walang back-end na serbisyo sa pamamagitan ng pagpapatakbo lamang sa loob ng browser. Sa partikular, ang back-end ay kinakailangan upang mangolekta ng analytical data at patotohanan ang mga user.
Ang mga application ay unti-unting na-deploy at kumonekta sa maraming iba pang Serbisyo ng AWS, kabilang ang DynamoDB, AWS Lambda, at AWS API.
Ang NodeJS ay mahusay na suportado ng Sigma IDE dahil pinapayagan nito ang mga real-time na aplikasyon. Mahalagang bantayan ang isang ito at subukan ito.
7. Jet
Mahal mo ba si Ruby?
Pagkatapos ay maaari mong pahalagahan ang Jets, isang walang server na Ruby Framework para sa pagdidisenyo at pag-deploy ng mga microservice. Maaari kang lumikha ng mga istruktura ng API at ihatid ang mga ito sa Lambda gamit ang komprehensibong toolkit ng framework.
Magagamit din ang mga jet upang lumikha ng mga standalone na function na kumokonekta sa ilang serbisyo at mapagkukunan ng AWS.
Ang iyong kasalukuyang code ay binago sa mga function para sa Lambda at iba pang mga serbisyo ng AWS sa pamamagitan ng Jets framework.
Nagbibigay-daan ito sa iyong gumugol ng mas maraming oras sa pagbuo ng functional code sa pamamagitan ng paglaktaw sa mga proseso tulad ng deployment at provisioning.
Ang Ruby code ay maaaring isulat ng mga developer at i-convert sa mga function ng Lambda at mga mapagkukunan ng Amazon API Gateway ng Jets.
Bilang resulta, binibigyang-daan ka ng Jets na lumikha ng iba't ibang mga pattern ng disenyo, tulad ng mga online na API application, mga programang hinimok ng kaganapan, arkitektura ng IoT, at higit pa.
Upang makatipid ng oras, idinisenyo ito upang payagan ang code na madaling ma-convert sa mga function ng lambda at mga mapagkukunan ng AWS.
8. Modelo ng AWS Serverless Application
Sa madaling salita, pinapadali ng AWS SAM ang paggawa ng mga serverless na app na sumasama sa iba't ibang serbisyo ng AWS.
Pinapadali nitong magdisenyo, mag-deploy, at mag-debug ng mga serverless na app sa loob ng AWS environment dahil ito ang opisyal na serverless deployment framework mula sa AWS.
Gamit ang shorthand syntax ng SAM, maaaring ilarawan ng mga developer ang mga mapagkukunan sa isang bahagi ng mga linyang kailangan sa AWS CloudFormation. Sa AWS SAM, maaari kang lumikha ng iba't ibang mga app, kabilang ang malakas na aktibidad na asynchronous na hinihimok ng kaganapan.
Bukod pa rito, binibigyang-daan nito ang mga function ng Lambda na nakabatay sa imahe na nakabatay sa Docker, na makabuluhang nag-streamline ng walang server na pag-unlad.
Gamit ang AWS Lambda, API Gateway, mga talahanayan ng DynamoDB, at mga serbisyo ng S3 bilang pundasyon, ang framework ay madalas na ginagamit upang i-automate ang pag-deploy ng mga walang server na application.
Ang mga application na tinukoy ng mga template ng SAM o AWS CDK ay maaaring itayo, subukan, at i-debug nang lokal gamit ang SAM CLI na parang Lambda na execution environment.
Maaaring subukan ng mga developer ang mga pagbabago sa code sa cloud gamit ang SAM Accelerate para sa cloud-based na development, na inaalis ang pangangailangan para sa lokal na emulation para sa mga serverless na app. kumokonekta sa iba't ibang mga produkto ng AWS na walang server.
Kabilang dito ang iba't ibang praktikal na mga utos ng SAM CLI (tulad ng sam init, sam log, at sam package, bukod sa mga sikat).
9. Flogo
Ang Flogo ay perpekto para sa pag-develop ng application na walang server na nakabase sa Docker.
Ito ay isang open-source na ecosystem na may mga feature na hinihimok ng kaganapan na nagpapadali sa paggawa ng mga kontemporaryo, nakakaalam sa mapagkukunan na walang server na mga app.
Nag-aalok ito ng isang pinasadyang framework upang mabilis na magdisenyo, mag-deploy, at mamahala ng mga app sa AWS Lambda gamit lamang ang mga larawan ng Docker at nakasulat sa wikang programming ng Golang.
Ang Project Flogo ay ginamit ng ilang negosyo, kabilang ang Thingstream, Liturgical Publishing, Biogen, Cosentino, at Campari Group, upang suportahan ang kanilang mga kaso ng paggamit.
Ang CargoSmart, halimbawa, ay maaaring gumamit ng AI upang pag-aralan ang data ng IoT upang mapabuti ang mga karanasan ng user sa pamamagitan ng mas mahusay na paghatol.
Ginamit nito ang pagiging simple ni Flogo sa pagsasama machine learning (ML) na mga modelo.
Nag-aalok ito ng mga solusyon para sa iba't ibang negosyo na kailangang mag-react nang mabilis at mabilis na bumuo ng mga app para makatipid ng oras.
Ang Golang programming language at visual web UI ay sinusuportahan ng Flogo at maaaring gamitin sa disenyo at pagbuo ng iyong mga app.
10. AWS Palakihin
Gamitin ang AWS Amplify framework para madaling makagawa ng mga scalable na serverless na app para sa mga web at mobile platform at tangkilikin ang walang limitasyong flexibility.
Gamit ang matatalinong proseso, maaari mong i-configure ang iyong mga serverless backend na may data, storage, authentication, at higit pa.
Sa mas kaunting linya ng code, ikonekta ang mga mobile at web application sa bago o umiiral nang mga serbisyo ng AWS.
Ang mga single-page na web app, server-side na na-render na apps, at status na mga webpage ay maaaring i-host at i-deploy nang may ilang pag-click lang.
Bukod pa rito, pinapasimple nitong pamahalaan ang mga user at content ng app. Ang mga front-end na mobile at web developer ay maaaring bumuo ng mga full-stack na app sa AWS nang mas mabilis at baguhin ang app anumang oras na kailangan mo sa tulong ng AWS Amplify.
Maraming mga web framework, kabilang ang Gantihin, Angular, JavaScript, Vue.js, Next.js, atbp., pati na rin ang mga mobile platform, kabilang ang iOS, Ionic, Flutter, Android, at React Native, ay sinusuportahan ng Amplify.
Konklusyon
Sinasaklaw na namin ngayon ang mga nangungunang walang server na framework na maaari mong isama sa iyong aplikasyon.
Binibigyang-daan kami ng teknolohiyang ito na mag-publish ng mga application sa merkado nang mas mabilis at pataasin ang halaga sa pamamagitan ng pag-optimize ng iyong application, pati na rin ang pagtitipid ng pera at mga mapagkukunan sa pamamagitan ng pag-scale ng mga mapagkukunan na naaayon sa pangangailangan ng trapiko.
Ang pinakabagong trend sa paggawa at paghahatid ng aming cloud-based na apps ay serverless computing. Marami pang bagong serverless na framework ang gagawin sa mga susunod na taon para pasimplehin ang mga solusyon sa negosyo, bawasan ang mga gastos, at magbigay ng teknolohiya ng ilang karagdagang benepisyo.
Mag-iwan ng Sagot