← KCNA: fundamentos Kubernetes e cloud native
09 / 9 · 45 MIN

Princípios cloud native e colaboração aberta

Relaciona desenho, padrões de interoperabilidade e participação na comunidade com decisões de adoção e manutenção.

Escolher propriedades antes de escolher produtos

Cloud native descreve uma forma de construir e operar sistemas, não apenas o local onde estão alojados. Um serviço numa cloud pública pode continuar dependente de alterações manuais, estado local irrecuperável e releases acopladas. Um serviço numa infraestrutura privada pode usar configuração declarativa, automação repetível, observabilidade e interfaces estáveis.

Começa pelo resultado: mudar uma função sem exigir que todas as equipas publiquem ao mesmo tempo, recuperar falhas e observar o efeito nos utilizadores. Containers, microserviços, service meshes e serverless são opções de desenho; não é necessário adotar todos para cumprir esses objetivos.

Acoplamento, contratos e responsabilidade

Separar processos não basta para reduzir acoplamento. Se dois serviços escrevem diretamente nas mesmas tabelas e precisam da mesma migração, podem continuar obrigados a mudar em conjunto. Uma interface versionada e regras claras sobre quem altera cada dado permitem avaliar compatibilidade.

As chamadas distribuídas introduzem latência, falhas parciais e repetição: define deadlines, tratamento de indisponibilidade e idempotência conforme a operação. Uma service mesh pode tratar aspetos de comunicação, mas não decide se repetir uma cobrança é correto.

Serverless muda responsabilidades de execução e escala; o código continua a precisar de contratos, observação e uma estratégia para o estado.

Imagem, runtime e distribuição têm âmbitos diferentes

Uma imagem contém os artefactos e a configuração necessários para iniciar um container no alvo compatível. O container é a instância em execução, cujo ciclo de vida não torna a imagem num backup dos dados gerados. A OCI mantém especificações para a imagem, para o runtime e para a distribuição de conteúdo.

Um registry guarda e disponibiliza artefactos; não substitui o scheduler nem decide em que nó corre o Pod. A conformidade de um formato facilita interoperabilidade, mas não demonstra que qualquer imagem funcione em qualquer plataforma: arquitetura, sistema operativo, dependências e configuração ainda importam.

O runtime de containers também não fornece sozinho os controladores de Kubernetes.

Estado declarado e mudanças recuperáveis

Uma API declarativa recebe o estado pretendido e os controladores tentam reconciliá-lo com o observado. Isso não garante sucesso imediato: imagem inacessível, permissões ou capacidade podem impedir a convergência. Infraestrutura imutável privilegia substituir uma versão por outra conhecida, em vez de acumular alterações manuais irreproduzíveis.

Não significa que os dados da aplicação deixem de mudar. Define como migrar, proteger e recuperar esses dados quando substituis instâncias. Para avaliar portabilidade entre plataformas, inventaria dependências como armazenamento, identidade, balanceadores e serviços geridos.

Um manifesto que é aceite nas duas APIs ainda pode depender de implementações diferentes.

Ecossistema e manutenção são decisões de adoção

A CNCF proporciona um espaço de colaboração para projetos, e as equipas continuam responsáveis por escolher e operar a composição que adotam. Relaciona cada componente com o problema: orquestração mantém workloads; um registry distribui imagens; instrumentação produz sinais; um backend armazena ou consulta esses sinais.

Ter um collector não prova que logs chegam ao destino nem que foram definidos indicadores úteis. Antes da adoção, confirma compatibilidade, licença, política de versões, documentação, comunidade e capacidade da equipa. Distingue o estado de maturidade do projeto do contrato de suporte de um fornecedor e do SLO da tua instalação. Regista também como sair da dependência.

Participar no canal que corresponde ao problema

Colaboração open source inclui documentação, tradução, triagem, reprodução de erros, revisão e código. Em Kubernetes, SIGs organizam trabalho por áreas; consulta os responsáveis e as instruções do repositório antes de propor uma alteração. Uma dúvida de utilização pode pertencer ao fórum de suporte, enquanto uma falha reproduzível pode justificar uma issue no componente certo.

Procura relatos existentes e inclui versão, resultado esperado, resultado observado e uma reprodução mínima sem dados sensíveis. Uma suspeita de vulnerabilidade requer seguir o canal de segurança publicado pelo projeto, em vez de divulgar detalhes num relato público.

Estes canais são complementares ao suporte contratado pela organização.

Uma contribuição pequena com evidência útil

Numa pull request, explica o problema e a mudança, liga a issue relevante e conserva a alteração num âmbito que possa ser revisto. Inclui os resultados de validação adequados e responde às observações com a hipótese e a evidência, sem tratar uma divergência técnica como ataque pessoal.

Segue o código de conduta e os requisitos de contribuição do projeto; não assumes que todos usam o mesmo acordo de licença ou processo de aprovação. Uma contribuição de documentação pode ser valiosa mesmo sem código de execução. Se a correção local tem de ser mantida temporariamente, regista o responsável, a diferença face ao upstream e o critério para voltar à versão publicada.

NA PRÁTICA

Uma equipa move uma aplicação para containers, mas continua a alterar ficheiros manualmente e todos os serviços dependem de uma migração simultânea. A revisão identifica duas decisões: tornar a entrega reproduzível e reduzir a dependência das releases.

Durante o trabalho encontra um erro documental; prepara uma correção pequena com versão, exemplo e resultado esperado para o projeto certo.

Armadilhas comuns

Confundir cloud pública com cloud native; formato OCI com portabilidade total; código aberto com suporte garantido; um erro de utilização com defeito demonstrado.

Tópicos relacionados: Entrega e operação · Arquitetura e observabilidade

Leva esta ideia contigo

Avalia propriedades do sistema e responsabilidades, não apenas nomes de ferramentas. Uma comunidade útil depende de contribuições delimitadas, respeitosas e apoiadas em evidência.

Criar conta

Referências

Kubernetes® e KCNA são marcas comerciais ou marcas registadas de The Linux Foundation. A dr.pt é uma plataforma de preparação independente e não está afiliada, associada, patrocinada, autorizada nem aprovada por The Linux Foundation. Os conteúdos e as perguntas são originais, não são perguntas oficiais de exame, e concluir os nossos testes não atribui nem garante qualquer certificação. Os nomes são usados apenas para identificar o tema. Todas as outras marcas pertencem aos respetivos titulares.