Функция как услуга
Функция как услуга (англ. function-as-a-service, FaaS) — архитектурный шаблон, предполагающий возможность вызова экземпляра управляющего кода без необходимости управления серверами и серверным приложением; ключевой компонент бессерверных вычислений[1]. Одной из первых широко известных реализаций является представленный в 2014 году сервис AWS Lambda, аналогичные[2] предложения среди публичных PaaS есть у Google (Cloud Functions[3]), IBM (на Apache OpenWhisk в составе платформы Bluemix) и Microsoft (Azure Functions), Oracle (Fn, код опубликован на GitHub).
Идея состоит в том, что серверная часть разбивается на набор не зависящих от состояния (stateless) функций для обработки событий (которыми могут быть приходящие HTTP-запросы, появление новых сообщений в очереди, наступление указанного в планировщике времени и тому подобные события). Состояние в данном случае понимается в контексте развёртывания (deployment), то есть результат выполнения функции не должен зависеть от состояния памяти сервера (за вычетом переданных параметров вызова) и содержимого локальной файловой системы. При таких ограничениях, горизонтальное масштабирование выполняется автоматически провайдером, который может использовать любое доступное ему в данный момент вычислительное устройство, обеспечивающее требуемый уровень производительности. Также, как правило, время выполнения функции принудительно ограничивается несколькими минутами[4].
Примечания
- ↑ Serverless architecture (англ.). ThoughtWorks Technology Radar. Дата обращения: 20 июня 2016. Архивировано 27 августа 2016 года.
- ↑ Tom Maiaroto. Azure Cloud Functions vs. AWS Lambda (англ.). serifandsemaphore.com (4 апреля 2016).
- ↑ Google Cloud Functions Documentation (англ.). Google Cloud Platform. Дата обращения: 20 июня 2016. Архивировано 2 августа 2016 года.
- ↑ Mike Roberts. Serverless Architectures (англ.). MartinFowler.com (17 июня 2016). Дата обращения: 20 июня 2016. Архивировано 18 июня 2016 года.
Для улучшения этой статьи желательно: |