13 rámců pro vytváření aplikací bez serveru

Jste nadšeni z technologie Serverless? Toužíte po novém projektu, ale nejste si jisti, kde začít?

Zde je shrnutí nejoblíbenějších bezserverových frameworků, které můžete získat!

Mezi těmi, kteří milují myšlenku, že musí méně spravovat, a přitom mít čas na vytváření více, je počítačová technika bez serveru v módě. A přestože je tato technologie stále zcela nová, mnoho vývojářů a inženýrů se snaží vytvářet vzrušující řešení pro budoucnost bezserverových operací.

Jak už jistě víte, Serverless neznamená přesně bez serveru. Znamená to pouze méně serverů a více funkcí. A pokud hledáte spolehlivou platformu FaaS (Functions as a Service) pro svůj další projekt, podívejte se na náš předchozí zápis nejlepších počítačových platforem bez serveru.

Jak již bylo řečeno, pojďme se podívat na rámce, které máme k dispozici. Vše zakončíme některými vzrušujícími projekty, které se vyvíjejí v prostoru Serverless, takže se u nich držte!

AWS Amplify

Vytvářejte rychle škálovatelné aplikace bez serveru pro web a mobilní zařízení AWS Amplify rámec a získejte nekonečnou flexibilitu. Nakonfigurujte své backendy bez serveru s daty, úložištěm, ověřováním a dalšími funkcemi pomocí inteligentních pracovních postupů.

Připojte mobilní a webové aplikace ke stávajícím nebo novým zdrojům AWS s menším počtem řádků kódu. Pomocí několika kliknutí můžete hostovat a nasazovat jednostránkové webové aplikace, vykreslované aplikace na straně serveru a stavové weby. Umožňuje vám také snadno spravovat obsah a uživatele aplikací.

AWS Amplify pomáhá předním vývojářům mobilních a webových aplikací rychleji vytvářet kompletní aplikace na AWS a přizpůsobovat aplikaci, kdykoli budete potřebovat. Amplify podporuje mnoho webových frameworků, jako je React, Angular, JavaScript, Vue.js, Next.js atd., a mobilní platformy, jako je iOS, Ionic, Flutter, Android a React Native.

Můžete se integrovat s mnoha komponentami uživatelského rozhraní Amplify a urychlit vývoj aplikací. Získejte mnoho funkcí a nástrojů, jako je ověřování, interakce, funkce, DataStore, správa uživatelů, API (REST, GraphQL), Analytics, AI/ML predikce, úložiště, PubSub, push notifikace atd., pro vývoj. Kromě toho máte k dispozici Managed Hosting, PR náhledy, CI/CD, vlastní domény a monitorování pro nasazení.

uprostřed

Získejte bezserverový framework Node.js pro vytváření tradičních aplikací na straně serveru, malých programů, mikroslužeb a vytváření bezserverových služeb s uprostřed. Je napsán strojopisem, který používá mechanismus IoC vstřikování k oddělení logiky aplikace a usnadňuje vývoj velkých aplikací Node.js přirozeněji.

Midway může jako základní frameworky používat express, EggJS nebo koa. Poskytuje základní řešení, jako jsou GRPC, Dubbo.js, RabbitMQ a Socket.io pro nezávislé použití. Midway navíc funguje jako bezserverový webový framework Node.js pro full-stack nebo front-end vývojáře.

Midway vám umožňuje vytvářet aplikace nové generace, které běží na kontejneru, VM, Alibaba Cloud, AWS a Tencent Cloud. Můžete jej také snadno integrovat s Vue a React. Najdete zde mnoho funkcí jako:

  • Skupinové a škálovatelné pluginy
  • Pokročilá skupinová kompatibilita a architektura middlewaru
  • Schopnost oddělení a vrstvení aplikací
  • Zkušenosti s vývojem nové generace
  • Podporuje koa middleware a zásuvné moduly Egg.
  Jak používat Microsoft Planner v Teams

Webiny

Získejte vše, co potřebujete k architektuře, nasazení a sestavování aplikací bez serveru s Webiny Bezserverový aplikační rámec. Je určen pro různé případy použití. Můžete upravit architekturu, technologický stack a přizpůsobit se potřebám vaší organizace a projektu.

Vytvářejte obchodní weby a aplikace založené na SEO, směrování, předběžném vykreslování, zabezpečení, nasazení, sdružování a dalších. Vytvořte interní nebo externí rozhraní API extrahováním překladačů GraphQL. Nenechte se omezovat jedinou aplikací; vytvářet aplikace, které využívají různé databáze. Ovladače databáze NodeJS můžete použít k interakci s externími databázemi.

Webiny poskytuje sdružování kódu, IaC, mechanismy nasazení a organizaci projektu. Přidejte produkt na začátek seznamu a nabídněte SaaS celému světu. Zabezpečte část nebo celé aplikace pomocí ACL pomocí vestavěného AWS Cognito a bezpečnostního rámce.

Přidejte podporu pro Auth0, OKTA a další. Získáte bezhlavý CMS, tvůrce stránek, tvůrce formulářů, správce souborů a mnoho dalších. Generujte standardní kód pomocí zásuvných modulů CLI z funkcí lambda do nových rozhraní API GraphQL.

Admin UI Webiny obsahuje více než třicet různých komponent React. Získáte také DDoS ochranu, CDN a odolnost dat 11 9. Webiny šetří váš čas při pokusech a omylech a výzkumu.

Kalich AWS

Hledáte framework pro psaní bezserverových aplikací v Pythonu?

Snaž se Kalich AWS který vám umožňuje vytvářet a nasazovat aplikace prostřednictvím AWS Lambda.

Chalice poskytuje nástroj příkazového řádku pro vytváření, nasazení a správu vaší aplikace, rozhraní API založené na dekoratérech pro integraci s Amazon S3, Amazon API Gateway, Amazon SQS, Amazon SNS a dalšími službami AWS.

Umožňuje vám vytvářet REST API, provádět periodicky spouštěné úlohy, propojovat funkce lambda s událostí S3 a frontou SQS a další prostředky AWS. Po napsání kódu vám Chalice umožní rychle spustit a nasadit vaši aplikaci. Chalice podporuje všechny verze Pythonu, které AWS Lambda podporuje, včetně Pythonu 2.7, 3.6, 3.7 a 3.8.

Před nasazením aplikace nakonfigurujte všechna pověření. Ale pokud jste jej již nakonfigurovali pro spuštění AWS CLI nebo boto3, přeskočte toto. Po nasazení můžete provádět úpravy, kdekoli potřebujete, a znovu nasadit změny. Získejte výukové programy, témata a reference API pro lepší verzi svých znalostí.

Zappa

Zappa je bezserverový rámec pro vytváření aplikací Python. Usnadňuje práci při vytváření a nasazování aplikací Python bez serveru a událostí řízených na API Gateway a AWS Lambda. Použijte jej, abyste si užili nulovou údržbu, nulové prostoje a nekonečné škálování při minimálních nákladech na aktuální nasazení.

Před instalací a konfigurací se ujistěte, že máte Python 3.xa účet AWS a správnou instalaci souboru pověření AWS. Zappu můžete také snadno nainstalovat pomocí pip.

Zappa automaticky nastaví nastavení nasazení. Jakmile jsou nastavení správně nakonfigurována, nasaďte aplikaci do produkční fáze pomocí jediného příkazového řádku. Pokud chcete šablonu API Gateway CloudFormation, použijte příkaz template. Nasaďte Zappa na vlastní subdomény a názvy domén s certifikáty SSL, certifikáty správce certifikátů AWS a certifikáty Let’s Encrypt.

  Otevře se Jak zabránit Superhuman (a dalším aplikacím) ve sledování vašeho e-mailu

Povolte zabezpečené koncové body na bráně API, jako je klíč API, zásada IAM, lambda autorizace brány API, autorizátor Cognito User Pool a zásada prostředků brány API. Navíc můžete nastavit proměnné prostředí, jako je místní prostředí, vzdálené prostředí AWS a vzdálené prostředí prostřednictvím souboru S3,

Architekt

Vytvářejte, nasazujte a udržujte novou generaci bezserverové infrastruktury založené na cloudových funkcích AWS s úplnými místními, offline pracovními postupy a dalšími funkcemi.

Toto je přiměřeně sofistikovaný projekt a vyžaduje, abyste četli dál filozofii projektu a stránku s dokumentací jako celek.

Nahoru

Nahoru je framework, který vám pomáhá nasazovat bezserverové aplikace s nekonečným potenciálem škálovatelnosti. Kromě toho můžete použít Up k nasazení statických webů, rozhraní API a dalších. To vše vám dává flexibilitu pracovat na tom, co je pro vás skutečně důležité.

Naštěstí Up nasazuje tradiční instance HTTP serveru, takže se po vás nežádá, abyste se museli učit nějaký nový protokol. Místo toho použijte svůj oblíbený framework, jako je Django nebo Express, abyste mohli začít.

Claudia.js

Claudia.js poskytuje vývojářům prostředky, jak prosadit své projekty založené na Node.js do systémů Lambda a API. Claudia zautomatizuje úlohy nasazení, konfiguraci a automaticky nastaví vaše JavaScriptové prostředí pro moderní vývoj.

Takže, co to pro vás znamená? Pomocí aplikace Claudia můžete svou cestu mikroslužeb nastartovat během několika minut. Díky tomu máte mnohem méně na přemýšlení a mnohem více času soustředit se na řešení skutečných problémů.

Mezi hlavní důvody, proč používat Claudia, patří:

  • Nasaďte, aktualizujte a spravujte své instance pomocí jediného příkazu
  • Funguje bezchybně s balíčky NPM
  • Integrovaná základní struktura, která vám dává více prostoru, abyste se mohli soustředit na své úkoly.
  • Správa verzí, takže můžete pracovat na více verzích současně
  • Malá křivka učení

Trysky

Miluješ Ruby?

Pak možná zjistíte, že si to užíváte Trysky — bezserverový Ruby Framework pro vytváření a zavádění mikroslužeb. Rámec obsahuje všechny potřebné nástroje, které vám pomohou generovat struktury API a nasazovat je lambda.

Trysky funguje také pro psaní samostatných funkcí, které můžete použít ke spojení různých služeb a zdrojů poskytovaných AWS.

Jets funguje tak, že framework převádí váš stávající kód na funkce pro Lambda a další služby AWS. V důsledku toho můžete přeskočit věci jako nasazení a zajišťování a věnovat více času psaní funkčního kódu.

Pulumi

Pulumi poskytuje bezproblémovou sadu SDK, která vám pomůže vytvořit a nasadit software na jakoukoli cloudovou platformu. Sada SDK podporuje kontejnery, hostované služby, základní infrastrukturu a kontejnery.

Můžete psát kód v libovolném jazyce, který se vám líbí; Pulumi bude poskytovat a spravovat vaše prostředky u poskytovatelů služeb, jako jsou GCP, AWS, Kubernetes a Azure.

  Jaký je rozdíl mezi My Photo Stream a iCloud Photos?

Bez serveru

Vím, co si myslíte: „Někdo měl to štěstí, že získal název domény Serverless.com a prostě kasírují své štěstí!“ a musím vám říci, že tomu tak není.

Serverless Framework nějaké má 30 000 hvězd na GitHubudíky čemuž je nejoblíbenější bezserverový rámec můžeš najít.

Co tedy můžete s tímto rámcem dělat? V první řadě můžete vytvářet aplikace, které používají mikroslužby jako prostředek k reakci na události atd. Vaše aplikace např. reagují pouze tehdy, když dojde k definitivnímu volání, a škálují se nahoru a dolů na základě poptávky. V důsledku toho můžete ušetřit spoustu peněz, které by jinak byly vynaloženy na udržování nečinných služeb.

Framework využívá nové výpočetní služby řízené událostmi, jako je AWS Lambda, Google Cloud Functions a další. Je to nástroj příkazového řádku, který poskytuje lešení, automatizaci pracovních postupů a osvědčené postupy pro vývoj a nasazení vaší architektury bez serveru. Je také plně rozšiřitelný pomocí pluginů.

Sigma

Sigma je nové cloudové IDE postavené na myšlence vývoje bez serveru. Nejedná se pouze o základní textový editor s některými efektními funkcemi, ale o plně vybavené IDE, které vám umožní psát kód a publikovat jej jako živou aplikaci v reálném čase.

Sigma IDE může komunikovat tam a zpět s vámi zvolenou bezserverovou (FaaS) platformou a pouze s požadavkem konfiguračního souboru. Díky tomu si můžete ušetřit nekonečné hodiny jinak nudných úkolů.

Také na rozdíl od jiných nástrojů, které se snaží dosáhnout podobného výsledku — Sigma je sama o sobě bez serveru. IDE běží výhradně z prohlížeče a nevyžaduje žádnou službu back-end, aby fungovala pro všechny funkce kromě několika. Konkrétně je back-end vyžadován k ověřování uživatelů a sběru analytických dat.

Tenhle stojí za to sledovat a stojí za to si ho vyzkoušet na vlastní kůži.

Auth0

Pokud jste nadšeni konceptem Serverless, pak jste pravděpodobně slyšeli o Serverless Framework – o tom, který jsme zmínili dříve v článku.

Auth0 spojil své úsilí o vytvoření webových úloh Auth0, efektivního doplňku pro všechny uživatele Serverless Framework. Projekt se jmenuje Webtask a domovskou stránku najdete zde.

V podstatě lze Webtask použít vytvářet aplikace, aniž byste se museli starat o svou infrastrukturu kompatibilita. Napište logiku na straně serveru a nasaďte všechny své funkce pomocí CLI poskytovaného Webtask. Poté můžete procházet back-end pomocí protokolu HTTP.

Aktualizace: Webová stránka Webtask byla od té doby vypnuta.

Příklady bez serveru

O Serverless Framework jsme hovořili dříve v příspěvku a v zásadě se jedná o následný zdroj, který představuje mnoho různých případy použití pro Serverless Framework.

Navzdory tomu, že tyto příklady jsou uzamčeny pro jeden konkrétní rámec, stále si můžete užívat proces učení se o nových konceptech bez serveru.

Příklady jsou dostupné pro platformy jako AWS, Azure, Kubeless, Google Cloud a OpenWhisk. Dále je zde podpora šesti různých jazyků: nodeJS, Python, Go, Java, PHP a Swift.

Podívejte se na některé z těchto oblíbených jako Twitter vtip Bot a OAuth Dropbox API.

Pokud hledáte praktické učení, podívejte se na toto online kurz.