Apache OpenWhisk

Бесплатно
Открытый исходный код
Windows
macOS
Linux

Сайт: openwhisk.apache.org

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

Изначально разработанная компанией IBM и переданная в Apache Software Foundation в 2016 году, OpenWhisk активно используется в таких продуктах, как IBM Cloud Functions и Adobe I/O Runtime. Платформа поддерживает множество языков программирования, включая JavaScript, Python, Swift, Java и Go, а также предоставляет возможности для создания кастомных сред выполнения с использованием Docker.

  • Модель программирования: основана на действиях (Actions), триггерах (Triggers) и правилах (Rules). Действия представляют собой фрагменты кода, которые выполняются в ответ на события, инициируемые триггерами.
  • Масштабируемость: поддерживает автоматическое горизонтальное масштабирование, позволяя обрабатывать тысячи одновременных запросов и эффективно управлять нагрузкой.
  • Гибкость развертывания: может быть развернута локально или в облаке с использованием популярных контейнерных платформ, таких как Kubernetes и OpenShift.
  • Поддержка различных языков: предоставляет возможность разработки функций на различных языках программирования, включая JavaScript, Python, Swift, Java и Go, а также поддержку кастомных сред выполнения с использованием Docker.
  • Интеграция с внешними сервисами: позволяет связывать действия с внешними источниками событий, такими как HTTP-запросы, изменения в базах данных или сообщения из очередей, с использованием триггеров и правил.
  • Интерфейсы взаимодействия: включает в себя командный интерфейс (CLI) и REST API, обеспечивая удобное взаимодействие с платформой для разработчиков.
  • Поддержка контейнеров: использует контейнеры Docker для изоляции выполнения функций, что обеспечивает консистентность среды и упрощает управление зависимостями.
Подробнее