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

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

Функция как услуга — архитектурный шаблон, предполагающий возможность вызова экземпляра управляющего кода без необходимости управления серверами и серверным приложением; ключевой компонент бессерверных вычислений[1]. Одной из первых широко известных реализаций является представленный в 2014 году сервис AWS Lambda, аналогичные[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.
  4. Mike Roberts. Serverless Architectures (англ.). MartinFowler.com (17 June 2016).