Knative

Plataforma baseada no Kubernetes para criar, implantar e gerenciar cargas de trabalho modernas sem servidor.

Componentes essenciais para todos

O Knative, criado originalmente pelo Google com contribuições de mais de 50 empresas diferentes, oferece um conjunto essencial de componentes para criar e executar aplicativos sem servidor no Kubernetes. Ele oferece recursos como escalonar para zero, escalonamento automático, criações no cluster e framework de eventos para aplicativos nativos da nuvem no Kubernetes. Seja no local, na nuvem ou em um data center de terceiros, o Knative conta com as práticas recomendadas compartilhadas por frameworks reais e bem-sucedidos com base em Kubernetes. Mais importante ainda, o Knative permite que os desenvolvedores se concentrem em escrever códigos sem a necessidade de se preocupar com as partes “entediantes e difíceis” da criação, da implantação e do gerenciamento do aplicativo.

Software feito para desenvolvedores

O Knative oferece um conjunto de componentes reutilizáveis que se concentra em solucionar tarefas mundanas, mas difíceis, como fluxos de trabalho de criação de aplicativos desde o código-fonte até imagens de contêineres, encaminhamento e gerenciamento do tráfego durante a implantação, o escalonamento automático das cargas de trabalho ou a vinculação de serviços em execução ao crescente ecossistema de fontes de eventos. O Knative reconhece imagens de contêiner como a unidade de implantação. Portanto, os desenvolvedores podem usar qualquer linguagem, framework ou idioma com que estejam familiarizados.

Compatível com padrões de desenvolvimento conhecidos

O Knative se concentra em oferecer uma experiência idiomática ao desenvolvedor. Ele é compatível com padrões comuns de desenvolvimento, como GitOps, DockerOps, ManualOps, e ferramentas e frameworks como Django, Ruby on Rails, Spring e muitos mais.

O melhor dos dois mundos: flexibilidade e controle

O Knative foi desenvolvido para se conectar facilmente com conjuntos de ferramentas de compilação e CI/CD. Ao se concentrar em tecnologias que priorizam o código aberto e são executadas em qualquer lugar, nuvem ou infraestrutura compatível com o Kubernetes, as empresas têm a liberdade de mover as cargas de trabalho para onde são mais bem executadas. Isso garante a flexibilidade e o controle que os clientes precisam para adaptar o sistema conforme os próprios requisitos.

Execute as cargas de trabalho sem servidor de maneira personalizada

O Knative oferece uma API aberta e um ambiente de execução que permite que você execute as cargas de trabalho sem servidor em qualquer lugar: totalmente gerenciado no Google Cloud, no Google Kubernetes Engine (GKE) ou no seu próprio cluster do Kubernetes. O Knative facilita o início com o Cloud Run e a posterior migração para o Cloud Run no GKE. Também é possível iniciar no seu próprio cluster do Kubernetes e migrar para o Cloud Run no futuro. Ao usar o Knative como plataforma subjacente, é possível mover suas cargas de trabalho livremente pelas plataformas, reduzindo de modo significativo os custos de movimentação.

Componentes do Knative

Criação

  • Abordagem configurável e flexível para criação de código-fonte em contêineres

  • Abordagem plugável que aproveita Dockerfiles ou modelos criados

  • Sem compilação cruzada ou necessidade de ferramentas de criação locais

  • Compatível com artefatos em cache para criações mais rápidas

  • Utilização de capacidade extra para melhor aproveitamento dos recursos

Exibição

  • Abstração de nível superior, fácil de pensar sobre o modelo de objeto

  • Escalonamento automático contínuo com base em solicitações HTTP

  • Lançamentos graduais para novas revisões

  • Integração automática entre rede e malha de serviço

  • Plugável: conexão da sua própria plataforma de monitoramento e geração de registros

Eventos

  • Entrega, gerenciamento e assinatura universal de eventos

  • Criação de sistemas orientados por eventos e vagamente acoplados com objetos de alto nível

  • Vinculação declarativa entre produtores de eventos e serviços que consomem eventos

  • Escalonável desde apenas alguns eventos até transmissões ao vivo

  • Pipelines de eventos personalizados para conexão com seus próprios sistemas atuais

O Knative ajuda nossos desenvolvedores a se concentrarem no desenvolvimento da lógica de negócios em vez de se preocuparem com a criação de recursos de plataforma de nível inferior, como desenvolvimento, implantação, escalonamento automático, monitoramento e capacidade de observação. Por exemplo, nosso aplicativo localizador de lojas da T-Mobile desenvolvido em Java/Vert.x foi facilmente migrado para o GCP com o Knative. Fizemos isso em apenas um sprint, já que o Knative ofereceu muitos recursos no nível da plataforma que nossos desenvolvedores não precisaram desenvolver.

— Ram Gopinathan, arquiteto-chefe de tecnologia da T-Mobile

Recursos

Recursos da comunidade

Google Cloud

Primeiros passos

Crie, implemente e gerencie cargas de trabalho sem servidor com o Knative

Siga o guia de início rápido do Cloud Run para fazer o Knative funcionar. Para operadores que querem fornecer um ambiente do Knative, há um guia de instalação disponível no github (em inglês).