13 ramar för att skapa serverlösa appar

Är du entusiastisk över serverlös teknik? Är du sugen på att lägga vantarna på ett nytt projekt men inte säker på var du ska börja?

Här är en sammanfattning av de mest populära serverlösa ramverken du kan lägga vantarna på!

Serverlös datoranvändning är på modet bland dem som älskar tanken på att behöva hantera mindre samtidigt som de har tid att skapa mer. Och även om tekniken fortfarande är ganska ny, går många utvecklare och ingenjörer ut ur deras sätt att bygga spännande lösningar för framtiden för Serverlös verksamhet.

Som jag är säker på att du redan vet betyder Serverless inte exakt utan en server. Det betyder bara färre servrar och fler funktioner. Och om du letar efter en pålitlig FaaS (Functions as a Service)-plattform för ditt nästa projekt, kolla in vår tidigare beskrivning av de bästa serverlösa datorplattformarna.

Med det sagt, låt oss ta en titt på de ramar som är tillgängliga för oss. Vi kommer att avsluta med några spännande projekt som utvecklas i det serverlösa utrymmet, så se till att du stannar kvar för dem!

AWS Amplify

Bygg skalbara serverlösa appar snabbt för webb och mobil med AWS Amplify ram och få oändlig flexibilitet. Konfigurera dina serverlösa backends med data, lagring, autentisering och mer genom att använda smarta arbetsflöden.

Anslut mobil- och webbappar till befintliga eller nya AWS-resurser med färre rader kod. Du kan vara värd för och distribuera webbappar på en sida, renderade appar på serversidan och statuswebbplatser med några få klick. Det låter dig också enkelt hantera innehåll och appanvändare.

AWS Amplify hjälper front-end mobil- och webbutvecklare att skapa fullstack-appar på AWS snabbare och anpassa appen när du behöver. Amplify stöder många webbramverk som React, Angular, JavaScript, Vue.js, Next.js, etc., och mobila plattformar som iOS, Ionic, Flutter, Android och React Native.

Du kan integrera med många UI-komponenter i Amplify för att påskynda apputvecklingen. Få många funktioner och verktyg som autentisering, interaktioner, funktioner, DataStore, användarhantering, API (REST, GraphQL), Analytics, AI/ML-förutsägelser, lagring, PubSub, push-notiser, etc., för utveckling. Dessutom har du Managed Hosting, PR-förhandsvisningar, CI/CD, anpassade domäner och övervakning för implementering.

Halvvägs

Skaffa Node.js serverlösa ramverk för att skapa traditionella server-side-applikationer, små program, mikrotjänster och bygga serverlösa tjänster med Halvvägs. Den är skriven i typskript som använder en IoC-injektionsmekanism för att separera appens logik och göra den enklare utvecklingen av de stora Node.js-apparna mer naturlig.

Midway kan använda express, EggJS eller koa som grundläggande ramar. Det tillhandahåller grundläggande lösningar som GRPC, Dubbo.js, RabbitMQ och Socket.io för oberoende användning. Dessutom fungerar Midway som ett Node.js-serverlöst webbramverk för fullstack- eller front-end-utvecklare.

Midway låter dig bygga nästa generations appar som körs på en container, VM, Alibaba Cloud, AWS och Tencent Cloud. Du kan också enkelt integrera det med Vue och React. Du hittar många funktioner som:

  • Gruppera och skalbara plugins
  • Avancerad gruppmellanprogramkompatibilitet och arkitektur
  • Frikopplingsförmåga och applikationsskiktning
  • Nästa generations utvecklingserfarenhet
  • Stöder koa middleware och Egg plugins.

Webiny

Få allt du behöver för att utforma, distribuera och bygga serverlösa appar med Webiny Serverlöst applikationsramverk. Den är designad för olika användningsfall. Du kan modifiera arkitekturen, teknikstacken och anpassa till behoven i din organisation och ditt projekt.

Bygg företagswebbplatser och applikationer baserade på SEO, routing, förrendering, säkerhet, distribution, paketering och mer. Skapa interna eller externa API:er genom att extrahera GraphQL-resolvers. Bli inte begränsad med en enda app; bygga applikationer som använder olika databaser. Du kan använda NodeJS-databasdrivrutinerna för att interagera med externa databaser.

Webiny tillhandahåller kodbuntning, IaC, distributionsmekanismer och projektorganisation. Lägg till produkten till toppen av listan och erbjuda SaaS till hela världen. Säkra delen av eller hela applikationerna med ACL med hjälp av inbyggd AWS Cognito och säkerhetsramverk.

Lägg till stöd för Auth0, OKTA och andra. Du kommer att få huvudlöst CMS, sidbyggare, formulärbyggare, filhanterare och många fler. Generera boilerplate-kod genom att använda CLI-plugins från lambda-funktionerna till de nya GraphQL API:erna.

Webinys Admin UI innehåller mer än trettio olika React-komponenter. Du kommer också att få DDoS-skydd, CDN och 11 9:s hållbarhet för data. Webiny sparar tid i försök och misstag och forskning.

AWS kalk

Letar du efter ett ramverk för att skriva serverlösa applikationer i Python?

Prova AWS kalk som låter dig bygga och distribuera appar genom AWS Lambda.

Chalice tillhandahåller ett kommandoradsverktyg för att skapa, distribuera och hantera din app, ett dekoratörsbaserat API för att integrera med Amazon S3, Amazon API Gateway, Amazon SQS, Amazon SNS och fler AWS-tjänster.

Det låter dig skapa REST-API:er, utföra uppgifter som körs med jämna mellanrum, koppla lambda-funktioner till en S3-händelse och SQS-kö och fler AWS-resurser. Precis efter att ha skrivit din kod låter Chalice dig köra och distribuera din applikation snabbt. Chalice stöder alla versioner av Python som AWS Lambda stöder, inklusive Python 2.7, 3.6, 3.7 och 3.8.

Konfigurera alla autentiseringsuppgifter innan du distribuerar programmet. Men om du redan har konfigurerat den för att köra AWS CLI eller boto3, hoppa över detta. Efter implementeringen kan du göra ändringar varhelst du behöver och distribuera om ändringarna. Ta handledningar, ämnen och API-referenser för en bättre version av din kunskap.

Zappa

Zappa är ett serverlöst ramverk för att skapa Python-appar. Det gör arbetet enklare med att bygga och distribuera serverlösa och händelsedrivna Python-appar på API Gateway och AWS Lambda. Använd den för att njuta av noll underhåll, noll stillestånd och oändlig skalning till en minimal kostnad för de nuvarande driftsättningarna.

Innan du går till installationer och konfigurationer, se till att du har Python 3.x och ett AWS-konto och korrekt installation av AWS-referensfilen. Du kan också enkelt installera Zappa med hjälp av pip.

Zappa ställer automatiskt in implementeringsinställningarna. När inställningarna är korrekt konfigurerade distribuerar du appen till ett produktionssteg på en enda kommandorad. Använd mallkommando om du vill ha API Gateway CloudFormation-mall. Distribuera Zappa till anpassade underdomäner och domännamn med SSL-certifikat, AWS Certificate Manager-certifikat och Let’s Encrypt-certifikat.

Aktivera de säkra slutpunkterna på API-gatewayen som API-nyckel, IAM-policy, API Gateway Lambda Authorizers, Cognito User Pool Authorizer och API Gateway Resource Policy. Dessutom kan du ställa in miljövariabler som lokal miljö, fjärransluten AWS-miljö och fjärrmiljö via S3-fil,

Arkitekt

Skapa, distribuera och underhåll nästa generations AWS molnfunktionsbaserad serverlös infrastruktur med fullständiga lokala, offline-arbetsflöden och mer.

Detta är ett ganska sofistikerat projekt och kräver att du läser på projektfilosofin och dokumentationssidan som helhet.

Upp

Upp är ett ramverk som hjälper dig att distribuera serverlösa applikationer med oändlig skalbarhetspotential. Dessutom kan du använda Up för att distribuera statiska webbplatser, API:er och mer. Allt detta ger dig flexibiliteten att arbeta med det som verkligen betyder något för dig.

Lyckligtvis distribuerar Up traditionella HTTP-serverinstanser, så du blir inte ombedd att behöva lära dig något nytt protokoll. Använd istället ditt favoritramverk som Django eller Express för att komma igång.

Claudia.js

Claudia.js ger utvecklare ett sätt att flytta sina Node.js-baserade projekt till Lambda-system och API. Claudia kommer att automatisera distributionsuppgifter, konfiguration och kommer automatiskt att ställa in din JavaScript-miljö för modern utveckling.

Så vad betyder detta för dig? Genom att använda Claudia kan du kickstarta din mikroserviceresa på några minuter. Som ett resultat har du mycket mindre att tänka på och mycket mer tid att fokusera på att lösa verkliga problem.

De främsta anledningarna till att använda Claudia inkluderar:

  • Distribuera, uppdatera och hantera dina instanser med ett enda kommando
  • Fungerar felfritt med NPM-paket
  • Integrerad plåtstruktur som ger dig mer utrymme att fokusera på dina uppgifter.
  • Versionshantering så att du kan arbeta med flera versioner samtidigt
  • Liten inlärningskurva

Jets

Älskar du Ruby?

Då kanske du bara njuter Jets — ett serverlöst Ruby Framework för att skapa och distribuera mikrotjänster. Ramverket innehåller alla nödvändiga verktyg för att hjälpa dig att generera API-strukturer och distribuera dem till Lambda.

Jets fungerar även för att skriva separata funktioner som du kan använda för att sy ihop olika tjänster och resurser från AWS.

Sättet som Jets fungerar är att ramverket konverterar din befintliga kod till funktioner för Lambda och andra AWS-tjänster. Som ett resultat kan du hoppa över saker som distribution och provisionering för att lägga mer tid på att skriva funktionell kod.

Pulumi

Pulumi tillhandahåller en sömlös SDK som hjälper dig att skapa och distribuera programvara till vilken molnbaserad plattform som helst. SDK stöder containrar, värdtjänster, kärninfrastruktur och containrar.

Du kan skriva kod på vilket språk du vill; Pulumi tillhandahåller och hanterar dina resurser på tjänsteleverantörer som GCP, AWS, Kubernetes och Azure.

Serverlös

Jag vet vad du tänker, ”Någon hade turen att få domännamnet Serverless.com och bara tjänar in sin tur!”, och jag måste säga er att så inte är fallet.

Serverless Framework har några 30 000ish stjärnor på GitHubvilket gör detta till det mest populära serverlöst ramverk du kan hitta.

Så vad kan du göra med detta ramverk? Först och främst kan du skapa appar som använder mikrotjänster som ett sätt att svara på händelser etc. Dina appar svarar t.ex. bara när det finns ett definitivt samtal och skalar upp och ner baserat på efterfrågan. Som ett resultat kan du spara massor av pengar som annars skulle spenderas på att underhålla lediga tjänster.

Ramverket använder nya händelsedrivna datortjänster, som AWS Lambda, Google Cloud Functions och mer. Det är ett kommandoradsverktyg som tillhandahåller byggnadsställningar, automatisering av arbetsflöden och bästa praxis för att utveckla och distribuera din serverlösa arkitektur. Det är också helt utbyggbart via plugins.

Sigma

Sigma är en ny molnbaserad IDE byggd kring idén om serverlös utveckling. Det här är inte bara en grundläggande textredigerare med några snygga funktioner, utan en fullfjädrad IDE som låter dig skriva kod och publicera den koden som en liveapplikation i realtid.

Sigma IDE kan prata fram och tillbaka med din valda serverlösa (FaaS) plattform och endast med kravet på en konfigurationsfil. Som ett resultat kan du spara oändliga timmar av annars tråkiga uppgifter.

Också, till skillnad från andra verktyg som försöker uppnå ett liknande resultat – Sigma är serverlös själv. IDE körs helt inifrån webbläsaren och kräver inte en back-end-tjänst för att fungera för alla utom ett fåtal funktioner. Specifikt krävs backend för att autentisera användare och samla in analytisk data.

Den här är värd att hålla ett öga på och värd att testa själv.

Auth0

Om du brinner för konceptet Serverless, så har du förmodligen hört talas om Serverless Framework – det som vi nämnde tidigare i artikeln.

Auth0 har samlat sina ansträngningar för att bygga Auth0 webbuppgifter, ett effektivt tillägg för alla er Serverless Framework-användare. Projektet heter Webtask och du hittar hemsidan här.

I huvudsak kan Webtask användas till skapa appar utan att behöva oroa dig för din infrastruktur kompatibilitet. Skriv logik på serversidan och distribuera alla dina funktioner med hjälp av CLI som tillhandahålls av Webtask. Du kan sedan navigera i back-end med HTTP-protokollet.

Uppdatering: Webbplatsen Webtask har sedan dess stängts ned.

Serverlösa exempel

Vi pratade om Serverless Framework tidigare i inlägget, och i grund och botten är detta en uppföljningsresurs som visar upp de många olika användningsfall för Serverless Framework.

Trots att dessa exempel är låsta till ett specifikt ramverk kan du fortfarande njuta av processen att lära dig om nya serverlösa koncept.

Exemplen är tillgängliga för plattformar som AWS, Azure, Kubeless, Google Cloud och OpenWhisk. Dessutom finns det stöd för sex olika språk: nodeJS, Python, Go, Java, PHP och Swift.

Kolla in några av dessa favoriter som Twitter Joke Bot och OAuth Dropbox API.

Om du letar efter praktisk inlärning, kolla in det här onlinekurs.