Dit is van kardinale belang om te verstaan wat bedienerloos werklik impliseer, want dit beteken nie dat daar nie 'n bediener is nie.
Eintlik, as 'n ontwikkelaar gee jy nie 'n rip oor die bediener in die agtergrond nie. Omdat die kode wat 'n ontwikkelaar ontwikkel iewers moet loop, is daar altyd 'n bediener wat in die agtergrond werk.
Die onderskeid is dat as jy 'n ontwikkelaar is, jy nie hoef te bekommer oor die vestiging, instandhouding of implementering van 'n bediener of die skryf van bedienerverwante kode nie.
Jy is nie meer verantwoordelik vir enige van daardie dinge nie, dus hoef jy nie daaroor bekommerd te wees nie.
U moet u aandag vestig op die ontwikkeling van die kode as 'n ontwikkelaar en nie op die infrastruktuur nie.
Bedienerlose raamwerke
Die metode om wolkgebaseerde toepassings te ontwikkel en te ontplooi is bedienerloos. Die wolkinfrastruktuur word deur die wolkverskaffer onderhou, nie deur die ontwikkelaars nie.
Daar word eenvoudig van hulle verwag om die bedrag op 'n gebruiksgebaseerde basis te betaal.
Die bedienerlose raamwerk is 'n platform wat jou in staat stel om dienstoepassings te skep - toepassings wat op hul eie geweldig opskaal terwyl dit u net sente kos - en dit sluit nou monitering-, toets- en sekuriteitnutsmiddels in om u te help om sulke toepassings te bestuur.
Kom ons ondersoek nou die verskillende bedienerlose raamwerktipes in meer besonderhede.
1. serverless
Jy dink dalk iemand wat gelukkig genoeg was om die domeinnaam te beveilig Serverless.com is bloot munt uit hul goeie fortuin, maar ek moet jou verseker dat dit nie die geval is nie.
Die bekendste bedienerlose raamwerk is die Serverless Framework, wat meer as 43,000 XNUMX sterre op het. GitHub.
Die gewildste bedienerlose raamwerk is Serverless, wat oorspronklik geskep is om ontwikkelaars te help om programme vir AWS Lambda te skep.
Met Lambda en ander FaaS-platforms stel dit jou in staat om vinnig bedienerlose toepassings te ontwerp, te ontplooi en te bestuur. Benewens Kubeless en Apache OpenWhisk, ondersteun dit Azure Functions, Google Cloud Functions, en meer.
Die infrastruktuur wat benodig word vir die gegewe funksies en gebeure word outomaties deur die Serverless Framework geskep.
Gevolglik kan jy komplekse, gebeurtenisgedrewe programme of mikrodienste skep wat hulself sal skaal op grond van aanvraag.
Daarbenewens, omdat dit verskaffer-neutraal is, kan u toepassings bondel en ontplooi oor 'n verskeidenheid wolke, insluitend Google Cloud, Azure, AWS, ens.
Boonop kan u die gebruiksgevalle daarvan uitbrei deur die funksionaliteit van die raamwerk met inproppe te verander.
Vir die ontwikkeling van gebruiksgevalle wat tans nie gedek word nie, bied Serverless 'n wye ekosisteem van inproppe.
2. AWS Charlie
Is jy op soek na 'n Python-raamwerk om bedienerlose toepassings te skep?
AWS Chalice is 'n Python bedienerlose toepassingsontwikkelingsplatform dit is 'n projek vir Python-entoesiaste.
Dit bied 'n mikroraamwerk wat vinnige toepassingsontwikkeling en -ontplooiing moontlik maak deur gebruik te maak van AWS Lambda en API Gateway.
Chalice stel outomaties die toepaslike hulpbronne op, wat jou in staat stel om vinnig bedienerlose mikrodienste te laat loop en te ontplooi en webtoepassings.
Daarbenewens REST API's kan vinnig na AWS ontplooi word met behulp van Chalice CLI. Boonop is dit maklik om CI/CD-pyplyne te skep, aangesien Chalice outomaties ontplooiingspyplyne skep deur AWS CodeBuild en CodePipeline te gebruik.
CyberArk het byvoorbeeld bedienerlose mikrodienste gebou met behulp van Chalice en 'n groter infrastruktuur met AWS CDK. Die ontwikkelaars se oorgang van 'n plaaslike na 'n wolkargitektuur is deur Chalice makliker gemaak.
Die integrasie van Amazon API Gateway, Amazon S3, Amazon SNS, Amazon SQS en ander AWS-dienste verbeter die API.
Chalice is Python-gesentreerd, daarom kan die gebruiksgevalle beperk word tot dienste wat in Python geskep is.
3. Claudia.js
Dit dien meer as 'n ontplooiingsinstrument eerder as 'n raamwerk.
Dit is 'n oopbronhulpmiddel wat programmeerders in staat stel om Node-toepassings vinnig en maklik in AWS Lambda en API Gateway te ontplooi (sonder om van die bedieners self te weet).
Dit stel die JavaScript-omgewing outomaties op en outomatiseer konfigurasie- en ontplooiingstakies.
Verder kan dit gebruik word sonder kommer oor hosting, skaalbaarheid, ens. as kliënt-kant kode of bedienerlose funksies.
Gebeurtenisgedrewe toepassings en web-API's wat outomaties skaal kan vinnig en sonder kommer deur ontwikkelaars geskep en ontplooi word.
Sy uitbreidingsbiblioteke stel gebruikers in staat om maklik chatbots en Web API-eindpunte te skep. Dit is 'n wonderlike metode om baie weergawes van jou webwerf op dieselfde tyd te bestuur sonder om die gerief en plesier wat jy van Claudia verwag het, in te boet.
Dit bevat 'n eenvoudige weergawebestuurhulpmiddel wat jou in staat stel om tegelykertyd aan talle weergawes te werk sonder om bekommerd te wees oor konflikte of om verlore te raak in 'n see van kode.
4. Zappa
Zappa, 'n ander Python-raamwerk, is maklik om te gebruik en ryk aan funksies. Dit stel jou in staat om gebeurtenis-gedrewe bedienerlose Python-gebaseerde programme op 'n naatlose manier na AWS Lambda te ontwerp en te ontplooi.
Zappa is ook 'n gewilde raamwerk vir die ontwikkeling van WSGI-gebaseerde toepassings en projekte.
Dit is versoenbaar met byna enige raamwerk wat aan WSGI voldoen, insluitend Pyramid, Bottle en selfs Django.
Verder, wanneer dit saam met Flask gebruik word, is Zappa ideaal vir bedienerlose hosting van ingewikkelde webtoepassings, beeldverwerking, teksverwerking en nommerknars.
Zappa konfigureer die ontplooiingsparameters outomaties. Ontplooi die toepassing na 'n produksiestadium deur 'n enkele opdragreël te gebruik wanneer die instellings toepaslik gespesifiseer is.
As jy 'n API Gateway CloudFormation-sjabloon wil hê, gebruik die sjabloonopdrag.
Gebruik SSL-sertifikate, AWS-sertifikaatbestuurder-sertifikate en Let's Encrypt-sertifikate om Zappa na gepasmaakte subdomeine en domeinname te ontplooi.
Aktiveer die API-poort se veilige eindpunte, insluitend die API-sleutel, IAM-beleid, Lambda-magtigers, Cognito-gebruikerpoel-magtigers en hulpbronbeleid.
Verder, met behulp van 'n S3-lêer, kan jy die omgewingsveranderlikes vir die plaaslike omgewing, afgeleë AWS-omgewing en verafgeleë omgewing verander.
5. Argitek
Argitek is 'n sterk raamwerk vir die skep van vinnige, bygewerkte en skaalbare wolk-inheemse toepassings.
Dit is 'n komplekse en omvattende raamwerk. Dit stel programmeerders in staat om vinnig bedienerlose argitektuur te skep met minimale kode, geen formaliteite en bondige konfigurasie.
Hulle kan dus uitsluitlik op sakelogika konsentreer. Boonop betaal jy net vir dienste wat gebruik, aangevra of tot nul afgeskaal word.
Argitek is gemaak vir die skep van webtoepassings met dinamiese databasisondersteuning. In 'n tegniese sin is dit 'n gevorderde omhulsel vir AWS SAM.
Enigiets wat dus met SAM gedoen kan word, kan dus ook met Architect gedoen word.
Die raamwerk blink egter uit met die skep van webtoepassings. Om ontplooiing eenvoudig te maak, gebruik die argitek gewilde tegnologieë soos Google Cloud Build en G Init-toestande.
Sonder enige menslike arbeid gebruik die argitek 'n app.arc-lêer om die kode te bou wat outomaties gekonfigureer en verskaf word in ooreenstemming met gebruikermagtigingsinstellings.
Voer eenvoudig hul skrifte, hulpmiddels uit Javascript-ontwikkelaars in skryf, ontfouting en toetsing van hul besigheidslogika.
6. Sigma
'n Nuwe wolkgebaseerde IDE genaamd Sigma is gebaseer op die konsep van bedienerlose ontwikkeling.
Dit is 'n volledige IDE wat jou in staat stel om kode te skep en dit intyds as 'n lewendige toepassing te publiseer. Dit is nie bloot 'n eenvoudige teksredigeerder met 'n paar fancy kenmerke nie.
Die Sigma IDE kan heen en weer met die bedienerlose (FaaS) platform van jou keuse kommunikeer, maar slegs as 'n konfigurasielêer teenwoordig is.
As gevolg hiervan kan jy ontelbare ure lank vervelige werke vermy. Sigma is van nature bedienerloos, in teenstelling met ander programme wat probeer om 'n vergelykbare doel te bereik.
Met 'n paar uitsonderings, kan die IDE sonder 'n back-end diens gebruik word deur slegs binne die blaaier te hardloop. Die agterkant is veral nodig om analitiese data in te samel en gebruikers te verifieer.
Toepassings word inkrementeel ontplooi en verbind met baie ander AWS-dienste, insluitend DynamoDB, AWS Lambda en AWS API.
NodeJS word goed ondersteun deur die Sigma IDE aangesien dit intydse toepassings moontlik maak. Dit is belangrik om hierdie een dop te hou en dit te probeer.
7. Jets
Koester jy Ruby?
Dan sal jy dalk Jets waardeer, 'n bedienerlose Ruby Framework vir die ontwerp en implementering van mikrodienste. Jy kan API-strukture skep en dit aan Lambda lewer met die raamwerk se omvattende gereedskapstel.
Jets kan ook gebruik word om selfstandige funksies te skep wat verskeie AWS-dienste en hulpbronne verbind.
Jou huidige kode word omskep in funksies vir Lambda en ander AWS-dienste via die Jets-raamwerk.
Dit stel jou in staat om meer tyd te spandeer om funksionele kode te bou deur prosesse soos ontplooiing en voorsiening oor te slaan.
Ruby-kode kan deur ontwikkelaars geskryf word en deur Jets in Lambda-funksies en Amazon API Gateway-bronne omgeskakel word.
As gevolg hiervan laat Jets jou toe om 'n verskeidenheid ontwerppatrone te skep, soos aanlyn API-toepassings, gebeurtenisgedrewe programme, IoT-argitektuur, en meer.
Om tyd te bespaar, is dit ontwerp sodat kode maklik omgeskakel kan word in lambda-funksies en AWS-hulpbronne.
8. AWS-bedienerlose toepassingsmodel
Om dit eenvoudig te stel, maak AWS SAM dit makliker om bedienerlose toepassings te skep wat met verskeie AWS-dienste integreer.
Dit maak dit makliker om bedienerlose toepassings binne die AWS-omgewing te ontwerp, te ontplooi en te ontfout, want dit is die amptelike bedienerlose ontplooiingsraamwerk van AWS.
Met SAM se snelskrifsintaksis kan ontwikkelaars hulpbronne beskryf in 'n fraksie van die lyne wat nodig is met AWS CloudFormation. Met AWS SAM kan jy 'n verskeidenheid toepassings skep, insluitend sterk gebeurtenisgedrewe asinchrone aktiwiteite.
Boonop maak dit Docker-gebaseerde beeldgebaseerde Lambda-funksies moontlik, wat bedienerlose ontwikkeling aansienlik vaartbelyn maak.
Deur AWS Lambda, API Gateway, DynamoDB-tabelle en S3-dienste as grondslag te gebruik, word die raamwerk gereeld gebruik om die ontplooiing van bedienerlose toepassings te outomatiseer.
Toepassings wat deur SAM-sjablone of AWS CDK gespesifiseer word, kan plaaslik gebou, getoets en ontfout word deur die SAM CLI se Lambda-agtige uitvoeringsomgewing te gebruik.
Ontwikkelaars kan kodeveranderings in die wolk toets met SAM Accelerate vir wolkgebaseerde ontwikkeling, wat die behoefte aan plaaslike emulasie vir bedienerlose toepassings uitskakel. koppel aan 'n verskeidenheid verskillende bedienerlose AWS-produkte.
Dit sluit 'n verskeidenheid praktiese SAM CLI-opdragte in (soos sam init, sam logs en sam-pakket, onder gewilde).
9. Flogo
Flogo is ideaal vir Docker-gebaseerde bedienerlose toepassingsontwikkeling.
Dit is 'n oopbron-ekosisteem met gebeurtenisgedrewe kenmerke wat dit makliker maak om kontemporêre, hulpbronbewuste bedienerlose toepassings te skep.
Dit bied 'n pasgemaakte raamwerk om vinnig programme op AWS Lambda te ontwerp, te ontplooi en te bestuur deur slegs Docker-beelde te gebruik en is in die Golang-programmeertaal geskryf.
Project Flogo is deur verskeie besighede gebruik, insluitend Thingstream, Liturgical Publishing, Biogen, Cosentino en Campari Group, om hul gebruiksgevalle te ondersteun.
CargoSmart kan byvoorbeeld KI gebruik om IoT-data te ontleed om gebruikerservarings deur beter oordeel te verbeter.
Dit het gebruik gemaak van Flogo se eenvoud in integrasie machine learning (ML) modelle.
Dit bied oplossings vir verskeie besighede wat vinnig moet reageer en apps vinnig moet ontwikkel om tyd te bespaar.
Die Golang-programmeertaal en visuele web-UI word deur Flogo ondersteun en kan gebruik word om jou toepassings te ontwerp en te bou.
10. AWS versterk
Gebruik die AWS Amplify-raamwerk om maklik skaalbare bedienerlose toepassings vir web- en mobiele platforms te skep en onbeperkte buigsaamheid te geniet.
Deur intelligente prosesse te gebruik, kan u u bedienerlose backends opstel met data, berging, verifikasie en meer.
Met minder reëls kode, koppel mobiele en webtoepassings aan nuwe of bestaande AWS-dienste.
Enkelbladsy-webtoepassings, bedienerkant-weergegee toepassings en statuswebbladsye kan almal met slegs 'n paar klikke gehuisves en ontplooi word.
Boonop maak dit dit maklik om toepassinggebruikers en inhoud te bestuur. Selfoon- en webontwikkelaars aan die voorkant kan vinniger volledige-stapel-toepassings op AWS bou en die toepassing verander wanneer u dit wil met behulp van AWS Amplify.
Talle webraamwerke, insluitend reageer, Angular, JavaScript, Vue.js, Next.js, ens., sowel as mobiele platforms, insluitend iOS, Ionic, Flutter, Android en React Native, word deur Amplify ondersteun.
Gevolgtrekking
Ons het nou die topbedienerlose raamwerke behandel wat u in u toepassing kan integreer.
Hierdie tegnologie stel ons in staat om toepassings vinniger op die mark te publiseer en waarde te verhoog deur jou toepassing te optimaliseer, asook om geld en hulpbronne te bespaar deur hulpbronne te skaal in ooreenstemming met die vraag na verkeer.
Die nuutste neiging in die skep en lewering van ons wolkgebaseerde toepassings is bedienerlose rekenaars. Baie meer splinternuwe bedienerlose raamwerke sal in die volgende jare geskep word om besigheidsoplossings te vereenvoudig, koste te verminder en tegnologie met 'n paar bykomende voordele te voorsien.
Lewer Kommentaar