Contentores nas nuvens: como manter as aplicações seguras e saudáveis

Contentores nas nuvens: como manter as aplicações seguras e saudáveis

Vamos analisar mais de perto duas tecnologias gigantes de código aberto – OpenStack e Kubernetes – e ver como trabalham em conjunto e se complementam, trazendo mais benefícios para os consumidores de serviços.

As opiniões sobre Kubernetes e Openstack podem ser reunidas em duas direcções principais, mas opostas. Por um lado, aqueles que acreditam que OpenStack e Kubernetes são tecnologias complementares que podem trabalhar em conjunto, e aqueles que consideram Kubernetes como o substituto de OpenStack e vice-versa. Embora seja verdade que o uso dessas ferramentas em muitos casos se sobrepõe, isso não significa necessariamente que uma pode facilmente substituir a outra. Elas ajudam a resolver problemas semelhantes, mas em camadas diferentes da pilha. Assim, a sua combinação pode proporcionar aos utilizadores uma automatização e escalabilidade mais poderosas do que nunca. No entanto, uma maneira ainda melhor de olhar para esses gigantes de código aberto é considerar o Kubernetes como uma extensão do OpenStack, uma excelente ferramenta para orquestração de contêineres no ambiente de nuvem OpenStack.

Vamos ver mais de perto como estas tecnologias de código aberto podem trabalhar em conjunto e realizar-se mutuamente. O OpenStack é uma plataforma de nuvem de código aberto; ajuda as empresas a executar e gerir as suas infra-estruturas de nuvem. Kubernetes é também uma tecnologia de código aberto, o orquestrador de contentores mais utilizado para executar e gerir contentores. Uma gama de componentes OpenStack e soluções de software ajudam a combinar eficientemente ambas as tecnologias para obter os melhores resultados.

Mas o que é que conseguimos exatamente com a extensão das capacidades do OpenStack com contentores orquestrados por Kubernetes?

Integração suave

Como uma infraestrutura aberta, o OpenStack fornece acesso orientado por API a sistemas de computação, armazenamento e rede. A flexibilidade da plataforma torna possível implementar num único sistema todos os ambientes empresariais que possam ser necessários – bare metal, VMs e recursos de contentor.

O Kubernetes permite que os programadores se concentrem nos seus principais objectivos – criar software, fazer a sua manutenção e melhorar. A tecnologia K8, orientada para a carga de trabalho, oferece as ferramentas e as interfaces certas na hora certa, combinadas com as funcionalidades da infraestrutura de nuvem desenvolvida.

Ambos os conjuntos de tecnologias podem orgulhar-se da sua ampla integração em infra-estruturas de nível empresarial e da compatibilidade com muitas outras soluções de TI. De um lado está o OpenStack com a sua tecnologia tradicional, comprovada ao longo dos anos, baseada em VM, e do outro está o Kubernetes, um sistema de orquestração altamente ágil e dinâmico. Combinados, eles criam uma dupla perfeita para o ambiente de nuvem empresarial e trazem um para o outro exatamente o que lhes falta.

Os clusters Kubernetes consomem recursos de computação, armazenamento e rede do OpenStack através das APIs. Ao criar uma camada de abstração para esses recursos, o OpenStack ajuda a tornar os sistemas de nuvem fiáveis, previsíveis e estáveis.

Por exemplo, existe um pedido comum dos utilizadores do Kubernetes para adicionar um conjunto de serviços padrão, como o armazenamento de objectos e de blocos, integrados sem problemas no seu sistema de contentores. O OpenStack oferece ferramentas práticas para esses requisitos, suportando as soluções de armazenamento e rede mais importantes para as organizações. Executar o Kubernetes com o OpenStack proporciona uma integração funcional perfeita dos contentores no ambiente de nuvem.

Existem várias soluções para executar o Kubernetes e outras estruturas de aplicativos sobre o OpenStack. O Magnum, um projeto Openstack, é a forma mais fácil de fornecer estruturas de contentores com vários inquilinos e self-service. Fornece uma API simples para implantar clusters totalmente gerenciados com o apoio da escolha de várias plataformas de aplicativos, incluindo o Kubernetes.

Pedra angular da segurança

Sendo um orquestrador poderoso, o Kubernetes não simplifica de forma alguma a gestão de aplicações em comparação com aplicações em servidores tradicionais ou VMs. As tecnologias de ponta trazem liberdade aos processos de desenvolvimento, automatizam iterações, poupam tempo e esforço de codificação. A tecnologia relativamente nova utiliza as mais recentes práticas de segurança modernas. No entanto, moderno e de ponta não significam, a priori, a melhor decisão para as necessidades da empresa. As melhores práticas de segurança comprovadas por anos de utilização bem sucedida podem ser destruídas por uma nova vulnerabilidade potencial libertada juntamente com a atualização dos componentes. Uma ameaça à segurança do cluster e aos dados nele armazenados pode vir tanto da rede externa como do próprio cluster. Uma aplicação mal configurada ou uma vulnerabilidade ignorada pode permitir que um atacante aceda ao contentor e ao sistema de ficheiros do anfitrião.

As regras básicas, como auditoria regular do sistema e políticas de cluster, renovam a proteção segura do cluster Kubernetes e diminuem possíveis problemas. Entre as medidas essenciais de cibersegurança para Kubernetes estão as seguintes:

  • regras rigorosas de firewall e restrições de acesso da rede externa;
  • gestão de quotas e de autenticação para recursos e utilizadores;
  • limitação dos privilégios dos contentores e dos privilégios nos contentores;
  • fontes fiáveis de imagens para evitar o risco de executar uma aplicação não segura;
  • Monitorização dos registos e auditoria regular da segurança do cluster para detetar vulnerabilidades conhecidas em modo automático e eliminá-las a tempo.

Instalar e definir a segurança uma vez e para sempre é um sonho desejável, mas impossível. Em um ambiente de nuvem em constante mudança, ocorrem novas fraquezas e ameaças. As organizações devem considerar que a execução de Kubernetes em bare-metal leva a um maior risco de ameaça de fuga de segurança. Se o intruso estiver diretamente no anfitrião, como operador, tens um problema enorme, uma vez que todos os utilizadores que partilham o mesmo kernel estão comprometidos. Por outro lado, o OpenStack pode fornecer uma plataforma de nuvem unificada para orquestrar VMs, contêineres e recursos de computação de hardware, mantendo a segurança dos clusters e de todo o sistema em um nível alto. Para implementar e gerir uma plataforma deste tipo, uma empresa precisa de uma equipa experiente de profissionais bastante dispendiosos ou da solução de software certa com eficácia e segurança comprovadas.

Desenvolvimento de aplicações mais rápido

O Kubernetes oferece aos programadores um bastão de assistente para uma gestão rápida e indolor de muitos contentores com aplicações. O OpenStack cria a atmosfera para que essa magia aconteça sem atrasos e erros. O pedido crescente de serviços a pedido e de acesso a qualquer momento torna o K8 e o OpenStack aliados perfeitos para satisfazer as necessidades destes utilizadores. Os benefícios variam desde o aumento da portabilidade das aplicações até à redução do tempo de desenvolvimento e à melhoria da estabilidade das aplicações. Executando o Kubernetes e o OpenStack juntos, o trecho de código necessário pode ser encontrado, identificado e usado instantaneamente. Poupa horas de codificação e pesquisa. E a preguiça inteligente, como sabes, é o melhor motor para o progresso.

Os programadores utilizam amplamente o Kubernetes devido às suas funcionalidades altamente exigidas que tornam a tecnologia ideal para o fornecimento de aplicações:

  • Como isolados isolados, os contentores permitem implementar várias aplicações completamente diferentes num único bare metal ou VM sem qualquer conflito entre as aplicações.
  • A utilização de pods num cluster Kubernetes pode executar um único contentor ou vários contentores se tiverem de trabalhar em conjunto. Para criar e manter dentro do grupo de componentes de aplicação, um pod encapsula uma aplicação composta por vários contentores co-localizados que estão fortemente ligados e precisam de partilhar recursos.
  • A tecnologia de código aberto Kubernetes executa cargas de trabalho em contentores na produção com a facilidade de manutençãoapoiada por práticas constantes da comunidade.

Hoje ninguém duvida dos benefícios dos aplicativos em contêineres, mas ainda há debates sobre as plataformas de host para atendê-los. De acordo com muitos inquéritos recentes, a maioria dos programadores escolhe o Kubernetes como a plataforma número 1 para a gestão de contentores. No entanto, se quiseres obter mais das tecnologias Kubernetes e OpenStack e aumentar a produtividade empresarial, a poupança de tempo de desenvolvimento e a portabilidade das aplicações, deves executar o proeminente tandem em conjunto.

Auto-escalabilidade

Enquanto os aplicativos tradicionais exigem hardware maior para serem escalonados (escalonamento vertical), os aplicativos baseados em nuvem podem operar com hardware discreto (escalonamento horizontal). Para atender aos requisitos, o OpenStack foi projetado para ser escalonável horizontalmente. Adquire mais servidores e instala serviços configurados de forma idêntica, em vez de mudar para servidores maiores. O dimensionamento horizontal do OpenStack é um ótimo cenário em que o Kubernetes pode adicionar mais flexibilidade.

Um dos recursos mais poderosos do Kubernetes é o escalonamento automático, o processo automatizado que, de outra forma, exigiria um esforço humano intenso se feito manualmente. Atualmente, o Kubernetes tem três métodos de escalonamento automático: escalonamento de pods horizontal e verticalmente e escalonamento de clusters.

O escalonamento automático é essencial em um ambiente de nuvem privada; sem ele, sempre que as condições mudam, é necessário provisionar recursos e depois reduzir. O escalonamento automático do Kubernetes ajuda a otimizar os recursos, aumentando automaticamente o número de nós e pods do cluster se forem necessários mais recursos e ajustando para menos nós e pods para os poupar.

Dimensionar a tua nuvem privada OpenStack com Kubernetes ajuda-te a desfrutar de funcionalidades adicionais. Os recursos podem ser escalados horizontal e verticalmente de forma eficiente.

Duplica os benefícios com o FishOS

Anos de experiência permitiram que a equipa da Sardina se tornasse especialista na criação de ambientes de nuvem privada baseados em OpenStack. Também oferecemos uma integração suave de Kubernetes com FishOS para fornecer aos clientes ferramentas de orquestração de contentores. Garantindo funcionalidades como rollouts e rollbacks automatizados, alta disponibilidade, clusters heterogéneos, orquestração de armazenamento e auto-recuperação, integramos totalmente o Kubernetes no ambiente OpenStack para fornecer todas as suas capacidades.

FishOS pode executar Kubernetes em conformidade com os testes de certificação oficiais em servidores VM e bare metal. Mas uma coisa é pôr o Kubernetes a funcionar; outra completamente diferente é manter o sistema escalável, fiável, eficiente e rentável. Os principais valores do FishOS residem nesses aspectos críticos da operação em nuvens privadas. O FishOS permite que os operadores nas empresas forneçam facilmente ambientes Kubernetes multi-tenant com garantias de segurança comprovadas e ajuda os programadores a fornecer aplicações de forma mais rápida e fácil. Os clientes da Sardina também podem beneficiar de armazenamento em bloco persistente maduro, testado e comprovado, armazenamento definido por software e redes definidas por software.

Faz sentido executar clusters Kubernetes dentro de VMs em organizações maiores com as divisões separadas de operador e consumidor. Isso permite que a organização se beneficie da forte segregação de segurança das VMs e da confiabilidade e resiliência proporcionadas por elas. O OpenStack, por sua vez, é capaz de atender ao Kubernetes também em nós bare-metal.

Os benefícios de combinar as tecnologias OpenStack e Kubernetes são, de longe, um argumento mais evidente do que apenas utilizá-las a solo. Não é de admirar que a Fundação OpenStack esteja empenhada em garantir que as tecnologias emergentes possam ser incorporadas e utilizadas no OpenStack, e os contentores são um exemplo real desse compromisso. O OpenStack tem aproveitado o seu design e uma grande comunidade para integrar tecnologias de contentores a diferentes níveis. Ao utilizar Kubernetes num ambiente de nuvem OpenStack, uma organização pode duplicar os benefícios. Dois gigantes de código aberto a trabalhar em conjunto podem apresentar melhores resultados em termos de segurança, resiliência e escalabilidade, permitindo um desenvolvimento mais rápido de aplicações e a entrega de inovações de infra-estruturas.

1024 512 Natalya Samovol
Start Typing