Здравствуйте, Stalker., Вы писали:
S>Есть-ли какие-то подводные камни в реализации API (для фронтэнда и не только) лямбдой, вместо Web API? Насколько они вообще годяться для такой роли?
1) Покажите мне пальцем, где вы в AWS увидели термин Web API.
2) Лямбда может обладать некоторой излишней латентностью, то есть вешать её как api для сайта, которому требуется высокая скорость отклика — не очень хорошая идея.
Здравствуйте, Слава, Вы писали:
S>>Есть-ли какие-то подводные камни в реализации API (для фронтэнда и не только) лямбдой, вместо Web API? Насколько они вообще годяться для такой роли?
С>1) Покажите мне пальцем, где вы в AWS увидели термин Web API.
Тоже не видел, так то (API Gateway + Lambda) + (CloudFront + S3) = Site
С>2) Лямбда может обладать некоторой излишней латентностью, то есть вешать её как api для сайта, которому требуется высокая скорость отклика — не очень хорошая идея.
Имеется в виду холодный старт или накладные расходы в API Gateway?
Вообще по моему опыту именно с этим проблем не вижу а вот что напрягает:
* 30 сек на отбаботку запроса, чуть что надо городить механизм асинхронной обработки.
* Ограничения на размер сообщения, upload/download файлов какой-нибудь надо отдельно делать (через S3 или еще как)
* Микросервисная архитектура существенно сложнее монолитной. Это окупается на больших сайтах но на маленьких нафиг не уперлось.
Здравствуйте, GarryIV, Вы писали:
С>>2) Лямбда может обладать некоторой излишней латентностью, то есть вешать её как api для сайта, которому требуется высокая скорость отклика — не очень хорошая идея. GIV>Имеется в виду холодный старт или накладные расходы в API Gateway?
Холодный старт, который может возникнуть в любой момент.
GIV>Вообще по моему опыту именно с этим проблем не вижу а вот что напрягает: GIV>* 30 сек на отбаботку запроса, чуть что надо городить механизм асинхронной обработки.
Это решается использованием ALB вместо Api Gateway
GIV>* Ограничения на размер сообщения, upload/download файлов какой-нибудь надо отдельно делать (через S3 или еще как)
А вот это с ALB становится ещё бОльшей проблемой, там вообще ограничение в мегабайт на всё сообщение.
Здравствуйте, Слава, Вы писали:
С>1) Покажите мне пальцем, где вы в AWS увидели термин Web API.
В Visual Studio есть шаблон ASP.NET Core Web API, который и создает такой проект, его даже запаблишить можно автоматически. Или хотите сказать что под капотом ламбда и создается? Тогда вопрос в чем отличие от просто лямбды, где она принимает APIGatewayProxyRequest request и по-сути получается тот-же Web API?
Здравствуйте, Stalker., Вы писали:
S>В Visual Studio есть шаблон ASP.NET Core Web API, который и создает такой проект, его даже запаблишить можно автоматически. Или хотите сказать что под капотом ламбда и создается? Тогда вопрос в чем отличие от просто лямбды, где она принимает APIGatewayProxyRequest request и по-сути получается тот-же Web API?
Вы посмотрите что там написано в файле serverless.template. Это шаблон для AWS CloudFormation, и в нём действительно создаётся лямбда, ApiGate, poilcy для этой лямбды. Вы можете всё то же самое руками в AWS создать.