13 Frameworks zum Erstellen serverloser Apps

Sind Sie von der serverlosen Technologie begeistert? Sind Sie gespannt auf ein neues Projekt, wissen aber nicht, wo Sie anfangen sollen?

Hier ist eine Zusammenfassung der beliebtesten Serverless-Frameworks, die Sie in die Finger bekommen können!

Serverless Computing ist der letzte Schrei unter denjenigen, die die Idee lieben, weniger verwalten zu müssen, während sie Zeit haben, mehr zu erstellen. Und obwohl die Technologie noch recht neu ist, geben sich viele Entwickler und Ingenieure alle Mühe, aufregende Lösungen für die Zukunft des serverlosen Betriebs zu entwickeln.

Wie Sie sicher bereits wissen, bedeutet Serverless nicht ohne Server. Es bedeutet nur weniger Server und mehr Funktionen. Und wenn Sie nach einer zuverlässigen FaaS-Plattform (Functions as a Service) für Ihr nächstes Projekt suchen, sehen Sie sich unsere vorherige Beschreibung der besten Serverless-Computing-Plattformen an.

Lassen Sie uns einen Blick auf die uns zur Verfügung stehenden Frameworks werfen. Wir werden die Dinge mit einigen spannenden Projekten abschließen, die im Serverless-Bereich entwickelt werden, also stellen Sie sicher, dass Sie dabei bleiben!

AWS verstärken

Erstellen Sie schnell skalierbare serverlose Apps für das Web und Mobilgeräte mit AWS verstärken Framework und erhalten Sie endlose Flexibilität. Konfigurieren Sie Ihre serverlosen Backends mit Daten, Speicher, Authentifizierung und mehr, indem Sie intelligente Workflows verwenden.

Verbinden Sie mobile und Web-Apps mit vorhandenen oder neuen AWS-Ressourcen mit weniger Codezeilen. Sie können Single-Page-Web-Apps, serverseitig gerenderte Apps und Status-Websites mit wenigen Klicks hosten und bereitstellen. Außerdem können Sie Inhalte und App-Benutzer einfach verwalten.

AWS Amplify hilft Front-End-Mobil- und Webentwicklern, Full-Stack-Apps auf AWS schneller zu erstellen und die App bei Bedarf anzupassen. Amplify unterstützt viele Web-Frameworks wie React, Angular, JavaScript, Vue.js, Next.js usw. sowie mobile Plattformen wie iOS, Ionic, Flutter, Android und React Native.

Sie können viele UI-Komponenten von Amplify integrieren, um die App-Entwicklung zu beschleunigen. Holen Sie sich viele Features und Tools wie Authentifizierung, Interaktionen, Funktionen, DataStore, Benutzerverwaltung, API (REST, GraphQL), Analytics, AI/ML-Vorhersagen, Speicher, PubSub, Push-Benachrichtigungen usw. für die Entwicklung. Darüber hinaus haben Sie Managed Hosting, PR-Vorschauen, CI/CD, benutzerdefinierte Domänen und Überwachung für die Bereitstellung.

Auf halbem Weg

Holen Sie sich das serverlose Node.js-Framework zum Erstellen herkömmlicher serverseitiger Anwendungen, kleiner Programme, Microservices und zum Erstellen serverloser Dienste Auf halbem Weg. Es ist in Typoskript geschrieben, das einen IoC-Injection-Mechanismus verwendet, um die Logik der App zu trennen und die einfachere Entwicklung der großen Node.js-Apps natürlicher zu gestalten.

Midway kann Express, EggJS oder Koa als grundlegende Frameworks verwenden. Es bietet Basislösungen wie GRPC, Dubbo.js, RabbitMQ und Socket.io für die unabhängige Nutzung. Darüber hinaus fungiert Midway als serverloses Node.js-Webframework für Full-Stack- oder Front-End-Entwickler.

Mit Midway können Sie Apps der nächsten Generation erstellen, die auf einem Container, einer VM, Alibaba Cloud, AWS und Tencent Cloud ausgeführt werden. Sie können es auch einfach mit Vue und React integrieren. Sie finden viele Funktionen wie:

  • Gruppen- und skalierbare Plugins
  • Erweiterte Gruppen-Middleware-Kompatibilität und -Architektur
  • Entkopplungsfähigkeit und Anwendungsschichtung
  • Entwicklungserfahrung der nächsten Generation
  • Unterstützt Koa-Middleware und Egg-Plugins.
  Top 11 Java-IDEs und Online-Compiler für die produktive Entwicklung

Webiny

Holen Sie sich alles, was Sie zum Entwerfen, Bereitstellen und Erstellen von serverlosen Anwendungen benötigen Webiny Framework für serverlose Anwendungen. Es ist für verschiedene Anwendungsfälle ausgelegt. Sie können die Architektur und den Tech-Stack ändern und an die Anforderungen Ihrer Organisation und Ihres Projekts anpassen.

Erstellen Sie Unternehmenswebsites und -anwendungen basierend auf SEO, Routing, Pre-Rendering, Sicherheit, Bereitstellung, Bündelung und mehr. Erstellen Sie interne oder externe APIs, indem Sie die GraphQL-Resolver extrahieren. Seien Sie nicht auf eine einzige App beschränkt; Erstellen Sie Anwendungen, die verschiedene Datenbanken verwenden. Sie können die NodeJS-Datenbanktreiber verwenden, um mit externen Datenbanken zu interagieren.

Webiny bietet Codebündelung, IaC, Bereitstellungsmechanismen und Projektorganisation. Fügen Sie das Produkt ganz oben auf der Liste hinzu und bieten Sie SaaS der ganzen Welt an. Sichern Sie einen Teil oder die gesamten Anwendungen mit ACL mithilfe des integrierten AWS Cognito- und Sicherheits-Frameworks.

Unterstützung für Auth0, OKTA und andere hinzufügen. Sie erhalten ein kopfloses CMS, einen Seitenersteller, einen Formularersteller, einen Dateimanager und vieles mehr. Generieren Sie Boilerplate-Code, indem Sie CLI-Plug-ins von den Lambda-Funktionen bis zu den neuen GraphQL-APIs verwenden.

Die Admin-Benutzeroberfläche von Webiny enthält mehr als dreißig verschiedene React-Komponenten. Sie erhalten auch DDoS-Schutz, CDN und die Dauerhaftigkeit der Daten von 11 9. Webiny spart Ihnen Zeit beim Ausprobieren und Recherchieren.

AWS Kelch

Suchen Sie nach einem Framework, um serverlose Anwendungen in Python zu schreiben?

Versuchen AWS Kelch Damit können Sie Apps über AWS Lambda erstellen und bereitstellen.

Chalice bietet ein Befehlszeilentool zum Erstellen, Bereitstellen und Verwalten Ihrer App, eine Decorator-basierte API zur Integration mit Amazon S3, Amazon API Gateway, Amazon SQS, Amazon SNS und weiteren AWS-Services.

Sie können damit REST-APIs erstellen, regelmäßig ausgeführte Aufgaben ausführen, Lambda-Funktionen mit einem S3-Ereignis und einer SQS-Warteschlange verbinden und weitere AWS-Ressourcen verwenden. Unmittelbar nachdem Sie Ihren Code geschrieben haben, können Sie mit Chalice Ihre Anwendung schnell ausführen und bereitstellen. Chalice unterstützt jede Version von Python, die AWS Lambda unterstützt, einschließlich Python 2.7, 3.6, 3.7 und 3.8.

Konfigurieren Sie alle Anmeldeinformationen, bevor Sie die Anwendung bereitstellen. Wenn Sie es jedoch bereits für die Ausführung von AWS CLI oder boto3 konfiguriert haben, überspringen Sie dies. Nach der Bereitstellung können Sie bei Bedarf Änderungen vornehmen und die Änderungen erneut bereitstellen. Nehmen Sie Tutorials, Themen und API-Referenzen für eine bessere Version Ihres Wissens.

Zappa

Zappa ist ein serverloses Framework zum Erstellen von Python-Apps. Es erleichtert die Arbeit beim Erstellen und Bereitstellen von serverlosen und ereignisgesteuerten Python-Apps auf API Gateway und AWS Lambda. Verwenden Sie es, um wartungsfrei, null Ausfallzeiten und unbegrenzte Skalierung zu minimalen Kosten der aktuellen Bereitstellungen zu genießen.

Stellen Sie vor Installationen und Konfigurationen sicher, dass Sie über Python 3.x und ein AWS-Konto verfügen und die AWS-Anmeldeinformationen ordnungsgemäß installiert haben. Sie können Zappa auch einfach mit Pip installieren.

Zappa richtet die Bereitstellungseinstellungen automatisch ein. Sobald die Einstellungen ordnungsgemäß konfiguriert sind, stellen Sie die App in einer einzigen Befehlszeile in einer Produktionsphase bereit. Verwenden Sie den Vorlagenbefehl, wenn Sie eine API Gateway CloudFormation-Vorlage wünschen. Stellen Sie Zappa auf benutzerdefinierten Subdomains und Domainnamen mit SSL-Zertifikaten, AWS Certificate Manager-Zertifikaten und Let’s Encrypt-Zertifikaten bereit.

  Bleiben Sie sicher mit diesen 7 besten Chromebook-VPNs

Aktivieren Sie die sicheren Endpunkte auf dem API Gateway wie API-Schlüssel, IAM-Richtlinie, API Gateway Lambda-Autorisierer, Cognito-Benutzerpool-Autorisierer und API Gateway-Ressourcenrichtlinie. Darüber hinaus können Sie Umgebungsvariablen wie lokale Umgebung, Remote-AWS-Umgebung und Remote-Umgebung über die S3-Datei festlegen.

Architekt

Erstellen, implementieren und warten Sie eine auf AWS Cloud-Funktionen basierende, serverlose Infrastruktur der nächsten Generation mit vollständigen lokalen Offline-Workflows und mehr.

Dies ist ein einigermaßen anspruchsvolles Projekt und erfordert, dass Sie sich einlesen die Projektphilosophie und die Dokumentationsseite als Ganzes.

Hoch

Hoch ist ein Framework, mit dem Sie serverlose Anwendungen mit unbegrenztem Skalierbarkeitspotenzial bereitstellen können. Darüber hinaus können Sie Up verwenden, um statische Websites, APIs und mehr bereitzustellen. All dies gibt Ihnen die Flexibilität, an dem zu arbeiten, was Ihnen wirklich wichtig ist.

Glücklicherweise stellt Up herkömmliche HTTP-Serverinstanzen bereit, sodass Sie nicht aufgefordert werden, ein neues Protokoll zu lernen. Verwenden Sie stattdessen Ihr bevorzugtes Framework wie Django oder Express, um loszulegen.

Claudia.js

Claudia.js bietet Entwicklern die Möglichkeit, ihre auf Node.js basierenden Projekte auf Lambda-Systeme und die API zu übertragen. Claudia automatisiert Bereitstellungsaufgaben und Konfiguration und richtet Ihre JavaScript-Umgebung automatisch für die moderne Entwicklung ein.

Also, was bedeutet das für Sie? Mit Claudia können Sie Ihre Microservices-Reise in wenigen Minuten starten. Infolgedessen müssen Sie viel weniger nachdenken und haben viel mehr Zeit, sich auf die Lösung echter Probleme zu konzentrieren.

Die Hauptgründe für die Verwendung von Claudia sind:

  • Stellen Sie Ihre Instanzen mit einem einzigen Befehl bereit, aktualisieren und verwalten Sie sie
  • Funktioniert einwandfrei mit NPM-Paketen
  • Integrierte Boilerplate-Struktur, die Ihnen mehr Raum gibt, sich auf Ihre anstehenden Aufgaben zu konzentrieren.
  • Versionsverwaltung, damit Sie gleichzeitig an mehreren Versionen arbeiten können
  • Kleine Lernkurve

Düsen

Liebst du Rubin?

Dann könntest du dich einfach nur amüsieren Düsen — ein serverloses Ruby-Framework zum Erstellen und Bereitstellen von Microservices. Das Framework enthält alle erforderlichen Tools, mit denen Sie API-Strukturen generieren und bereitstellen können Lambda.

Düsen funktioniert auch zum Schreiben separater Funktionen, mit denen Sie verschiedene von AWS bereitgestellte Dienste und Ressourcen zusammenfügen können.

Jets funktioniert so, dass das Framework Ihren vorhandenen Code in Funktionen für Lambda und andere AWS-Services umwandelt. Infolgedessen können Sie Dinge wie Bereitstellung und Bereitstellung überspringen, um mehr Zeit mit dem Schreiben von Funktionscode zu verbringen.

Pulumi

Pulumi bietet ein nahtloses SDK, mit dem Sie Software erstellen und auf jeder Cloud-basierten Plattform bereitstellen können. Das SDK unterstützt Container, gehostete Dienste, Kerninfrastruktur und Container.

Sie können Code in jeder beliebigen Sprache schreiben; Pulumi stellt Ihre Ressourcen auf Dienstanbietern wie GCP, AWS, Kubernetes und Azure bereit und verwaltet sie.

Serverlos

Ich weiß, was Sie denken: „Jemand hatte das Glück, den Domainnamen zu bekommen Serverless.com und kassieren einfach ihr Glück!“, und ich muss Ihnen sagen, dass dem nicht so ist.

  So verwenden Sie die NumPy argmax () -Funktion in Python

Das Serverless Framework hat einige 30.000 Sterne auf GitHubwodurch dies das beliebteste ist Serverloses Framework Sie können finden.

Was können Sie also mit diesem Rahmen tun? In erster Linie können Sie Apps erstellen, die Microservices verwenden, um auf Ereignisse usw. zu reagieren. Beispielsweise reagieren Ihre Apps nur, wenn es einen definitiven Anruf gibt, und skalieren je nach Bedarf nach oben oder unten. Infolgedessen können Sie eine Menge Geld sparen, das sonst für die Aufrechterhaltung ungenutzter Dienste ausgegeben würde.

Das Framework verwendet neue ereignisgesteuerte Rechendienste wie AWS Lambda, Google Cloud Functions und mehr. Es ist ein Befehlszeilentool, das Gerüste, Workflow-Automatisierung und Best Practices für die Entwicklung und Bereitstellung Ihrer serverlosen Architektur bietet. Es ist auch vollständig über Plugins erweiterbar.

Sigma

Sigma ist eine neue Cloud-basierte IDE, die auf der Idee der serverlosen Entwicklung basiert. Dies ist nicht nur ein einfacher Texteditor mit einigen ausgefallenen Funktionen, sondern eine voll funktionsfähige IDE, mit der Sie Code schreiben und diesen Code als Live-Anwendung in Echtzeit veröffentlichen können.

Die Sigma IDE kann mit der von Ihnen gewählten serverlosen (FaaS) Plattform hin und her kommunizieren, und zwar nur mit der Anforderung einer Konfigurationsdatei. Als Ergebnis können Sie endlose Stunden ansonsten langweiliger Aufgaben sparen.

Im Gegensatz zu anderen Tools, die versuchen, ein ähnliches Ergebnis zu erzielen, ist Sigma selbst serverlos. Die IDE wird vollständig innerhalb des Browsers ausgeführt und erfordert keinen Back-End-Dienst, um für alle außer einigen Funktionen zu funktionieren. Insbesondere ist das Back-End erforderlich, um Benutzer zu authentifizieren und analytische Daten zu sammeln.

Es lohnt sich, diesen im Auge zu behalten und selbst auszuprobieren.

Auth0

Wenn Sie sich für das Konzept von Serverless begeistern, haben Sie wahrscheinlich schon vom Serverless Framework gehört – das wir bereits in diesem Artikel erwähnt haben.

Auth0 hat seine Anstrengungen gebündelt, um Auth0-Webaufgaben zu erstellen, ein effektives Add-on für alle Serverless Framework-Benutzer. Das Projekt heißt Webtask, die Homepage finden Sie hier.

Im Wesentlichen kann Webtask verwendet werden Erstellen Sie Apps, ohne sich um Ihre Infrastruktur kümmern zu müssen Kompatibilität. Schreiben Sie serverseitige Logik und stellen Sie alle Ihre Funktionen mit der von Webtask bereitgestellten CLI bereit. Sie können dann mithilfe des HTTP-Protokolls im Backend navigieren.

Update: Die Webtask-Website wurde inzwischen abgeschaltet.

Serverlose Beispiele

Wir haben früher in diesem Beitrag über das Serverless Framework gesprochen, und im Grunde ist dies eine Folgeressource, die die vielen verschiedenen zeigt Anwendungsfälle für das Serverless Framework.

Obwohl diese Beispiele auf ein bestimmtes Framework beschränkt sind, können Sie dennoch Spaß daran haben, neue serverlose Konzepte kennenzulernen.

Die Beispiele sind für Plattformen wie AWS, Azure, Kubeless, Google Cloud und OpenWhisk verfügbar. Außerdem werden sechs verschiedene Sprachen unterstützt: nodeJS, Python, Go, Java, PHP und Swift.

Schauen Sie sich einige dieser Favoriten an, z Twitter-Witz-Bot und OAuth-Dropbox-API.

Wenn Sie nach praktischem Lernen suchen, dann schauen Sie sich das an Online Kurs.