В чем разница между AWS SAM (модем безсерверной архитектуры) и бессерверной инфраструктурой? - PullRequest
0 голосов
/ 07 сентября 2018

Мы работаем над проектом, мы пытаемся создать безсерверное приложение в nodejs. Я знакомлюсь с AWS SAM и Serverless. Что лучше для реализации безсерверного приложения

Ответы [ 2 ]

0 голосов
/ 12 января 2019

Самые большие различия между SAM и SF:

1) SAM только для AWS; SF поддерживает несколько бэкэндов, поэтому он поддерживает развертывание для мульти / гибридного облачного приложения. SF также поддерживает kubernetes backend.

2) Для AWS шаблоны SAM и SF компилируются в Cloudformation (CF). SAM имеет возможность использовать Transform, которая по сути является макросом для CF.

3) SAM написана на Python; SF написан на Javascript.

4) SF имеет плагины, которые позволяют запускать любые коды (включая не Javascript); что фактически означает, что можно выйти за пределы ограничений Cloudformation (CF), поскольку всегда есть что-то (new-ish), которое еще не поддерживается в CF. Система плагинов также очень гибкая и может быть очень полезной.

5) Система переменных SF является более гибкой, что позволяет выполнять динамическое включение в зависимости от наличия других параметров (например, stage); Переменные SAM намного ближе к CF.

0 голосов
/ 08 сентября 2018

Вы можете проверить эту статью, сравнив SAM и Serverless

Основные различия, перечисленные на этой странице, следующие:

Serverless Framework - это среда, которая облегчает написание управляемые событиями функции для множества поставщиков, включая AWS, Google Cloud, Kubeless и многое другое. Для каждого провайдера, серия мероприятий можно настроить для вызова функции. Каркас открыт источник и регулярно получает обновления.

Модель сервера без AWS (SAM) - это уровень абстракции в фронт CloudFormation, который позволяет легко писать без сервера приложения в AWS. Есть поддержка трех разных ресурсов типы: Lambda, DynamoDB и API Gateway. Использование SAM Local, Lambda и API-шлюз можно запускать локально с помощью контейнеров Docker.

Обе платформы имеют общее то, что они генерируют CloudFormation. В другими словами: они оба абстрагируют CloudFormation, так что вам нужно писать меньше кода для создания безсерверных приложений (в случае SAM) и для развертывания лямбда-функций (как для SAM, так и для Serverless). самая большая разница в том, что Serverless написан для развертывания FaaS (Функция как услуга) функционирует для разных поставщиков. СЭМ на С другой стороны, это уровень абстракции специально для AWS, используя не только FaaS, но также DynamoDB для хранилища и API Gateway для создания Безсерверная конечная точка HTTP.

Другое отличие состоит в том, что SAM Local позволяет запускать Lambda. функционирует локально и раскручивает шлюз API локально. Это делает это проще разрабатывать и тестировать лямбда-функции без их развертывания AWS. С помощью Serverless Framework вы также можете вызывать Lambda. функции из командной строки, но только если они развернуты в AWS и доступно через API-шлюз.

...