FaaS / Serverless Несмотря на то, что статья отражает путь эволюции к микросервисам, авторы затрагивают и технологию FaaS (function-as-a-service) как следующий шаг в развитии. FaaS выражает в себе те же принципы, что микросервисы: isolation, interchangeability, но отличается в подходах к следованию им: – Обрабатывает запросы без предварительного выделения каких-либо вычислительных мощностей; – Запросы выполняются в управляемых провайдером контейнерах, которые стартуют по событию и эфемерны (могут существовать только один вызов) [1] Этот подход позволяет писать и развертывать код без учета среды выполнения, распределения ресурсов, балансировки нагрузки и масштабируемости; всеми этими аспектами занимается провайдер. Serverless - это эволюция pay-per-use: Virtual Machines (EC2) -> Containers (Docker) -> Ресурсы на время, необходимое для выполнения вычислений, обычно несколько секунд или миллисекунд Выгоды очевидны: – Экономия (модель pay-per-use с гранулярностью 100 ms у основных вендоров) – Функции используют единую среду выполнения (обычно пул контейнеров) – Мало кода и stateless by design – Горизонтальное масштабирование полностью автоматическое, эластичное и быстрое Все это упрощает масштабируемость и деплой, требующие серьезных усилий в микросервисной архитектуре. Разумеется, FaaS/Serverless несет с собой и новые вызовы: – Требуются методы поиска мест, в которых FaaS может принести экономическую выгоду – Обеспечение изоляции между функциями – Корректный уровень гранулярности при раскрытии данных и кода – Работа с состоянием при том, что функции по-определению stateless – Рост количества инструментов для локального деплоя и тестирования FaaS/Serverless не подойдет, если [2]: – Требуется собственная инфраструктура (требования регулятора или компании) – Требуется реализация длительных операций (например, транзакций) – Требуется избежать vendor lock (у каждого провайдера свой serverless API и SDK) – Требуется использовать инфраструктуру еще и под иные нужды Примеры – AWS Lambda – Azure Functions – Google Firebase Open Source решения – IBM/Apache Openwhisk – Quarkus – OpenFaaS [1] M. Roberts, Serverless architectures (2016). http://martinfowler.com/articles/serverless.html [2] M. Stigler, Understanding serverless computing, in __Beginning Serverless Computing __(Springer, Berlin, 2018), pp. 1–14 #msaevolutionwspub4 #msaevolutionwspub #перевод
FaaS / Serverless Несмотря на то, что статья отражает путь эволюции к…
Из этого канала
- #322"Текущий состав Комитета РОО ""Объединение ИТ-Архитекторов"" на ArchDays'22:…
"Текущий состав Комитета РОО ""Объединение ИТ-Архитекторов"" на ArchDays'22: @emacsway , @elukianov , @GKruglov , @sergey486 .
- #323Сложности Эволюционный взгляд позволяет увидеть, что нового привнесли…
Сложности Эволюционный взгляд позволяет увидеть, что нового привнесли микросервисы и какие принципы и концепции SOA все еще применимы.
- #324Фотки с ArchDays выложили в группу во вконтакте. Вступайте, в этом году будем…
Фотки с ArchDays выложили в группу во вконтакте. Вступайте, в этом году будем больше анонсов в ВК делать, как минимум митапы точно будем проводить.
- #320share-as-little-as-possible Микросервисы появились в ответ на эти вызовы как…
share-as-little-as-possible Микросервисы появились в ответ на эти вызовы как решение enterprise-уровня. При этом авторы ссылаются на статью Microservices vs.
- #319Веб-сервисы тогда и сейчас SOA(P) Services SOA появилась как парадигма…
Веб-сервисы тогда и сейчас SOA(P) Services SOA появилась как парадигма распределенных вычислений, работы электронного бизнеса и корпоративной интеграции.