Notícias dos desenvolvedores: acessibilidade W3C, OpenAI Python SDK e muito mais
25 de janeiro de 2024O desenvolvimento em nuvem mais rápido acontece localmente
25 de janeiro de 2024O Kubernetes faz sentido na borda se for implantado com as ferramentas certas.
Na conferência Civo Navigate da semana passada, Portainer demonstrou como ele simplifica as implantações de Kubernetes de ponta, usando o que considera uma ferramenta universal de gerenciamento de contêineres. Basicamente, ele pode funcionar com Docker e Kubernetes para facilitar a implantação e o gerenciamento de aplicativos e serviços em contêineres, disse Jack Wallen em sua avaliação no ano passado.
Kubernetes faz sentido no limite, disse o cofundador da Portainer, Neil Cresswell, ao público da Civo.
“Um dos principais benefícios do Kubernetes é que realmente temos uma receita ou um meio para declarar como queremos que nosso aplicativo seja executado e esse é o manifesto”, disse Cresswell. “O manifesto realmente é uma virada de jogo. E na minha carreira, é a primeira vez que vejo uma maneira de basicamente declarar como seu aplicativo é executado, e ele é executado dessa maneira em qualquer lugar.”
Embora possa ser opressor, o manifesto faz sentido quando você entende como ele funciona – que é infinitamente reproduzível, explicou ele.
“Não importa onde você execute os manifestos, eles serão executados praticamente da mesma maneira todas as vezes”, disse ele, acrescentando que a Portainer envia seu produto como um manifesto do Kubernetes. Usar o Portainer para executar um manifesto significa que ele será executado em segundos e de maneiras muito previsíveis, e será implantado da mesma maneira, disse ele.
Para efeitos da demonstração, Cresswell definiu a borda como a borda da rede.
“Quando falamos em borda de rede, estamos falando aqui de colocar os aplicativos mais próximos dos usuários”, disse ele. “Fazemos isso para tentar reduzir a latência da rede e reduzir a largura de banda. Mas a questão toda é dizer como faço para aproximar um aplicativo do meu usuário para que ele tenha uma experiência de aplicativo responsiva e ágil e eu pague menos pela largura de banda entre meu usuário e o sistema back-end.”
Ele deu um exemplo de por que isso é importante hoje mais do que nunca: ele tem um aplicativo bancário que, quando viaja para os EUA, enfrenta problemas de latência excessiva porque está tentando atingir o back-end de seu banco na Nova Zelândia.
“Sempre que estou aqui (nos EUA), meu aplicativo de internet banking fica completamente inutilizável porque está tentando fazer solicitações de API – milhares delas – para um servidor back-end na Nova Zelândia”, disse ele. “Essa latência apenas interrompe o aplicativo. Assim, ao poder ter endpoints de API mais próximos de seus usuários, você obtém uma experiência de aplicação muito mais rápida.”
Serviços sem Estado e Kubernetes
A borda depende de serviços sem estado e o grupo de trabalho do Kubernetes fez um ótimo trabalho ajudando a fazer a transição para serviços com mais estado, mas predominantemente o Kubernetes é construído em torno da ausência de estado, e os aplicativos de borda também são predominantemente sem estado.
“Eles foram projetados para ingestão, ajuste, buffer e cache. Eles não foram realmente projetados para armazenar dados”, disse ele. “Portanto, o Kubernetes é um orquestrador sem estado e a borda – cargas de trabalho sem estado – é realmente uma combinação perfeita. Simplesmente faz sentido.”
Mover aplicativos para a borda permite reduzir a largura de banda entre os usuários e o backend; reduzir a latência geral; fornecer uma experiência de aplicativo mais rápida; e apoiar a separação de dados.
Dito isto, existem desafios para a implantação do Kubernetes no limite, disse ele. Embora as distribuições certificadas do Kubernetes usem uma API padronizada, muitos provedores desejam agregar valor à API nativa do Kubernetes, o que leva ao aprisionamento. É por isso que é importante ter cuidado com coisas como autenticação e balanceamento de carga, acrescentou, que podem prender os desenvolvedores a um comprador específico.
Cresswell mostrou um diagrama de provedores, observando que Civo, Linode e Digital Ocean fornecem o Kubernetes bruto sem adicionar aspectos que irão prendê-lo. Azure e Google também oferecem ambientes brutos, embora forneçam algum valor agregado, mas geralmente são bastante compatíveis, disse ele. Outros fornecedores podem tornar mais difícil, acrescentou, “ter um local de trabalho totalmente transformado”.
Gerenciamento de vários clusters do Kubernetes
O desafio de gerenciamento do Kubernetes surge quando você implanta vários clusters em vez de um único cluster, disse Cresswell.
“Quando você chega a três, quatro, 10 clusters, as coisas começam um pouco mais difíceis”, disse ele. “Quando você está falando de vantagem, você realmente está falando de maneira padrão e realmente precisa mudar a maneira como pensa sobre como eu gerencio isso.”
Entre as questões a considerar estão:
- Como você gerencia os clusters centralmente?
- Como você realiza a autenticação centralmente?
- Como os usuários serão propagados automaticamente para clusters de back-end?
- Como você define funções secundárias em algum lugar centralmente e faz com que elas sejam propagadas?
Existem três recursos principais que os desenvolvedores precisam, disse ele:
- Acesso centralizado;
- Controle de acesso com dashboards de monitoramento; e
- Implantações centralizadas.
“Você realmente precisa ter tudo isso”, disse ele, e precisa fazer isso em grande escala. Embora seja possível ir cluster por cluster, você ainda precisa pensar na autenticação do usuário.
“Você realmente precisa dizer: ‘Quero ter um único endpoint de API ao qual todo desenvolvedor ou consumidor possa se conectar, e seus proxies, a um back-end’”, disse Cresswell. “É assim que você gerencia as coisas em grande escala. E a mesma coisa com os painéis.”
Um painel para gerenciar a borda
Cresswell disse que todo mundo pensa que pode instalar o Prometheus ou o Grafana e ter um painel de monitoramento – mas você não quer ter 47 painéis diferentes abertos.
“Você quer tentar obter uma visão macro global de onde estão os clusters. Você pode fazer isso com o Prometheus e o Grafana, mas é preciso arquitetá-lo dessa forma”, disse ele. “Você não pode simplesmente não instalá-lo em cada cluster. Sim, você precisa instalar o Edge, os Edge Agents do Prometheus e enviar os fluxos de volta para uma instância central do Prometheus. Você tem que configurar as coisas corretamente. Então você tem que pensar diferente. E as implantações em massa são bastante complicadas.”
O GitOps ajudará, mas não o levará até lá, acrescentou ele, apontando especificamente para uma implementação do Chik-fil-A de alguns 1.000 clusters onde eles começaram a usar o GitOps e “descobriram muito cedo que você não pode basta implantar o GitOps e rezar para que ele seja atualizado”, disse ele. “Na verdade, você precisa de um painel centralizado para ver o status atual de todas essas implantações.”
Portainer enfrentou o mesmo desafio, disse ele, e adicionou ferramentas para gerenciar esses clusters, juntamente com gerenciamento de identidade e gerenciamento de acesso, a partir de um painel centralizado, disse Cresswell.
“O Portainer possui um alto nível de abstração; tentamos tornar as coisas realmente fáceis”, disse ele “Tentamos ser a única ferramenta que você precisa para gerenciar o Kubernetes… Proxy completo da API do Kubernetes, gerenciamento de multicluster, gerenciamento de identidade centralizado e painéis, monitorando tudo o que você precisa basicamente para ir viva com Kubernetes em produção em escala.”
Cresswell e Adolfo Delorenzo, executivo de vendas de TI e desenvolvimento de negócios da Portainer, demonstraram como a Portainer poderia gerenciar a vantagem a partir de um painel, transmitindo uma transmissão ao vivo da audiência em três locais diferentes apoiados pela Civo – Londres, Nova York e Frankfurt – em cerca de dois minutos. .
“Temos clientes que possuem mais de 50.000 ambientes. Temos um cliente que precisa de nós para montar 125 mil clusters até o final deste ano”, disse Cresswell.
Civo pagou a viagem e hospedagem de Loraine Lawson para participar da conferência.
A postagem Portainer mostra como gerenciar Kubernetes no Edge apareceu pela primeira vez em The New Stack.