Da li vas uzbuđuje tehnologija bez servera? Da li ste željni da započnete novi projekat, ali niste sigurni odakle da krenete?
Evo pregleda najpopularnijih frejmvorka bez servera koji su vam dostupni!
Računarstvo bez servera je veoma popularno među onima koji vole ideju da manje moraju da upravljaju, a da imaju više vremena za kreiranje. Iako je tehnologija relativno nova, mnogi programeri i inženjeri rade na uzbudljivim rešenjima za budućnost operacija bez servera.
Kao što verovatno znate, „bez servera“ ne znači doslovno bez servera. To samo znači manje servera i više funkcija. Ukoliko tražite pouzdanu FaaS (Funkcije kao usluga) platformu za vaš sledeći projekat, pogledajte naš prethodni pregled najboljih računarskih platformi bez servera.
Uzimajući to u obzir, pogledajmo frejmvorke koji su nam dostupni. Završićemo sa nekoliko uzbudljivih projekata koji se razvijaju u prostoru bez servera, pa obavezno ostanite sa nama!
AWS Amplify
Brzo kreirajte skalabilne aplikacije bez servera za veb i mobilne uređaje koristeći AWS Amplify frejmvork i ostvarite veliku fleksibilnost. Konfigurišite svoje pozadinske sisteme bez servera sa podacima, skladištem, autentifikacijom i još mnogo toga, koristeći pametne tokove rada.
Povežite mobilne i veb aplikacije sa postojećim ili novim AWS resursima uz manje linija koda. Možete hostovati i primenjivati jednostranične veb aplikacije, aplikacije koje se renderuju na serveru i statične veb sajtove uz nekoliko klikova. Takođe vam omogućava da jednostavno upravljate sadržajem i korisnicima aplikacija.
AWS Amplify pomaže front-end mobilnim i veb programerima da brže kreiraju kompletne aplikacije na AWS-u i prilagode aplikacije kad god je to potrebno. Amplify podržava mnoge veb frejmvorke kao što su React, Angular, JavaScript, Vue.js, Next.js, itd., i mobilne platforme kao što su iOS, Ionic, Flutter, Android i React Native.
Možete se integrisati sa mnogim Amplify komponentama korisničkog interfejsa kako biste ubrzali razvoj aplikacija. Dobijate mnoge funkcije i alate kao što su autentifikacija, interakcije, funkcije, DataStore, upravljanje korisnicima, API-ji (REST, GraphQL), analitika, AI/ML predviđanja, skladištenje, PubSub, push obaveštenja itd., za razvoj. Osim toga, imate upravljani hosting, PR preglede, CI/CD, prilagođene domene i monitoring za primenu.
Midway
Nabavite Node.js frejmvork bez servera za kreiranje tradicionalnih aplikacija na strani servera, malih programa, mikroservisa i izgradnju usluga bez servera uz Midway. Napisan je u TypeScript-u koji koristi IoC mehanizam za ubrizgavanje zavisnosti da bi odvojio logiku aplikacije i učinio razvoj velikih Node.js aplikacija prirodnijim.
Midway može koristiti Express, EggJS ili Koa kao osnovne frejmvorke. Pruža osnovna rešenja kao što su GRPC, Dubbo.js, RabbitMQ i Socket.io za samostalnu upotrebu. Pored toga, Midway radi kao Node.js veb frejmvork bez servera za full-stack ili front-end programere.
Midway vam omogućava da kreirate aplikacije sledeće generacije koje rade na kontejneru, VM-u, Alibaba Cloud-u, AWS-u i Tencent Cloud-u. Takođe ga možete lako integrisati sa Vue i React-om. Naći ćete mnoge karakteristike kao što su:
- Grupni i skalabilni dodaci
- Kompatibilnost i arhitektura napredne grupe middleware-a
- Sposobnost razdvajanja i slojevitosti aplikacije
- Iskustvo razvoja sledeće generacije
- Podržava Koa middleware i Egg dodatke.
Webiny
Nabavite sve što vam je potrebno za arhitekturu, implementaciju i pravljenje aplikacija bez servera uz Webiny frejmvork za aplikacije bez servera. Dizajniran je za različite slučajeve upotrebe. Možete modifikovati arhitekturu, tehnološku grupu i prilagoditi se potrebama vaše organizacije i projekta.
Kreirajte poslovne veb stranice i aplikacije zasnovane na SEO-u, rutiranju, pre-renderingu, bezbednosti, postavljanju, grupisanju i još mnogo toga. Kreirajte interne ili eksterne API-je izdvajanjem GraphQL resolver-a. Nemojte biti ograničeni samo jednom aplikacijom; pravite aplikacije koje koriste različite baze podataka. Možete koristiti Node.js drajvere baze podataka za interakciju sa spoljnim bazama podataka.
Webiny obezbeđuje grupisanje koda, IaC, mehanizme primene i organizaciju projekta. Dodajte proizvod na vrh liste i ponudite SaaS celom svetu. Osigurajte deo ili cele aplikacije pomoću ACL-a uz pomoć ugrađenog AWS Cognito i bezbednosnog frejmvorka.
Dodajte podršku za Auth0, OKTA i druge. Dobijate CMS bez glave, alat za pravljenje stranica, alat za pravljenje obrazaca, menadžer datoteka i još mnogo toga. Generišite šablonski kod korišćenjem CLI dodataka, od lambda funkcija do novih GraphQL API-ja.
Webiny-jev administratorski interfejs sadrži više od trideset različitih React komponenti. Takođe ćete dobiti DDoS zaštitu, CDN i 11 9 trajnost podataka. Webiny štedi vaše vreme u pokušajima i greškama i istraživanju.
AWS Chalice
Da li tražite frejmvork za pisanje aplikacija bez servera u Python-u?
Isprobajte AWS Chalice koji vam omogućava da kreirate i primenjujete aplikacije preko AWS Lambda.
Chalice obezbeđuje alatku komandne linije za kreiranje, primenu i upravljanje vašom aplikacijom, API zasnovan na dekoratorima za integraciju sa Amazon S3, Amazon API Gateway, Amazon SQS, Amazon SNS i više AWS usluga.
Omogućava vam da kreirate REST API-je, izvršavate zadatke koji se povremeno pokreću, povezujete lambda funkcije sa S3 događajem i SQS redom i više AWS resursa. Odmah nakon što napišete svoj kod, Chalice će vam omogućiti da brzo pokrenete i primenite svoju aplikaciju. Chalice podržava svaku verziju Python-a koju AWS Lambda podržava, uključujući Python 2.7, 3.6, 3.7 i 3.8.
Konfigurišite sve akreditive pre nego što primenite aplikaciju. Ali ako ste ga već konfigurisali da pokreće AWS CLI ili boto3, preskočite ovo. Nakon postavljanja, možete izvršiti modifikacije gde god vam je potrebno i ponovo primeniti promene. Dobijate tutorijale, teme i API reference za bolju verziju svog znanja.
Zappa
Zappa je frejmvork bez servera za kreiranje Python aplikacija. Olakšava rad u izgradnji i primeni Python aplikacija bez servera i događaja na API Gateway-u i AWS Lambda. Koristite ga da uživate u nultom održavanju, nultom zastoju i beskonačnom skaliranju uz minimalnu cenu trenutne primene.
Pre nego što krenete na instalacije i konfiguracije, uverite se da imate Python 3.x i AWS nalog i ispravnu instalaciju AWS datoteke akreditiva. Takođe možete lako da instalirate Zappa koristeći pip.
Zappa automatski postavlja podešavanja primene. Kada su podešavanja pravilno konfigurisana, primenite aplikaciju u fazi proizvodnje u jednoj komandnoj liniji. Koristite komandu šablona ako želite API Gateway CloudFormation šablon. Primenite Zappa na prilagođene poddomene i imena domena sa SSL sertifikatima, AWS sertifikatima menadžera sertifikata i Let’s Encrypt sertifikatima.
Omogućite bezbedne krajnje tačke na API mrežnom prolazu, kao što su API ključ, IAM politika, API mrežni prolaz lambda autorizatori, autorizator grupe korisnika Cognito i politika resursa API mrežnog prolaza. Štaviše, možete podesiti promenljive okruženja kao što su lokalno okruženje, udaljeno AWS okruženje i udaljeno okruženje preko S3 datoteke.
Architect
Kreirajte, primenite i održavajte novu generaciju AWS cloud funkcija zasnovane na infrastrukturi bez servera sa potpunim lokalnim, offline radnim tokovima i još mnogo toga.
Ovo je prilično sofisticiran projekat i zahteva da pročitate filozofiju projekta i stranicu dokumentacije u celini.
Up
Up je frejmvork koji vam pomaže da primenite aplikacije bez servera sa beskonačnim potencijalom skalabilnosti. Štaviše, možete da koristite Up za postavljanje statičkih veb sajtova, API-ja i još mnogo toga. Sve ovo vam daje fleksibilnost da radite na onome što vam je zaista važno.
Na sreću, Up primenjuje tradicionalne HTTP servere, tako da se od vas ne traži da naučite neki novi protokol. Umesto toga, koristite svoj omiljeni frejmvork kao što je Django ili Express da biste započeli.
Claudia.js
Claudia.js daje programerima sredstva da svoje projekte zasnovane na Node.js guraju u Lambda sisteme i API-je. Claudia će automatizovati zadatke primene, konfiguraciju i automatski će postaviti vaše JavaScript okruženje za savremeni razvoj.
Pa, šta ovo znači za vas? Koristeći Claudia, možete započeti svoje putovanje mikroservisima za nekoliko minuta. Kao rezultat toga, imate mnogo manje za razmišljanje i mnogo više vremena da se usredsredite na rešavanje stvarnih problema.
Glavni razlozi za korišćenje Claudia uključuju:
- Postavite, ažurirajte i upravljajte svojim instancama pomoću jedne komande
- Radi besprekorno sa NPM paketima
- Integrisana šablonska struktura, koja vam daje više prostora da se fokusirate na svoje zadatke.
- Upravljanje verzijama tako da možete raditi na više verzija istovremeno
- Mala kriva učenja
Jets
Da li volite Ruby?
Onda ćete možda uživati u Jets — Ruby frejmvorku bez servera za kreiranje i primenu mikroservisa. Frejmvork uključuje sve neophodne alate koji će vam pomoći da generišete API strukture i da ih primenite na Lambda.
Jets takođe funkcioniše za pisanje zasebnih funkcija koje možete da koristite za spajanje različitih usluga i resursa koje pruža AWS.
Način na koji Jets funkcioniše je da frejmvork pretvara vaš postojeći kod u funkcije za Lambda i druge AWS usluge. Kao rezultat toga, možete preskočiti stvari poput podešavanja i obezbeđivanja da biste potrošili više vremena na pisanje funkcionalnog koda.
Pulumi
Pulumi pruža besprekoran SDK koji će vam pomoći da kreirate i primenite softver na bilo kojoj platformi zasnovanoj na oblaku. SDK podržava kontejnere, hostovane usluge, osnovnu infrastrukturu i kontejnere.
Možete pisati kod na bilo kom jeziku koji želite; Pulumi će obezbediti i upravljati vašim resursima kod dobavljača usluga kao što su GCP, AWS, Kubernetes i Azure.
Serverless
Znam šta mislite: „Neko je imao dovoljno sreće da dobije ime domena Serverless.com i samo unovčava svoju sreću!”, a moram vam reći da to nije slučaj.
Serverless Framework ima oko 30.000 zvezdica na GitHub-u, što ga čini najpopularnijim frejmvorkom bez servera koji možete naći.
Dakle, šta možete da uradite sa ovim frejmvorkom? Prvo i najvažnije, možete kreirati aplikacije koje koriste mikroservise kao sredstvo za reagovanje na događaje itd. Na primer, vaše aplikacije reaguju samo kada postoji definisan poziv i povećavaju i smanjuju se na osnovu zahteva. Kao rezultat toga, možete uštedeti dosta novca koji bi inače bio potrošen na održavanje neaktivnih usluga.
Frejmvork koristi nove računarske usluge vođene događajima, kao što su AWS Lambda, Google Cloud funkcije i još mnogo toga. To je alatka komandne linije, koja obezbeđuje skelet, automatizaciju toka posla i najbolje prakse za razvoj i primenu vaše arhitekture bez servera. Takođe je potpuno proširiv preko dodataka.
Sigma
Sigma je novi IDE zasnovan na oblaku, izgrađen oko ideje razvoja bez servera. Ovo nije samo osnovni uređivač teksta sa nekim otmenim funkcijama, već potpuno opremljen IDE koji će vam omogućiti da napišete kod i objavite taj kod kao živu aplikaciju u realnom vremenu.
Sigma IDE može da razgovara napred-nazad sa izabranom platformom bez servera (FaaS) i to samo uz zahtev za konfiguracionim fajlom. Kao rezultat toga, možete uštedeti beskonačne sate na inače dosadne zadatke.
Takođe, za razliku od drugih alata koji pokušavaju da postignu sličan rezultat — Sigma je sama po sebi bez servera. IDE se u potpunosti pokreće iz pretraživača i ne zahteva pozadinski servis da bi funkcionisao za sve osim za nekoliko funkcija. Konkretno, back-end je potreban za autentifikaciju korisnika i prikupljanje analitičkih podataka.
Ovo je vredno pažnje i isprobavanja.
Auth0
Ako ste strastveni oko koncepta bez servera, verovatno ste čuli za frejmvork bez servera – onaj koji smo spomenuli ranije u članku.
Auth0 je udružio svoje napore da napravi Auth0 Web zadatke, efikasan dodatak za sve korisnike Serverless Framework-a. Projekat se zove Webtask, a početnu stranicu možete pronaći ovde.
U suštini, Webtask se može koristiti za kreiranje aplikacija bez potrebe da brinete o svojoj infrastrukturi. Napišite logiku na strani servera i primenite sve svoje funkcije koristeći CLI koji obezbeđuje Webtask. Zatim možete da se krećete po pozadini koristeći HTTP protokol.
Ažuriranje: Veb lokacija Webtask je od tada zatvorena.
Primeri bez servera
Ranije smo u postu govorili o frejmvorku bez servera i u suštini, ovo je dodatni resurs koji prikazuje mnogo različitih slučajeva korišćenja za frejmvork bez servera.
Uprkos tome što su ovi primeri zaključani u jednom specifičnom frejmvorku, i dalje možete uživati u procesu učenja o novim konceptima bez servera.
Primeri su dostupni za platforme kao što su AWS, Azure, Kubeless, Google Cloud i OpenWhisk. Dalje, postoji podrška za šest različitih jezika: NodeJS, Python, Go, Java, PHP i Swift.
Pogledajte neke od ovih primera kao što su Twitter Joke Bot i OAuth Dropbox API.
Ako tražite praktično učenje, pogledajte ovaj online kurs.