A Fn é uma plataforma de computação “sem servidor”, open source, orientada a funções. Requer tecnologia Docker e só suporta Java, para já.
Com o seu projecto em open source Fn, a Oracle está procurar ganhar protagonismo no segmento da computação “serverless”, ou seja “sem servidor” (tradução literal). A plataforma nativa de “containers” preparada para ser executada no datacenter local ou em cloud computing externa, foi oficialmente lançada em Outubro.
Exige o uso de invólucros de virtualização Docker e em particular a versão 17.05 ou posterior, além de uma conta Docker Hub. Inicialmente os programadores utilizadores da Fn poderão desenvolver funções em Java, a Oracle promete suporte para a Go, Ruby, Python, PHP e Node.js para mais tarde.
As aplicações podem ser criadas e executadas sem que os utilizadores tenham de aprovisionar, dimensionar ou gerir servidores, usando a cloud computing. A Fn, como o seu próprio nome sugere, está orientada a funções, pequenos blocos de código que geralmente têm apenas uma tarefa simples. Na preparação de uma função, os programadores concentram-se apenas no papel previsto para a função.
Com a computação “sem servidor”, os programadores escrevem funções e os recursos para executá-las são atribuídos automaticamente. A expansão de escala é automática e pagam-se pelos recursos utilizados, sem haver um servidor físico alocado às funções, em permanência.
A plataforma AWS Lambda da Amazon Web Services é talvez a plataforma “sem servidor” mais conhecida. E a Oracle diz que a Fn permitirá aos programadores transpor as suas funções assentes em AWS Lambda e executá-las em qualquer ambiente.
A Fn apresenta três componentes:
‒ a Plataform Fn, com o Fn Server e a interface de linhas de comando, um kit de desenvolvimento de funções em Java, que inclui a matriz de teste JUnit;
‒ a Fn Flow, para orquestrar funções directamente no código, para fluxos de trabalho de nível superior, como sequenciamento, encadeamento e “fanin/fanout”, directamente no software do programador, e não através de uma consola.
‒ Fn Helm, uma Helm Chart que permite instalar um servidor Fn totalmente operacional em Kubernetes através do gestor de pacotes Helm.