13 rammer for å lage serverløse apper

Er du begeistret for serverløs teknologi? Er du ivrig etter å få tak i et nytt prosjekt, men ikke sikker på hvor du skal begynne?

Her er en oppsummering av de mest populære serverløse rammeverkene du kan få tak i!

Serverløs databehandling er populær blant de som elsker ideen om å måtte administrere mindre samtidig som de har tid til å lage mer. Og selv om teknologien fortsatt er ganske ny, går mange utviklere og ingeniører ut av deres måte å bygge spennende løsninger for fremtiden for serverløse operasjoner.

Som jeg er sikker på at du allerede vet, betyr ikke Serverless akkurat uten en server. Det betyr bare færre servere og flere funksjoner. Og hvis du leter etter en pålitelig FaaS (Functions as a Service)-plattform for ditt neste prosjekt, sjekk ut vår forrige oppsummering av de beste serverløse databehandlingsplattformene.

Når det er sagt, la oss ta en titt på rammene som er tilgjengelige for oss. Vi avslutter ting med noen spennende prosjekter som utvikles i det serverløse området, så sørg for at du holder deg for dem!

AWS Amplify

Bygg skalerbare serverløse apper raskt for nett og mobil med AWS Amplify rammer og få uendelig fleksibilitet. Konfigurer dine serverløse backends med data, lagring, autentisering og mer ved å bruke smarte arbeidsflyter.

Koble mobil- og nettapper til eksisterende eller nye AWS-ressurser med færre kodelinjer. Du kan være vert for og distribuere enkeltside-webapper, server-side-gjengitte apper og statusnettsteder med noen få klikk. Den lar deg også enkelt administrere innhold og appbrukere.

AWS Amplify hjelper front-end mobil- og webutviklere med å lage fullstack-apper på AWS raskere og tilpasse appen når du trenger det. Amplify støtter mange nettrammeverk som React, Angular, JavaScript, Vue.js, Next.js, etc., og mobile plattformer som iOS, Ionic, Flutter, Android og React Native.

Du kan integrere med mange UI-komponenter til Amplify for å akselerere apputvikling. Få mange funksjoner og verktøy som autentisering, interaksjoner, funksjoner, DataStore, brukeradministrasjon, API (REST, GraphQL), Analytics, AI/ML-spådommer, lagring, PubSub, push-varsler, etc., for utvikling. I tillegg har du Managed Hosting, PR-forhåndsvisninger, CI/CD, tilpassede domener og overvåking for distribusjon.

Midtveis

Få Node.js serverløse rammeverk for å lage tradisjonelle server-side applikasjoner, små programmer, mikrotjenester og bygge serverløse tjenester med Midtveis. Den er skrevet i typescript som bruker en IoC-injeksjonsmekanisme for å skille appens logikk og gjøre den enklere utviklingen av de store Node.js-appene mer naturlig.

Midway kan bruke express, EggJS eller koa som grunnleggende rammeverk. Den gir grunnleggende løsninger som GRPC, Dubbo.js, RabbitMQ og Socket.io for uavhengig bruk. I tillegg fungerer Midway som et Node.js serverløst nettrammeverk for fullstack- eller frontend-utviklere.

Midway lar deg bygge neste generasjons apper som kjører på en container, VM, Alibaba Cloud, AWS og Tencent Cloud. Du kan også enkelt integrere den med Vue og React. Du vil finne mange funksjoner som:

  • Gruppe og skalerbare plugins
  • Avansert gruppemellomvarekompatibilitet og arkitektur
  • Frakoblingsevne og applikasjonslag
  • Neste generasjons utviklingserfaring
  • Støtter koa mellomvare og Egg-plugins.
  Beste 8 timelistemaler for å spore tid brukt av ansatte

Webiny

Få alt du trenger for å bygge, distribuere og bygge serverløse apper med Webiny Serverløst applikasjonsrammeverk. Den er designet for ulike brukstilfeller. Du kan endre arkitekturen, teknologistabelen og tilpasse til behovene til organisasjonen og prosjektet.

Bygg forretningsnettsteder og -applikasjoner basert på SEO, ruting, forhåndsgjengivelse, sikkerhet, distribusjon, bunting og mer. Opprett interne eller eksterne APIer ved å trekke ut GraphQL-resolverne. Ikke bli begrenset med en enkelt app; bygge applikasjoner som bruker ulike databaser. Du kan bruke NodeJS-databasedriverne til å samhandle med eksterne databaser.

Webiny tilbyr kodebunting, IaC, distribusjonsmekanismer og prosjektorganisering. Legg produktet til toppen av listen og tilby SaaS til hele verden. Sikre delen av eller hele applikasjonene med ACL ved hjelp av innebygd AWS Cognito og sikkerhetsrammeverk.

Legg til støtte for Auth0, OKTA og andre. Du vil få hodeløs CMS, sidebygger, skjemabygger, filbehandler og mange flere. Generer boilerplate-kode ved å bruke CLI-plugins fra lambda-funksjonene til de nye GraphQL APIene.

Webinys Admin UI inneholder mer enn tretti forskjellige React-komponenter. Du vil også få DDoS-beskyttelse, CDN og 11 9s holdbarhet på dataene. Webiny sparer tid i prøving og feiling og forskning.

AWS kalk

Leter du etter et rammeverk for å skrive serverløse applikasjoner i Python?

Prøve AWS kalk som lar deg bygge og distribuere apper gjennom AWS Lambda.

Chalice tilbyr et kommandolinjeverktøy for å lage, distribuere og administrere appen din, en dekorasjonsbasert API for integrering med Amazon S3, Amazon API Gateway, Amazon SQS, Amazon SNS og flere AWS-tjenester.

Den lar deg lage REST APIer, utføre oppgaver som kjører med jevne mellomrom, koble lambda-funksjoner til en S3-hendelse og SQS-kø og flere AWS-ressurser. Rett etter å ha skrevet koden din, lar Chalice deg kjøre og distribuere applikasjonen din raskt. Chalice støtter alle versjoner av Python som AWS Lambda støtter, inkludert Python 2.7, 3.6, 3.7 og 3.8.

Konfigurer all legitimasjon før du distribuerer applikasjonen. Men hvis du allerede har konfigurert den til å kjøre AWS CLI eller boto3, hopp over dette. Etter distribusjon kan du gjøre endringer hvor enn du trenger og distribuere endringene på nytt. Ta veiledninger, emner og API-referanser for en bedre versjon av kunnskapen din.

Zappa

Zappa er et serverløst rammeverk for å lage Python-apper. Det gjør arbeidet enklere med å bygge og distribuere serverløse og hendelsesdrevne Python-apper på API Gateway og AWS Lambda. Bruk den til å nyte null vedlikehold, null nedetid og uendelig skalering til en minimal kostnad av gjeldende distribusjoner.

Før du går til installasjoner og konfigurasjoner, sørg for at du har Python 3.x og en AWS-konto og riktig installasjon av AWS-legitimasjonsfilen. Du kan også installere Zappa enkelt ved å bruke pip.

Zappa setter automatisk opp distribusjonsinnstillingene. Når innstillingene er riktig konfigurert, distribuerer du appen til et produksjonsstadium på en enkelt kommandolinje. Bruk malkommando hvis du vil ha API Gateway CloudFormation-mal. Distribuer Zappa til tilpassede underdomener og domenenavn med SSL-sertifikater, AWS Certificate Manager-sertifikater og Let’s Encrypt-sertifikater.

  10 cURL-kommandobruk med sanntidseksempel

Aktiver de sikre endepunktene på API-gatewayen som API-nøkkel, IAM-policy, API Gateway Lambda Authorizers, Cognito User Pool Authorizer og API Gateway Resource Policy. Dessuten kan du angi miljøvariabler som lokalt miljø, eksternt AWS-miljø og eksternt miljø via S3-fil,

Arkitekt

Opprett, distribuer og vedlikehold neste generasjons AWS skyfunksjonsbasert serverløs infrastruktur med fulle lokale, offline arbeidsflyter og mer.

Dette er et rimelig sofistikert prosjekt og krever at du leser deg videre prosjektfilosofien og dokumentasjonssiden som helhet.

Opp

Opp er et rammeverk som hjelper deg med å distribuere serverløse applikasjoner med uendelig skalerbarhet. Videre kan du bruke Up til å distribuere statiske nettsteder, APIer og mer. Alt dette gir deg fleksibiliteten til å jobbe med det som virkelig betyr noe for deg.

Heldigvis distribuerer Up tradisjonelle HTTP-serverforekomster, så du blir ikke bedt om å måtte lære noen ny protokoll. Bruk i stedet ditt favorittrammeverk som Django eller Express for å komme i gang.

Claudia.js

Claudia.js gir utviklere et middel til å pushe sine Node.js-baserte prosjekter til Lambda-systemer og API. Claudia vil automatisere distribusjonsoppgaver, konfigurasjon og vil automatisk sette opp JavaScript-miljøet ditt for moderne utvikling.

Så, hva betyr dette for deg? Ved å bruke Claudia kan du komme i gang med mikrotjenester på få minutter. Som et resultat har du mye mindre å tenke på og mye mer tid til å fokusere på å løse reelle problemer.

De viktigste grunnene til å bruke Claudia inkluderer:

  • Distribuer, oppdater og administrer forekomstene dine med én enkelt kommando
  • Fungerer feilfritt med NPM-pakker
  • Integrert kjelestruktur, som gir deg mer plass til å fokusere på oppgavene dine.
  • Versjonsadministrasjon slik at du kan jobbe med flere versjoner samtidig
  • Liten læringskurve

Jets

Elsker du Ruby?

Da kan du kanskje bare kose deg Jets – et serverløst Ruby Framework for å lage og distribuere mikrotjenester. Rammeverket inkluderer alt nødvendig verktøy for å hjelpe deg med å generere API-strukturer og distribuere dem til Lambda.

Jets fungerer også for å skrive separate funksjoner som du kan bruke til å sy sammen ulike tjenester og ressurser levert av AWS.

Måten Jets fungerer på er at rammeverket konverterer din eksisterende kode til funksjoner for Lambda og andre AWS-tjenester. Som et resultat kan du hoppe over ting som distribusjon og klargjøring for å bruke mer tid på å skrive funksjonell kode.

Pulumi

Pulumi gir en sømløs SDK for å hjelpe deg med å lage og distribuere programvare til enhver skybasert plattform. SDK-en støtter containere, vertstjenester, kjerneinfrastruktur og containere.

Du kan skrive kode på hvilket som helst språk du liker; Pulumi vil levere og administrere ressursene dine på tjenesteleverandører som GCP, AWS, Kubernetes og Azure.

Serverløst

Jeg vet hva du tenker, «Noen var heldig nok til å få domenenavnet Serverless.com og tjener rett og slett inn lykken!», og jeg må fortelle deg at dette ikke er tilfelle.

  Slik finner du Apple AirPods fra iPhone

Det serverløse rammeverket har noen 30 000 stjerner på GitHubnoe som gjør dette til det mest populære serverløst rammeverk du kan finne.

Så hva kan du gjøre med dette rammeverket? Først og fremst kan du lage apper som bruker mikrotjenester som et middel til å svare på hendelser osv. For eksempel reagerer appene dine bare når det er en definitiv samtale og skalerer opp og ned basert på etterspørsel. Som et resultat kan du spare massevis av penger som ellers ville blitt brukt på å vedlikeholde ledige tjenester.

Rammeverket bruker nye hendelsesdrevne datatjenester, som AWS Lambda, Google Cloud Functions og mer. Det er et kommandolinjeverktøy som gir stillas, automatisering av arbeidsflyt og beste praksis for å utvikle og distribuere din serverløse arkitektur. Det er også helt utvidbart via plugins.

Sigma

Sigma er en ny skybasert IDE bygget rundt ideen om serverløs utvikling. Dette er ikke bare en grunnleggende tekstredigerer med noen fancy funksjoner, men en fullt utstyrt IDE som lar deg skrive kode og publisere den koden som en live-applikasjon i sanntid.

Sigma IDE kan snakke frem og tilbake med din valgte serverløse (FaaS) plattform og bare med kravet om en konfigurasjonsfil. Som et resultat kan du spare uendelige timer med ellers kjedelige oppgaver.

Også, i motsetning til andre verktøy som prøver å oppnå et lignende resultat – Sigma er serverløs i seg selv. IDE kjører helt fra nettleseren og krever ikke en back-end-tjeneste for å fungere for alle unntatt noen få funksjoner. Spesielt kreves back-end for å autentisere brukere og samle inn analytiske data.

Denne er verdt å holde øye med og verdt å prøve ut selv.

Auth0

Hvis du brenner for konseptet Serverless, har du sannsynligvis hørt om Serverless Framework – det vi nevnte tidligere i artikkelen.

Auth0 har satt sammen sin innsats for å bygge Auth0 Web-oppgaver, et effektivt tillegg for alle dere Serverless Framework-brukere. Prosjektet heter Webtask, og du finner hjemmesiden her.

I hovedsak kan Webtask brukes til lag apper uten å måtte bekymre deg for infrastrukturen din kompatibilitet. Skriv logikk på serversiden og distribuer alle funksjonene dine ved å bruke CLI levert av Webtask. Du kan deretter navigere i back-end ved å bruke HTTP-protokollen.

Oppdatering: Webtask-nettstedet har siden blitt stengt.

Serverløse eksempler

Vi snakket om Serverless Framework tidligere i innlegget, og i utgangspunktet er dette en oppfølgingsressurs som viser frem de mange forskjellige brukstilfeller for Serverless Framework.

Til tross for at disse eksemplene er låst ute til ett spesifikt rammeverk, kan du fortsatt nyte prosessen med å lære om nye serverløse konsepter.

Eksemplene er tilgjengelige for plattformer som AWS, Azure, Kubeless, Google Cloud og OpenWhisk. Videre er det støtte for seks forskjellige språk: nodeJS, Python, Go, Java, PHP og Swift.

Sjekk ut noen av disse favorittene som Twitter Joke Bot og OAuth Dropbox API.

Hvis du er ute etter praktisk læring, så sjekk ut denne nettkurs.