A arquitetura sem servidor popularizou o estilo de programação FaaS entre pessoas desenvolvedoras. Ela ajuda a manter o foco em problemas centrais do negócio com funções compiladas e implantadas de forma independente, que reagem a um evento, executam um processo de negócio, produzem outros eventos no processo e reduzem para zero. Historicamente, plataformas sem servidor proprietárias como AWS Lambda ou Microsoft Azure Functions tornaram possível esse paradigma de programação. Knative é uma plataforma de código aberto baseada em Kubernetes para executar cargas de trabalho de FaaS. Há algumas coisas que se destacam na Knative: seu código aberto e provedor agnóstico; o fato de implementar o fluxo de trabalho sem servidor como descrito no relatório do CNCF Serverless Working Group; sua capacidade de assegurar interoperabilidade entre serviços ao implementar uma interface de eventos consistente com a especificação do CNCF CloudEvents; e, o mais importante, ela resolve um desafio comum, de operar uma arquitetura baseada em contêiner de longa duração e um FaaS harmonizado, porém híbrido. Ela se integra facilmente tanto com Istio quanto Kubernetes. As pessoas desenvolvedoras podem, por exemplo, tirar proveito das estratégias de roll-out que o Istio implementa ao dividir o tráfego entre diferentes revisões das funções. Também podem se beneficiar da observabilidade fornecida pelo Istio não apenas em serviços de contêiner de longa duração, mas também em programas FaaS no mesmo ambiente Kubernetes. Antecipamos que a interface de eventos de código aberto da Knative vai continuar tornando possível novos recursos subjacentes e integrações de destinação de eventos.
As application developers, we love to focus on solving core business problems and let the underlying platform handle the boring but difficult tasks of deploying, scaling and managing applications. Although serverless architecture is a step in that direction, most of the popular offerings are tied to a proprietary implementation, which means vendor lock-in. Knative tries to address this by being an open source serverless platform that integrates well with the popular Kubernetes ecosystem. With Knative you can model computations on request in a supported framework of your choice (including Ruby on Rails, Django and Spring among others); subscribe, deliver and manage events; integrate with familiar CI and CD tools; and build containers from source. By providing a set of middleware components for building source-centric and container-based applications that can be elastically scaled, Knative is an attractive platform that deserves to be assessed for your serverless needs.