13 платформ для створення безсерверних програм

Ви в захваті від безсерверної технології? Ви прагнете взятися за новий проект, але не знаєте, з чого почати?

Ось підбірка найпопулярніших безсерверних фреймворків, які ви можете отримати!

Безсерверні обчислення в моді серед тих, хто любить ідею менше керувати, маючи час створювати більше. І незважаючи на те, що ця технологія все ще досить нова, багато розробників та інженерів роблять усе можливе, щоб створити захоплюючі рішення для майбутнього безсерверних операцій.

Як я впевнений, ви вже знаєте, без сервера зовсім не означає відсутність сервера. Це просто означає менше серверів і більше функцій. І якщо ви шукаєте надійну платформу FaaS (функції як послуга) для свого наступного проекту, перегляньте наш попередній огляд найкращих безсерверних обчислювальних платформ.

З огляду на це, давайте подивимося на доступні нам фреймворки. На завершення ми розповімо про кілька захоплюючих проектів, які розробляються в безсерверному просторі, тож не забувайте про них!

AWS Amplify

Швидко створюйте масштабовані безсерверні програми для Інтернету та мобільних пристроїв AWS Amplify фреймворк і отримати нескінченну гнучкість. Налаштуйте безсерверні серверні модулі з даними, сховищем, автентифікацією тощо за допомогою розумних робочих процесів.

Підключайте мобільні та веб-програми до наявних або нових ресурсів AWS за допомогою меншої кількості рядків коду. Ви можете розміщувати та розгортати односторінкові веб-програми, програми, що відображаються на стороні сервера, і веб-сайти статусу в кілька кліків. Це також дозволяє легко керувати вмістом і користувачами програм.

AWS Amplify допомагає мобільним і веб-розробникам інтерфейсу швидше створювати повний пакет програм на AWS і налаштовувати програму, коли вам це потрібно. Amplify підтримує багато веб-фреймворків, таких як React, Angular, JavaScript, Vue.js, Next.js тощо, і мобільні платформи, такі як iOS, Ionic, Flutter, Android і React Native.

Ви можете інтегруватися з багатьма компонентами інтерфейсу користувача Amplify, щоб прискорити розробку програми. Отримайте багато функцій та інструментів, таких як автентифікація, взаємодії, функції, DataStore, керування користувачами, API (REST, GraphQL), Analytics, передбачення AI/ML, зберігання, PubSub, push-сповіщення тощо для розробки. Крім того, у вас є керований хостинг, попередній перегляд PR, CI/CD, спеціальні домени та моніторинг розгортання.

На півдорозі

Отримайте безсерверну структуру Node.js для створення традиційних серверних програм, невеликих програм, мікросервісів і створення безсерверних служб за допомогою На півдорозі. Він написаний на машинописі, який використовує механізм ін’єкції IoC, щоб розділити логіку програми та зробити більш природною розробку великих програм Node.js.

Midway може використовувати express, EggJS або koa як базові фреймворки. Він надає базові рішення, такі як GRPC, Dubbo.js, RabbitMQ і Socket.io для самостійного використання. Крім того, Midway працює як безсерверний веб-фреймворк Node.js для розробників повного стеку або інтерфейсу.

Midway дозволяє створювати програми наступного покоління, які працюють у контейнері, віртуальній машині, хмарі Alibaba, AWS і хмарі Tencent. Ви також можете легко інтегрувати його з Vue і React. Ви знайдете багато функцій, таких як:

  • Групові та масштабовані плагіни
  • Розширена групова сумісність і архітектура проміжного програмного забезпечення
  • Можливість відокремлення та багатошаровість застосування
  • Досвід розробки нового покоління
  • Підтримує проміжне програмне забезпечення koa та плагіни Egg.
  Сортувальник закладок – це інструмент автоматизації сортування закладок [Firefox]

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.

  10 найкращих хостинг-провайдерів серверів Colocation для SMB

Zappa автоматично встановлює параметри розгортання. Після правильного налаштування параметрів розгорніть програму на стадії виробництва за допомогою одного командного рядка. Використовуйте команду шаблону, якщо вам потрібен шаблон API Gateway CloudFormation. Розгорніть Zappa на користувальницьких субдоменах і доменних іменах за допомогою сертифікатів SSL, сертифікатів AWS Certificate Manager і сертифікатів Let’s Encrypt.

Увімкніть захищені кінцеві точки на шлюзі API, такі як ключ API, політика IAM, лямбда-авторизатори шлюзу API, авторизатор пулу користувачів Cognito та політика ресурсів шлюзу API. Крім того, ви можете встановити змінні середовища, такі як локальне середовище, віддалене середовище 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.

  Як налаштувати спільні ресурси NFS на OpenMediaVault

Безсерверний

Я знаю, що ви думаєте: «Комусь пощастило отримати доменне ім’я Serverless.com і просто використовують свою удачу!», і я повинен вам сказати, що це не так.

Серверне фреймворк має деякі 30 000 зірок на GitHubщо робить його найпопулярнішим безсерверний фреймворк ви можете знайти.

Отже, що ви можете зробити з цією структурою? Перш за все, ви можете створювати додатки, які використовують мікросервіси як засіб реагування на події тощо. Наприклад, ваші додатки відповідають лише тоді, коли є остаточний виклик, і масштабуються відповідно до вимог. У результаті ви можете заощадити купу грошей, які інакше були б витрачені на підтримку незадіяних служб.

Framework використовує нові обчислювальні служби, керовані подіями, як-от AWS Lambda, Google Cloud Functions тощо. Це інструмент командного рядка, який надає каркаси, автоматизацію робочого процесу та найкращі методи розробки та розгортання вашої безсерверної архітектури. Він також повністю розширюється за допомогою плагінів.

Сигма

Сигма це нова хмарна IDE, створена навколо ідеї безсерверної розробки. Це не просто базовий текстовий редактор із деякими фантастичними функціями, а повнофункціональна IDE, яка дозволить вам писати код і публікувати цей код як живу програму в режимі реального часу.

Sigma IDE може взаємодіяти з обраною вами безсерверною (FaaS) платформою лише за наявності файлу конфігурації. У результаті ви можете заощадити нескінченні години виконання інакше нудних завдань.

Крім того, на відміну від інших інструментів, які намагаються досягти подібного результату, Sigma сама без сервера. IDE працює повністю з браузера і не потребує внутрішньої служби для роботи всіх функцій, крім кількох. Зокрема, серверна частина потрібна для автентифікації користувачів і збору аналітичних даних.

На це варто звернути увагу та спробувати на собі.

Auth0

Якщо ви захоплюєтеся концепцією Serverless, то, напевно, ви чули про Serverless Framework — ту, яку ми згадували раніше в статті.

Auth0 об’єднав свої зусилля для створення веб-завдань Auth0, ефективного доповнення для всіх користувачів 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.

Якщо ви шукаєте практичне навчання, перегляньте це онлайн курс.