Novo framework usa Kubernetes para fornecer arquitetura sem servidor

Um novo framework desenvolvido com base no Kubernetes é o mais recente projeto a oferecer uma arquitetura de aplicativos sem servidor ou AWS Lambda em seu próprio hardware ou como oferta de “Kubernetes-as-a-service”.

O framework Fission cuida de detalhes sobre Docker e Kubernetes para os desenvolvedores, permitindo que se concentrem no software e não na infraestrutura. É outro exemplo de como o Kubernetes vem tomando forma para se tornar uma tecnologia fundacional.

kubernetes2

Características

Escrito em Go e criado pelo provedor de infraestrutura gerenciada Platform9, o framework trabalha em conjunto com qualquer cluster do Kubernetes. Os desenvolvedores escrevem funções que usam a API do Fission, da mesma forma que fariam no AWS Lambda. Cada função é executada no que é chamado de ambiente, essencialmente um pacote para o tempo de execução da linguagem. Triggers são usados para mapear funções para eventos; Rotas HTTP são um trigger comum.

Fission permite que os usuários aproveitem o Kubernetes e o Docker sem maiores esforços para executar aplicativos. Isso significa que os desenvolvedores não precisam saber detalhes sobre o Docker ou o Kubernetes simplesmente para garantir que a aplicativo funcione bem. Da mesma forma, os desenvolvedores não precisam criar containers de aplicativos, mas sempre podem usar um container pré-construído, se necessário, especialmente se o aplicativo for maior e mais complexo do que uma única função possa encapsular.

O design do framework permite que aplicativos sejam altamente responsivos aos triggers. Quando iniciado, cria um pool de containers “pré-aquecidos” prontos para receber funções. De acordo com os desenvolvedores, isso significa uma média de 100 milissegundos para o “início frio” de um aplicativo, embora esse valor provavelmente dependa da implementação do hardware.

Planos futuros

Algumas pistas indicam o que os desenvolvedores do Fission pretendem fazer com o projeto no futuro. Por um lado, o plano inclui ser o mais agnóstico possível em termos de linguagem e tempo de execução. No momento, os únicos ambientes – leia-se: runtimes – que acompanham o Fission são para Node.js e Python, mas novos podem ser adicionados conforme a necessidade, e os existentes podem ser modificados livremente. “Um ambiente é essencialmente apenas um container com um servidor web e um carregador dinâmico”, explica a documentação do Fission.

Outra área atualmente com pouco desenvolvimento que será expandida em versões futuras: a variedade de triggers disponíveis no framework. Atualmente, as rotas HTTP são o único tipo de trigger que pode ser usado, mas há planos de adicionar outros triggers, como eventos do Kubernetes.

Fonte: InfoWorld

21