Desenvolver o seu serviço

Esta página descreve alguns aspetos que precisa de saber para começar a desenvolver um serviço para o Knative Serving.

Requisitos de código

Tem de cumprir os seguintes requisitos quando desenvolve um serviço:

  • O serviço tem de ouvir os pedidos. Pode configurar a porta na qual os pedidos são enviados. Nas instâncias de contentores de publicação do Knative, o valor da variável de ambiente PORT reflete sempre a porta para a qual os pedidos são enviados. O seu código deve verificar a existência desta variável de ambiente PORT e, se estiver presente, deve ouvi-la para maximizar a portabilidade.
  • O serviço tem de ser sem estado. Não pode depender de um estado local persistente.
  • O serviço não pode realizar atividades em segundo plano fora do âmbito do processamento de pedidos.

Pode encontrar mais detalhes sobre estas restrições no Container Runtime Contract.

Suporte de linguagens de programação

O Knative serving permite-lhe escrever código na linguagem de programação da sua escolha.

Usar um servidor Web

Pode usar um servidor Web para ouvir na porta necessária e para processar e encaminhar pedidos recebidos. Por exemplo, os programadores de Node.js podem usar o Express.js, os programadores de Python podem usar o Flask, os programadores de Ruby podem usar o Sinatra e assim sucessivamente.

Colocar o código em contentores

Para implementar no Knative Serving, tem de fornecer uma imagem de contentor. Uma imagem de contentor é um formato de pacote que inclui o seu código, os respetivos pacotes, quaisquer dependências binárias necessárias, o sistema operativo a usar e tudo o mais necessário para executar o seu serviço.

Um ficheiro denominado Dockerfile é usado normalmente para declarar como criar a imagem do contentor.

Os ficheiros Dockerfile começam frequentemente com uma imagem base (por exemplo, FROM golang:1.11). Pode encontrar imagens base mantidas por autores de SO e idiomas no Docker Hub. O Cloud Build verifica se existem imagens em cache antes de as extrair do Docker Hub. Se usar uma ferramenta de compilação de terceiros, pode configurar o seu daemon Docker para verificar se existem imagens na mesma cache. Também pode encontrar imagens base geridas pela Google no Google Cloud Marketplace.

Se usar os seus próprios binários, certifique-se de que são compilados para o ABI x86_64 do Linux.

Estes recursos fornecem mais informações sobre os Dockerfiles:

O que se segue?