13 рамки за създаване на приложения без сървър

Вълнувате ли се от безсървърната технология? Нетърпеливи ли сте да се сдобиете с нов проект, но не сте сигурни откъде да започнете?

Ето обобщение на най-популярните сървърни рамки, до които можете да се докопате!

Компютрите без сървър са на мода сред тези, които обичат идеята да управляват по-малко, докато имат време да създават повече. И въпреки че технологията все още е доста нова, много разработчици и инженери правят всичко възможно, за да създадат вълнуващи решения за бъдещето на операциите без сървър.

Както съм сигурен, че вече знаете, без сървър не означава точно без сървър. Това просто означава по-малко сървъри и повече функции. И ако търсите надеждна платформа FaaS (функции като услуга) за следващия си проект, вижте предишния ни запис на най-добрите изчислителни платформи без сървър.

Като се има предвид това, нека да разгледаме наличните за нас рамки. Ще завършим нещата с някои вълнуващи проекти, които се разработват в пространството без сървър, така че се уверете, че оставате за тях!

AWS Amplify

Създавайте бързо мащабируеми приложения без сървър за уеб и мобилни устройства AWS Amplify рамка и получете безкрайна гъвкавост. Конфигурирайте вашите безсървърни бекендове с данни, съхранение, удостоверяване и други чрез използване на интелигентни работни потоци.

Свържете мобилни и уеб приложения със съществуващи или нови AWS ресурси с по-малко редове код. Можете да хоствате и разгръщате уеб приложения с една страница, изобразени от страна на сървъра приложения и уебсайтове за състояние с няколко кликвания. Освен това ви позволява лесно да управлявате потребителите на съдържание и приложения.

AWS Amplify помага на предните мобилни и уеб разработчици да създават приложения с пълен стек на AWS по-бързо и да персонализират приложението, когато имате нужда. Amplify поддържа много уеб рамки като React, Angular, JavaScript, Vue.js, Next.js и др., и мобилни платформи като iOS, Ionic, Flutter, Android и React Native.

Можете да се интегрирате с много UI компоненти на Amplify, за да ускорите разработката на приложения. Получете много функции и инструменти като удостоверяване, взаимодействия, функции, DataStore, управление на потребители, API (REST, GraphQL), Analytics, AI/ML прогнози, съхранение, PubSub, насочени известия и т.н., за разработка. Освен това имате управляван хостинг, PR прегледи, CI/CD, персонализирани домейни и наблюдение за внедряване.

По средата

Вземете безсървърната рамка Node.js за създаване на традиционни сървърни приложения, малки програми, микроуслуги и изграждане на безсървърни услуги с По средата. Написано е на машинопис, който използва механизъм за инжектиране на IoC, за да отдели логиката на приложението и да направи по-лесното разработване на големите Node.js приложения по-естествено.

Midway може да използва express, EggJS или koa като основни рамки. Той предоставя основни решения като GRPC, Dubbo.js, RabbitMQ и Socket.io за независима употреба. Освен това Midway работи като безсървърна уеб рамка Node.js за разработчици с пълен стек или преден край.

Midway ви позволява да създавате приложения от следващо поколение, които работят в контейнер, VM, Alibaba Cloud, AWS и Tencent Cloud. Можете също така да го интегрирате лесно с Vue и React. Ще намерите много функции като:

  • Групови и мащабируеми добавки
  • Съвместимост и архитектура на разширена група Middleware
  • Възможност за отделяне и наслояване на приложението
  • Опит за разработка от следващо поколение
  • Поддържа коа мидълуер и добавки за яйца.
  21 TF карти за вашата камера и други джаджи

Webiny

Вземете всичко необходимо за проектиране, внедряване и изграждане на приложения без сървър с Webiny Безсървърна рамка за приложения. Той е предназначен за различни случаи на употреба. Можете да промените архитектурата, техническия стек и да се адаптирате към нуждите на вашата организация и проект.

Създавайте бизнес уебсайтове и приложения на базата на SEO, маршрутизиране, предварително изобразяване, сигурност, внедряване, групиране и др. Създайте вътрешни или външни API чрез извличане на резолверите на GraphQL. Не се ограничавайте с едно приложение; създаване на приложения, които използват различни бази данни. Можете да използвате драйверите за база данни NodeJS, за да взаимодействате с външни бази данни.

Webiny осигурява групиране на код, IaC, механизми за внедряване и организация на проекта. Добавете продукта в горната част на списъка и предложете SaaS на целия свят. Защитете част от или целите приложения с ACL с помощта на вградения AWS Cognito и рамка за сигурност.

Добавете поддръжка за Auth0, OKTA и други. Ще получите CMS без глава, създател на страници, създател на формуляри, файлов мениджър и много други. Генерирайте шаблонен код, като използвате CLI плъгини от ламбда функциите до новите API на GraphQL.

Административният потребителски интерфейс на Webiny съдържа повече от тридесет различни компонента на React. Освен това ще получите DDoS защита, CDN и издръжливостта на данните на 11 9. Webiny ви спестява време в опити и грешки и проучване.

AWS чаша

Търсите ли рамка за писане на приложения без сървър в Python?

Опитвам AWS чаша което ви позволява да създавате и внедрявате приложения чрез AWS Lambda.

Chalice предоставя инструмент от командния ред за създаване, внедряване и управление на вашето приложение, базиран на декоратор API за интегриране с Amazon S3, Amazon API Gateway, Amazon SQS, Amazon SNS и други AWS услуги.

Позволява ви да създавате REST API, да изпълнявате задачи, изпълнявани периодично, да свързвате ламбда функции със събитие S3 и SQS опашка и повече AWS ресурси. Веднага след като напишете вашия код, Chalice ще ви позволи бързо да стартирате и внедрите приложението си. Chalice поддържа всяка версия на Python, която AWS Lambda поддържа, включително Python 2.7, 3.6, 3.7 и 3.8.

Конфигурирайте всички идентификационни данни, преди да разположите приложението. Но ако вече сте го конфигурирали да изпълнява AWS CLI или boto3, пропуснете това. След внедряването можете да правите модификации, където имате нужда, и да разпределяте отново промените. Вземете уроци, теми и препратки към API за по-добра версия на знанията си.

Запа

Запа е рамка без сървър за създаване на приложения на Python. Улеснява работата при изграждането и внедряването на безсървърни и управлявани от събития Python приложения на API Gateway и AWS Lambda. Използвайте го, за да се насладите на нулева поддръжка, нулево време на престой и безкрайно мащабиране при минимални разходи за текущите внедрявания.

Преди да преминете към инсталации и конфигурации, уверете се, че имате Python 3.x и AWS акаунт и правилно инсталиране на файла с идентификационни данни на AWS. Можете също така лесно да инсталирате Zappa с помощта на pip.

  Топ 28 най-добри инструменти за проследяване на грешки

Zappa автоматично настройва настройките за внедряване. След като настройките са правилно конфигурирани, внедрите приложението в производствен етап в един команден ред. Използвайте команда за шаблон, ако искате шаблон на API Gateway CloudFormation. Внедрете Zappa в персонализирани поддомейни и имена на домейни със SSL сертификати, сертификати на AWS Certificate Manager и Let’s Encrypt сертификати.

Активирайте защитените крайни точки на API Gateway, като API ключ, IAM политика, API Gateway Lambda Authorizers, Cognito User Pool Authorizer и API Gateway Resource Policy. Освен това можете да зададете променливи на средата като локална среда, отдалечена AWS среда и отдалечена среда чрез S3 файл,

Архитект

Създавайте, внедрявайте и поддържайте безсървърна инфраструктура, базирана на облачни функции на AWS от следващо поколение, с пълни локални, офлайн работни потоци и др.

Това е сравнително сложен проект и изисква да прочетете философията на проекта и страницата с документацията като цяло.

нагоре

нагоре е рамка, която ви помага да разположите приложения без сървър с безкраен потенциал за мащабируемост. Освен това можете да използвате Up за внедряване на статични уебсайтове, API и др. Всичко това ви дава гъвкавостта да работите върху това, което наистина има значение за вас.

За щастие, Up внедрява традиционни екземпляри на HTTP сървър, така че не е необходимо да научите някакъв нов протокол. Вместо това използвайте любимата си рамка като Django или Express, за да започнете.

Claudia.js

Claudia.js дава на разработчиците средства да насочат своите базирани на Node.js проекти към Lambda системи и API. Claudia ще автоматизира задачите по внедряване, конфигурация и автоматично ще настрои вашата JavaScript среда за модерно развитие.

И така, какво означава това за вас? С помощта на Claudia можете бързо да започнете своето пътуване с микроуслуги за минути. В резултат на това имате много по-малко време да мислите и много повече време да се съсредоточите върху решаването на реални проблеми.

Основните причини да използвате Claudia включват:

  • Внедрете, актуализирайте и управлявайте своите екземпляри с една команда
  • Работи безупречно с NPM пакети
  • Интегрирана типова структура, която ви дава повече място да се съсредоточите върху текущите си задачи.
  • Управление на версиите, за да можете да работите върху няколко версии едновременно
  • Малка крива на обучение

Реактивни самолети

Обичаш ли Руби?

Тогава може просто да откриете, че се наслаждавате Реактивни самолети — Ruby Framework без сървър за създаване и внедряване на микроуслуги. Рамката включва всички необходими инструменти, за да ви помогне да генерирате API структури и да ги внедрите в тях Ламбда.

Реактивни самолети работи и за писане на отделни функции, които можете да използвате, за да съедините различни услуги и ресурси, предоставени от AWS.

Начинът, по който Jets работи, е, че рамката преобразува вашия съществуващ код във функции за Lambda и други AWS услуги. В резултат на това можете да пропуснете неща като внедряване и осигуряване, за да отделите повече време за писане на функционален код.

Пулуми

Пулуми предоставя безпроблемен SDK, който да ви помогне да създавате и внедрявате софтуер на всяка облачна платформа. SDK поддържа контейнери, хоствани услуги, основна инфраструктура и контейнери.

Можете да пишете код на всеки език, който желаете; Pulumi ще предостави и управлява вашите ресурси на доставчици на услуги като GCP, AWS, Kubernetes и Azure.

  Как да зададете снимка на профила в Zoom

Без сървър

Знам какво си мислите: „Някой е имал късмета да получи името на домейна Serverless.com и просто осребряват късмета си!”, а трябва да ви кажа, че това не е така.

Serverless Framework има някои 30 000 звезди в GitHubкоето прави това най-популярно рамка без сървър можете да намерите.

И така, какво можете да направите с тази рамка? Първо и най-важно, можете да създавате приложения, които използват микроуслуги като средство за реагиране на събития и т.н. Напр. Вашите приложения отговарят само когато има окончателно повикване и се мащабират нагоре и надолу въз основа на търсенето. В резултат на това можете да спестите много пари, които иначе биха били похарчени за поддръжка на неактивни услуги.

Рамката използва нови управлявани от събития изчислителни услуги, като AWS Lambda, Google Cloud Functions и др. Това е инструмент за команден ред, осигуряващ скеле, автоматизация на работния процес и най-добри практики за разработване и внедряване на вашата безсървърна архитектура. Освен това е напълно разширим чрез плъгини.

Сигма

Сигма е нова базирана на облак IDE, изградена около идеята за разработка без сървър. Това не е просто основен текстов редактор с някои фантастични функции, а пълнофункционална IDE, която ще ви позволи да пишете код и да публикувате този код като живо приложение в реално време.

Sigma IDE може да общува напред и назад с избраната от вас платформа без сървър (FaaS) и само с изискването за конфигурационен файл. В резултат на това можете да спестите безкрайни часове на иначе скучни задачи.

Също така, за разлика от други инструменти, които се опитват да постигнат подобен резултат – Sigma сама по себе си е без сървър. IDE работи изцяло от браузъра и не се нуждае от бек-енд услуга, за да работи за всички функции освен за няколко. По-конкретно, задната част е необходима за удостоверяване на потребителите и събиране на аналитични данни.

Този си струва да го държите под око и да го изпробвате сами.

Auth0

Ако сте запалени по концепцията за Serverless, тогава вероятно сте чували за Serverless Framework – тази, която споменахме по-рано в статията.

Auth0 обедини усилията си за изграждане на Auth0 Web задачи, ефективна добавка за всички потребители на Serverless Framework. Проектът се нарича Webtask и можете да намерите началната страница тук.

По същество Webtask може да се използва за създавайте приложения, без да е необходимо да се притеснявате за вашата инфраструктура съвместимост. Напишете логика от страна на сървъра и внедрите всичките си функции, като използвате CLI, предоставен от Webtask. След това можете да навигирате в задния край, като използвате HTTP протокола.

Актуализация: Уебсайтът Webtask оттогава е спрян.

Примери без сървър

Говорихме за безсървърната рамка по-рано в публикацията и по същество това е последващ ресурс, който показва много различни случаи на използване на безсървърната рамка.

Въпреки че тези примери са заключени към една конкретна рамка, все пак можете да се насладите на процеса на изучаване на нови концепции без сървър.

Примерите са налични за платформи като AWS, Azure, Kubeless, Google Cloud и OpenWhisk. Освен това има поддръжка за шест различни езика: nodeJS, Python, Go, Java, PHP и Swift.

Вижте някои от тези любими като Twitter Joke Bot и OAuth Dropbox API.

Ако търсите практическо обучение, вижте това онлайн курс.