Oracle выпустила Fn, открытую бессерверную FaaS-платформу

Она была разработана командой, ответственной за проект IronFunctions, и работает на основе метода «функция как сервис».

Проект Fn представляет собой автономную платформу с реализацией бессерверной модели разработки приложений, поставляемую с лицензией Apache 2.0 и написанной на языке Go. Она поддерживает все языки программирования. Разработчики сконцентрировались на том, чтобы пользователям было легко разобраться с платформой и быстро начать использовать большинство продвинутых функций. Вы можете ознакомиться с руководством по использованию системы, составленным разработчиками.

История

Проект Fn был разработан теми же специалистами, которые создали сервис IronFunctions. Команда положила начало технологии, работающей без участия серверов, и была владельцем платформы в течении 6 лет. Теперь, в Oracle, команда использовала все накопленные знания и опыт, применив их в Fn.

FaaS

Суть метода FaaS (function-as-a-service, функция как сервис) заключается в том, что разработчик реализует логику на уровне отдельных функций, не заботясь о создании инфраструктуры для запуска приложений и управления ей, без привязки к конкретным серверным приложениям и необходимым для их работы облачным окружениям. Достаточно определить требуемые функции и загрузить их, после чего платформа Fn сама развернёт окружения, нужные для выполнения подготовленных функций, организует управление ими и обеспечит масштабирование.

Разработка ведётся без создания монолитных приложений, на уровне подготовки набора небольших отдельных функций, каждая из которых обеспечивает обработку определённого события и рассчитана на обособленную работу без привязки к окружению. Для операторов облачных систем применение FaaS выгодно более эффективным потреблением ресурсов — функции запускаются только при возникновении необходимости и сразу после обработки события завершают свою работу. То есть, в отличие от микросервисов, они не требуют постоянного наличия запущенных окружений, потребляющих ресурсы на холостом ходу.

В отличие от существующих коммерческих FaaS-платформ, таких как Amazon AWS Lambda, Google Cloud Functions и Microsoft Azure Functions, решение от Oracle позиционируется как избавленное от привязки к вендору. Пользователь может выбирать любых поставщиков облачных решений для запуска инфраструктуры Fn. Также он может комбинировать разные облачные системы или запустить платформу на собственном оборудовании.

Фичи и возможности

Fn обладает множеством отличных функций для различных операций и разработки:

  • простой в использовании инструмент командной строки для разработки, тестирования и развертывания функций;
  • одна зависимость — Docker;
  • «горячие» функции для высокопроизводительных приложений, не требующие создания новых контейнеров для каждого запроса;
  • совместимость с кодом Lambda;
  • FDK (набор функций для разработчиков) для многих популярных языков;
  • расширенный Java FDK с платформой тестирования JUnit;
  • возможность развертки Fn с помощью таких инструментов для оркестровки, как Kubernetes, Mesosphere и Docker Swarm;
  • интеллектуальный балансировщик нагрузки, созданный специально для маршрутизации трафика к функциям;
  • возможность настраивания дополнений и интеграций.

Источники: блог разработчиков Oracle, OpenNET