Como o Red Hat OpenShift pode suportar seu ambiente de multicloud híbrida

By 25/03/2020

Nós sabemos que as empresas moveram, ou estão movendo, suas cargas de trabalho para a nuvem. No entanto, raramente uma empresa deseja mover todos as suas aplicações para a nuvem e escolher um único provedor de nuvem para hospedar essas aplicações. A estratégia mais comum é uma combinação de provedores no local (on-premises) e em nuvem pública, ou o que é referido como multicloud híbrida. Atualmente, a maioria das organizações já iniciaram esta complexa jornada.

Neste post do blog, eu vou explicar como as cargas de trabalho corporativas estão mudando, o que isso significa para as empresas e como o Red Hat OpenShift pode ajudar as organizações com multicloud híbrida.

Primeiro, algumas definições

Uma estratégia multicloud inclui serviços em nuvem de mais de um provedor de nuvem. À medida que a adoção da nuvem aumentou, as linhas de negócios encontraram novas maneiras de consumir recursos de nuvem para atender às suas demandas específicas por conformidade, segurança, escalabilidade ou custo. Isso, juntamente com a resistência por parte do cliente de depender de um único provedor, levou a maioria das organizações a adotar uma abordagem multicloud.

Nuvem híbrida refere-se a um ambiente de computação que combina nuvens privadas e públicas dentro de uma única organização. Algumas empresas usam uma solução de nuvem híbrida para aumentar a segurança, enquanto outras a usam para alcançar a performance necessária para uma aplicação específica. Ela permite que as aplicações e os dados sejam transferidos entre esses ambientes.

Uma multicloud híbrida combina essas estratégias, fornecendo soluções de nuvem privada e pública de mais de um provedor.

Um relatório recente da Flexera indicou que 84% das empresas possuem uma estratégia de multicloud, e aquelas que planejam uma estratégia de nuvem híbrida cresceram até 58%.

 

Nossas cargas de trabalho estão mudando 

Nós não temos apenas inúmeras opções em relação a onde podemos implementar nossas aplicações. Agora nós temos diversas opções em relação a como podemos implementá-las.

Antigamente, nós tínhamos sistemas independentes que executavam um único sistema operacional, utilizando todo o hardware pertencente a esse sistema, e eles normalmente forneciam uma aplicação de função única. Então, a virtualização do hypervisor nos trouxe a capacidade de “compartilhar” recursos de hardware, como processamento, memória e E/S. Isso significava que nós podíamos empacotar mais máquinas virtuais em um único servidor. No entanto, havia a tendência de que cada uma delas teria seu próprio sistema operacional e aplicação. A conteinerização introduziu o conceito de virtualização do sistema operacional. Isso nos permitiu implementar e executar aplicações em um ambiente “reduzido”, consumindo muito menos recursos do que as máquinas virtuais já que os contêineres precisavam apenas conter os componentes de tempo de execução necessários para aquela aplicação.

Figura 1: Comparando máquinas virtuais com contêineres

 

O que isso significa para um cliente corporativo?

Os clientes corporativos estão buscando maneiras de transformar algumas de suas aplicações tradicionais em aplicações nativas de nuvem, mas ao mesmo tempo percebem que há uma necessidade de manter determinadas cargas de trabalho em máquinas virtuais, seja no local ou na nuvem. Com isso, surge a necessidade de implementar e gerenciar cargas de trabalho conteinerizadas e de máquina virtual no ambiente de multicloud híbrida mais adequada.

Além disso, existe a preocupação em relação ao gerenciamento desses contêineres após a implementação. Como nós asseguramos que iniciaram corretamente, como fazer o monitoramento para assegurar que estão apresentando a performance esperada, como permitimos o acesso àquelas aplicações e como fazemos upgrade dessas aplicações? Isso fica mais complexo em ambientes em que estamos executando centenas ou milhares de contêineres individuais.

O Red Hat OpenShift pode ajudar nesses aspectos.

 

Como o Red Hat OpenShift pode ajudar?

O Red Hat OpenShift Container Platform é uma plataforma como serviço preparada para empresas, desenvolvida com Kubernetes. Seu principal propósito é fornecer aos usuários uma plataforma para criar e escalar aplicações de microsserviço conteinerizados em uma nuvem híbrida e nós poderíamos escrever inúmeras postagens do blog sobre todos os recursos disponíveis dentro do OpenShift. Ele pode ser instalado no local, em uma nuvem pública ou entregue por meio de um serviço gerenciado.

A arquitetura OpenShift Container Platform é baseada nos hosts mestres e worker nodes.

Os master hosts contêm os componentes de plano de controle como API Server, armazenamento de cluster (etcd), gerenciador do controlador, HAProxy e similares, e devem ser implementados em uma configuração altamente disponível para evitar ponto único de falha. Com OpenShift Container Platform v3.11, os master hosts são um servidor RHEL/Atomic em execução no IBM Power Systems ou no x86.

Os worker nodes são gerenciados pelos master hosts e são responsáveis pela execução dos contêineres da aplicação. Essas cargas de trabalho da aplicação são planejadas para os worker node pelos master hosts. Com o OCP v3.11, os master hosts são servidores RHEL/Atomic/Linux no servidor IBM Z em execução no IBM Power Systems, no x86 ou no IBM Z. Atualmente, não é possível combinar arquiteturas de nó dentro do mesmo cluster OCP.

 

O que o OpenShift Container Platform oferece?

OpenShift fornece inúmeros métodos de implementação como DeploymentConfig, StatefulSets e DaemonSets. Eles nos permitem definir como nossa aplicação conteinerizada deve ser implementada, incluindo recursos-chave como o número de pods, o número de replicações, quais imagens usar para esses pods, opções de ajuste de escala, opções de upgrade, verificações de funcionamento, monitoramento, informações de roteamento e de IP de serviço, porta na qual atender e assim por diante. Nós podemos, então, incluir esse modelo de aplicação no catálogo e permitir que usuários do portal de autoatendimento o implementem dentro de seus próprios espaços do projeto.

Agora nós temos um estado declarativo que descreve como nós desejamos que a aplicação se pareça e o OpenShift o monitorará para assegurar que ele corresponda ao estado definido. Caso ele se desvie desse estado desejado, o OpenShift executará ações para resolver os problemas.

Vamos usar um exemplo em que uma aplicação foi definida como requerendo dois pods em seu modelo de configuração e, por alguma razão, um desses pods foi finalizado. O controle do OpenShift observaria esse desvio e executaria uma ação (nesse caso, criar um novo pod), conforme mostrado no diagrama a seguir:

 

Figure 2: OpenShift recreating terminated pod

Figura 2: OpenShift recriando o pod finalizado

 

 IBM Cloud Pak para Multicloud Management e Cloud Automation Manager

Red Hat OpenShift não apenas pode entregar aplicações conteinerizadas. Ele nos fornece a capacidade de gerenciar um ambiente multicluster e conduzir ambientes de TI mais tradicionais, como máquinas virtuais no local ou em nuvem pública. O IBM Cloud Pak for Multicloud Management nos permite gerenciar diversos clusters Kubernetes no local e na nuvem, fornecendo-nos uma única visualização de todos os nossos clusters e permitindo executar tarefas de gerenciamento multicluster.

 

Figure 3: IBM Multicloud Manager overview

Figura 3: visão geral do IBM Multicloud Manager

 

No Multicloud Management Cloud Pak, nós podemos implementar o IBM Cloud Automation Manager (CAM) dentro de nosso cluster do OpenShift. O Cloud Automation Manager nos fornece a capacidade de provisionar aplicativos baseados em máquina virtual em diversas nuvens híbridas, permitindo-nos registrar provedores em nuvem adicionais, como o IBM PowerVC no local (baseado no OpenStack) e os ambientes VMware vSphere ou provedores em nuvem pública como o IBM Cloud, o Amazon EC2, o Microsoft Azure, o Google Cloud e similares.

Uma vez que temos nossos provedores em nuvem incluídos, podemos configurar os modelos baseados no terraform que definem como uma VM deve ser dentro do ambiente de destino. Esses modelos podem ser publicados como ofertas de serviços para que apareçam no catálogo do OCP, conforme mostrado no gráfico a seguir:

 

 Figure 4: OpenShift catalog, including virtual machine options

Figura 4: Catálogo do OpenShift, incluindo opções de máquina virtual

 

Conclusão

Com a combinação Red Hat OpenShift, IBM Cloud Automation Manager e IBM PowerVC, é possível entregar um catálogo de autoprovisionamento de aplicações semelhante àquela mostrada na figura 4, fornecendo aos usuários a capacidade de solicitar diversas aplicações que se estendem por um ambiente de multicloud híbrida.

Se você está buscando uma consultoria com uma solução de multicloud híbrida no IBM Power Systems para a sua empresa, entre em contato com o especialista aqui.

[autopilot_shortcode]