Oracle анонсувала відкриття коду платформи Fn з реалізацією безсерверної (serverless) моделі розробки. Fn надає додатковий рівень абстракції для хмарних систем, що дозволяє виконувати функції як сервіси (FaaS).
Суть методу FaaS полягає в тому, що розробник реалізує логіку на рівні окремих функцій, не піклуючись про створення та управління інфраструктурою для запуску застосунків, без прив'язки до конкретних серверних систем і необхідним для їх роботи хмарним оточенням. Досить визначити необхідні функції й завантажити їх, після чого платформа Fn автоматично розгорне, організує управління і забезпечить масштабування оточень, необхідних для виконання функцій.
Розробка ведеться на рівні підготовки набору невеликих окремих функцій, кожна з яких забезпечує обробку певної події та розрахована на відокремлену роботу без прив'язки до оточення. Для операторів хмарних систем застосування FaaS вигідно ефективним споживанням ресурсів – функції запускаються лише при виникненні необхідності й відразу після обробки події завершують свою роботу, тобто на відміну від мікросервісів не вимагають постійної наявності запущених оточень, які споживають ресурси.
Для високонавантажених систем передбачена підтримка асинхронного режиму роботи й постійно запущених функцій, які не потребують створення нового контейнера для кожного запиту. Масштабування забезпечується системою балансування навантаження, що здійснює маршрутизацію трафіку до функцій, які динамічно запускаються на вузлах з доступними ресурсами.
На відміну від наявних комерційних FaaS-платформ, таких як Amazon AWS Lambda, Google Cloud Functions і Microsoft Azure Functions, рішення від Oracle не має прив'язки до вендору. Користувач може вибирати будь-яких постачальників хмарних рішень для запуску інфраструктури Fn, комбінувати різні хмарні системи або запустити платформу на власному обладнанні. У тому числі Fn можна запустити на популярних платформах оркестрації контейнерів Kubernetes, Docker Swarm і Mesosphere, всередині оточень PaaS, таких як CloudFoundry й OpenShift, або на локальній системі розробника. З залежностей для роботи Fn потрібнен лише Docker.
Розробникам надається CLI і GUI для розробки, тестування і розгортання функцій.
Fn дозволяє створювати функції будь-якою мовою програмування завдяки простому інтерфейсу взаємодії, що підтримує обмін даними через змінні оточення, STDIN, HTTP або JSON. Для спрощення розробки надається інструментарій FDK для Java, Ruby і Go, а також набір прикладів для Go, JavaScript / Node.js, Java, Php, Python, Ruby і Rust.
Платформою підтримується формат функцій AWS Lambda і прямий імпорт функцій з сервісу AWS Lambda. Можливе створення власних доповнень і модулів інтеграції.
Ще немає коментарів