Открыть сервис

Apache OpenWhisk

Apache OpenWhisk — это платформа с открытым исходным кодом для бессерверных вычислений (serverless computing), которая позволяет выполнять код в ответ на события, автоматически управляя инфраструктурой, масштабированием и ресурсами. Относится к классу распределённых систем и функций-как-сервис (FaaS). Ключевые характеристики: поддержка множества языков программирования, событийно-ориентированная архитектура, возможность интеграции с различными внешними сервисами и системами.

История

Проект Apache OpenWhisk был изначально разработан компанией IBM и представлен в 2016 году как основа для облачного сервиса IBM Cloud Functions. В том же году IBM передала код проекта в инкубатор Apache Software Foundation. В 2018 году проект получил статус «Top-Level Project» (TLP) в Apache Software Foundation, что подтвердило его зрелость и стабильность. Развитие OpenWhisk продолжается сообществом разработчиков и компаниями, включая IBM, Adobe, Red Hat и другие организации.

Архитектура и принцип работы

OpenWhisk построена на событийно-ориентированной модели. Система состоит из нескольких ключевых компонентов, взаимодействующих через REST API.

Основные компоненты

Процесс выполнения

  1. Событие (event) поступает в систему через REST API или от внешнего источника (например, HTTP-запрос, сообщение из очереди, изменение в базе данных).
  2. Триггер (trigger) — именованная сущность, представляющая канал для событий. При активации триггера система проверяет, какие правила (rules) связаны с этим триггером.
  3. Правило (rule) связывает триггер с одним или несколькими действиями (actions). Если правило активно, при срабатывании триггера запускается соответствующее действие.
  4. Действие (action) — это фрагмент кода (функция), написанный на одном из поддерживаемых языков. Код выполняется в изолированном контейнере (Docker). Результат выполнения возвращается инициатору или передаётся в следующее действие.
  5. Последовательности (sequences) позволяют объединять несколько действий в цепочку, где выход одного действия становится входом для следующего.

Классификация и виды

OpenWhisk поддерживает несколько типов сущностей и операций:

Действия (Actions)

Триггеры (Triggers)

Пакеты (Packages)

Правила (Rules)

Применение и значение

OpenWhisk используется для построения микросервисных архитектур, обработки событий в реальном времени, создания API-бэкендов, автоматизации задач и интеграции облачных сервисов. Основные области применения:

Примеры использования

Интересные факты

Критика

Основные недостатки OpenWhisk:

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →