Функция как услуга

Материал из Википедии — свободной энциклопедии
(перенаправлено с «Function as a service»)
Перейти к навигации Перейти к поиску

Function as a service — архитектурный шаблон, предполагающий возможность вызова экземпляра управляющего кода без необходимости управления серверами и серверным приложением; ключевой компонент бессерверных вычислений (англ. serverless computing)[1]. Одной из первых широко известных реализаций является представленный в 2014 году сервис AWS Lambda[en], аналогичные[2] предложения среди публичных PaaS есть у Google (Cloud Functions[3]), IBM (на Apache OpenWhisk в составе платформы Bluemix) и Microsoft (Azure Functions)

Идея состоит в том, что серверная часть разбивается на набор не зависящих от состояния (stateless функций для обработки событий (которыми могут быть приходящие HTTP-запросы, появление новых сообщений в очереди, наступление указанного в планировщике времени и тому подобные события). Состояние в данном случае понимается в контексте развёртывания (deployment), то есть результат выполнения функции не должен зависеть от состояния памяти сервера (за вычетом переданных параметров вызова) и содержимого локальной файловой системы. При таких ограничениях, горизонтальное масштабирование выполняется автоматически провайдером, который может использовать любое доступное ему в данный момент вычислительное устройство, обеспечивающее требуемый уровень производительности. Также, как правило, время выполнения функции принудительно ограничивается несколькими минутами[4].

Примечания[править | править код]

  1. Serverless architecture (англ.). ThoughtWorks[en] Technology Radar.
  2. Tom Maiaroto. Azure Cloud Functions vs. AWS Lambda (англ.). serifandsemaphore.com (4 April 2016).
  3. Google Cloud Functions Documentation (англ.). Google Cloud Platform[en].
  4. Mike Roberts. Serverless Architectures (англ.). MartinFowler.com (17 June 2016).