13 cadre pentru crearea de aplicații fără server

Ești încântat de tehnologia Serverless? Ești dornic să pui mâna pe un nou proiect, dar nu știi de unde să începi?

Iată o rezumat a celor mai populare cadre fără server pe care le puteți pune mâna!

Calculul fără server este de furie printre cei care iubesc ideea de a trebui să gestioneze mai puțin, în timp ce au timp să creeze mai mult. Și chiar dacă tehnologia este încă destul de nouă, mulți dezvoltatori și ingineri fac tot posibilul să construiască soluții interesante pentru viitorul operațiunilor fără server.

După cum sunt sigur că știți deja, Serverless nu înseamnă exact fără un server. Înseamnă doar mai puține servere și mai multe funcții. Și dacă sunteți în căutarea unei platforme FaaS (Funcții ca serviciu) de încredere pentru următorul dvs. proiect, consultați articolul nostru anterior al celor mai bune platforme de calcul fără server.

Acestea fiind spuse, să aruncăm o privire la cadrele disponibile pentru noi. Vom încheia lucrurile cu câteva proiecte interesante în curs de dezvoltare în spațiul Serverless, așa că asigurați-vă că rămâneți pentru ele!

AWS Amplify

Creați rapid aplicații scalabile fără server pentru web și mobil cu AWS Amplify cadru și obțineți o flexibilitate nesfârșită. Configurați-vă backend-urile fără server cu date, stocare, autentificare și multe altele folosind fluxuri de lucru inteligente.

Conectați aplicațiile mobile și web la resursele AWS existente sau noi cu mai puține linii de cod. Puteți găzdui și implementa aplicații web cu o singură pagină, aplicații randate pe server și site-uri web de stare în câteva clicuri. De asemenea, vă permite să gestionați cu ușurință conținutul și utilizatorii aplicațiilor.

AWS Amplify ajută dezvoltatorii de telefonie mobilă și web front-end să creeze mai rapid aplicații full-stack pe AWS și să personalizeze aplicația ori de câte ori aveți nevoie. Amplify acceptă multe cadre web, cum ar fi React, Angular, JavaScript, Vue.js, Next.js etc. și platforme mobile precum iOS, Ionic, Flutter, Android și React Native.

Vă puteți integra cu multe componente ale UI ale Amplify pentru a accelera dezvoltarea aplicației. Obțineți multe funcții și instrumente, cum ar fi autentificare, interacțiuni, funcții, DataStore, managementul utilizatorilor, API (REST, GraphQL), Analytics, predicții AI/ML, stocare, PubSub, notificări push etc., pentru dezvoltare. În plus, aveți găzduire gestionată, previzualizări PR, CI/CD, domenii personalizate și monitorizare pentru implementare.

La jumătatea drumului

Obțineți cadrul Node.js fără server pentru a crea aplicații tradiționale pe partea de server, programe mici, microservicii și pentru a construi servicii fără server cu La jumătatea drumului. Este scris cu dactilografia care folosește un mecanism de injecție IoC pentru a separa logica aplicației și pentru a face dezvoltarea mai ușoară a aplicațiilor mari Node.js mai naturală.

Midway poate folosi expres, EggJS sau koa ca cadre de bază. Oferă soluții de bază, cum ar fi GRPC, Dubbo.js, RabbitMQ și Socket.io pentru utilizare independentă. În plus, Midway funcționează ca un cadru web fără server Node.js pentru dezvoltatorii full-stack sau front-end.

Midway vă permite să creați aplicații de nouă generație care rulează pe un container, VM, Alibaba Cloud, AWS și Tencent Cloud. De asemenea, îl puteți integra cu ușurință cu Vue și React. Veți găsi multe caracteristici precum:

  • Pluginuri de grup și scalabile
  • Compatibilitate și arhitectură cu middleware de grup avansat
  • Capacitate de decuplare și stratificare de aplicare
  • Experiență de dezvoltare de nouă generație
  • Suportă middleware koa și pluginuri Egg.
  Cum să personalizați mesajele de alertă pentru anumite e-mailuri în Outlook

Webiny

Obțineți tot ce aveți nevoie pentru a proiecta, implementa și construi aplicații fără server cu ajutorul Webiny Cadrul de aplicații fără server. Este conceput pentru diferite cazuri de utilizare. Puteți modifica arhitectura, stiva tehnologică și vă puteți adapta nevoilor organizației și proiectului dumneavoastră.

Creați site-uri web și aplicații de afaceri bazate pe SEO, rutare, pre-rendare, securitate, implementare, grupare și multe altele. Creați API-uri interne sau externe prin extragerea soluțiilor GraphQL. Nu fi constrâns cu o singură aplicație; construiți aplicații care utilizează diverse baze de date. Puteți utiliza driverele bazei de date NodeJS pentru a interacționa cu bazele de date externe.

Webiny oferă grupare de cod, IaC, mecanisme de implementare și organizare a proiectelor. Adăugați produsul în partea de sus a listei și oferiți SaaS întregii lumi. Securizează o parte din sau întreaga aplicație cu ACL cu ajutorul AWS Cognito și cadrul de securitate încorporat.

Adăugați suport pentru Auth0, OKTA și altele. Veți obține CMS fără cap, generator de pagini, generator de formulare, manager de fișiere și multe altele. Generați cod standard utilizând pluginuri CLI de la funcțiile lambda la noile API-uri GraphQL.

Interfața de utilizare de administrare a Webiny conține peste treizeci de componente React diferite. Veți obține, de asemenea, protecție DDoS, CDN și durabilitatea datelor 11 9. Webiny vă economisește timp în încercări și erori și cercetare.

Potirul AWS

Căutați un cadru pentru a scrie aplicații fără server în Python?

Încerca Potirul AWS care vă permite să construiți și să implementați aplicații prin AWS Lambda.

Chalice oferă un instrument de linie de comandă pentru a crea, implementa și gestiona aplicația dvs., un API bazat pe decorator pentru a se integra cu Amazon S3, Amazon API Gateway, Amazon SQS, Amazon SNS și mai multe servicii AWS.

Vă permite să creați API-uri REST, să efectuați sarcini care rulează periodic, să conectați funcții lambda cu un eveniment S3 și o coadă SQS și mai multe resurse AWS. Imediat după ce ați scris codul, Chalice vă va permite să rulați și să vă implementați rapid aplicația. Chalice acceptă fiecare versiune de Python pe care o acceptă AWS Lambda, inclusiv Python 2.7, 3.6, 3.7 și 3.8.

Configurați toate acreditările înainte de a implementa aplicația. Dar dacă l-ați configurat deja pentru a rula AWS CLI sau boto3, omiteți acest lucru. După implementare, puteți face modificări oriunde aveți nevoie și redistribuiți modificările. Luați tutoriale, subiecte și referințe API pentru o versiune mai bună a cunoștințelor dvs.

Zappa

Zappa este un cadru fără server pentru crearea de aplicații Python. Ușurează munca în construirea și implementarea aplicațiilor Python fără server și bazate pe evenimente pe API Gateway și AWS Lambda. Folosiți-l pentru a vă bucura de zero întreținere, zero timpi de nefuncționare și scalare infinită la un cost minim al implementărilor actuale.

Înainte de a merge la instalări și configurații, asigurați-vă că aveți Python 3.x și un cont AWS și instalarea corectă a fișierului de acreditări AWS. De asemenea, puteți instala Zappa cu ușurință folosind pip.

Zappa configurează automat setările de implementare. Odată ce setările sunt configurate corect, implementați aplicația într-o etapă de producție într-o singură linie de comandă. Utilizați comanda șablon dacă doriți șablon API Gateway CloudFormation. Implementați Zappa în subdomenii și nume de domenii personalizate cu certificate SSL, certificate AWS Certificate Manager și certificate Let’s Encrypt.

  7 cele mai bune platforme de interpretare a viselor bazate pe inteligență artificială

Activați punctele finale securizate pe API Gateway, cum ar fi cheia API, politica IAM, API Gateway Lambda Authorizer, Cognito User Pool Authorizer și API Gateway Resource Policy. Mai mult, puteți seta variabile de mediu cum ar fi mediul local, mediul AWS la distanță și mediul la distanță prin fișierul S3,

Arhitect

Creați, implementați și mențineți infrastructura AWS de ultimă generație, bazată pe funcții cloud, fără server, cu fluxuri de lucru complete locale, offline și multe altele.

Acesta este un proiect rezonabil de sofisticat și necesită să citiți mai departe filozofia proiectului și pagina de documentație ca un intreg, per total.

Sus

Sus este un cadru care vă ajută să implementați aplicații Serverless cu potențial de scalabilitate infinit. În plus, puteți utiliza Up pentru a implementa site-uri web statice, API-uri și multe altele. Toate acestea vă oferă flexibilitatea de a lucra la ceea ce contează cu adevărat pentru dvs.

Din fericire, Up implementează instanțe tradiționale de server HTTP, așa că nu vi se cere să învățați un protocol nou. În schimb, utilizați cadrul dvs. preferat, cum ar fi Django sau Express, pentru a începe.

Claudia.js

Claudia.js oferă dezvoltatorilor un mijloc de a-și împinge proiectele bazate pe Node.js către sistemele Lambda și API. Claudia va automatiza sarcinile de implementare, configurare și va configura automat mediul JavaScript pentru dezvoltarea modernă.

Deci, ce înseamnă asta pentru tine? Folosind Claudia, vă puteți porni călătoria cu microservicii în câteva minute. Drept urmare, aveți mult mai puțin la care să vă gândiți și mult mai mult timp pentru a vă concentra pe rezolvarea problemelor reale.

Principalele motive pentru a folosi Claudia includ:

  • Implementați, actualizați și gestionați instanțele dvs. cu o singură comandă
  • Funcționează perfect cu pachetele NPM
  • Structura centrală integrată, oferindu-vă mai mult spațiu pentru a vă concentra asupra sarcinilor dvs. la îndemână.
  • Gestionarea versiunilor, astfel încât să puteți lucra pe mai multe versiuni simultan
  • Curbă mică de învățare

Jeturi

Îl iubești pe Ruby?

Atunci s-ar putea să te trezești pur și simplu bucurându-te Jeturi — un cadru Ruby fără server pentru crearea și implementarea de microservicii. Cadrul include toate instrumentele necesare pentru a vă ajuta să generați structuri API și să le implementați Lambda.

Jeturi funcționează, de asemenea, pentru scrierea de funcții separate pe care le puteți utiliza pentru a îmbina diferite servicii și resurse furnizate de AWS.

Modul în care funcționează Jets este că cadrul transformă codul dvs. existent în funcții pentru Lambda și alte servicii AWS. Ca rezultat, puteți sări peste lucruri precum implementarea și furnizarea pentru a petrece mai mult timp scriind cod funcțional.

Pulumi

Pulumi oferă un SDK perfect pentru a vă ajuta să creați și să implementați software pe orice platformă bazată pe cloud. SDK-ul acceptă containere, servicii găzduite, infrastructură de bază și containere.

Puteți scrie cod în orice limbă doriți; Pulumi va furniza și gestiona resursele dvs. de la furnizori de servicii precum GCP, AWS, Kubernetes și Azure.

  Vă întrebați cât de mult spațiu de stocare are PS5? [+4 Best External Drive]

Fără server

Știu la ce te gândești: „Cineva a avut norocul să obțină numele de domeniu Serverless.com și pur și simplu își încasează norocul!”, și trebuie să vă spun că nu este cazul.

Cadrul Serverless are unele 30.000 de stele pe GitHubceea ce face ca acesta să fie cel mai popular cadru fără server puteți găsi.

Deci, ce poți face cu acest cadru? În primul rând, puteți crea aplicații care utilizează microservicii ca mijloc de a răspunde la evenimente etc. De exemplu, aplicațiile dvs. răspund numai atunci când există un apel definitiv și cresc și descrește în funcție de cerere. Ca rezultat, puteți economisi o mulțime de bani care altfel ar fi cheltuiți pentru întreținerea serviciilor inactive.

Framework-ul folosește noi servicii de calcul bazate pe evenimente, cum ar fi AWS Lambda, Google Cloud Functions și multe altele. Este un instrument de linie de comandă, care oferă schele, automatizarea fluxului de lucru și cele mai bune practici pentru dezvoltarea și implementarea arhitecturii dvs. fără server. De asemenea, este complet extensibil prin pluginuri.

Sigma

Sigma este un nou IDE bazat pe cloud construit în jurul ideii de dezvoltare fără server. Acesta nu este doar un editor de text de bază cu câteva funcții de lux, ci un IDE complet care vă va permite să scrieți cod și să publicați acel cod ca o aplicație live în timp real.

Sigma IDE poate vorbi înainte și înapoi cu platforma fără server (FaaS) aleasă de dvs. și numai cu cerințele unui fișier de configurare. Ca rezultat, puteți economisi ore nesfârșite de sarcini altfel plictisitoare.

De asemenea, spre deosebire de alte instrumente care încearcă să obțină un rezultat similar, Sigma este în sine fără server. IDE-ul rulează în întregime din browser și nu necesită un serviciu back-end pentru a funcționa pentru toate funcțiile, cu excepția pentru câteva funcții. Mai exact, back-end-ul este necesar pentru a autentifica utilizatorii și a colecta date analitice.

Acesta merită să fii cu ochii pe acesta și merită să îl încerci singur.

Auth0

Dacă sunteți pasionat de conceptul Serverless, atunci probabil că ați auzit de Serverless Framework – cel pe care l-am menționat mai devreme în articol.

Auth0 și-a adunat eforturile pentru a construi sarcini Web Auth0, un supliment eficient pentru toți utilizatorii dumneavoastră Serverless Framework. Proiectul se numește Webtask și o puteți găsi aici.

În esență, Webtask poate fi folosit pentru creați aplicații fără a fi nevoie să vă faceți griji cu privire la infrastructura dvs compatibilitate. Scrieți logica pe partea serverului și implementați toate funcțiile folosind CLI-ul oferit de Webtask. Apoi puteți naviga în back-end utilizând protocolul HTTP.

Actualizare: site-ul Webtask a fost închis de atunci.

Exemple fără server

Am vorbit despre Cadrul Serverless mai devreme în postare și, practic, aceasta este o resursă ulterioară care prezintă numeroasele diferite cazuri de utilizare pentru Framework fără server.

În ciuda faptului că aceste exemple sunt blocate într-un cadru specific, vă puteți bucura în continuare de procesul de a învăța despre noile concepte fără server.

Exemplele sunt disponibile pentru platforme precum AWS, Azure, Kubeless, Google Cloud și OpenWhisk. În plus, există suport pentru șase limbi diferite: nodeJS, Python, Go, Java, PHP și Swift.

Vedeți câteva dintre aceste favorite, cum ar fi Twitter Joke Bot și API-ul OAuth Dropbox.

Dacă sunteți în căutarea unei învățări practice, atunci verificați acest lucru curs online.