Planeje a Alta Disponibilidade para Instâncias do Serviço Compute

O Oracle Cloud Infrastructure Compute fornece instâncias bare metal e de máquina virtual (VM) que permitem implantar qualquer tamanho de servidor necessário, de uma pequena VM com um único núcleo para um servidor VM ou bare metal grande com muitos núcleos e uma quantidade maior de RAM. Essas opções garantem o desempenho, a flexibilidade e o controle para executar seus aplicativos e cargas de trabalho mais exigentes na nuvem.

Para planejar a alta disponibilidade das suas instâncias de computação, as principais estratégias de design que você deve considerar são:
  • Eliminando pontos únicos de falha, aproveitando adequadamente o domínio de falha e os domínios de disponibilidade.
  • Usando monitoramento, pools de instâncias e balanceador de carga.
  • Garantir que seu design proteja a disponibilidade e a integridade dos dados de suas instâncias do Compute.
Este artigo descreve essas estratégias.

Distribuir Instâncias em Domínios de Falha

Um dos principais princípios do design de soluções de alta disponibilidade é evitar pontos únicos de falha. Um princípio de design de chave então seria distribuir suas instâncias entre diversos domínios de falha.

Em uma implantação de domínio de disponibilidade único, aproveitando corretamente os domínios de falha, você pode aumentar a disponibilidade de aplicativos em execução no Oracle Cloud Infrastructure. A arquitetura do seu aplicativo determina se você separa ou agrupa instâncias usando domínios de falha.
  • Cenário 1: arquitetura de aplicativo altamente disponível

    Nesse cenário, você tem um aplicativo altamente disponível, por exemplo, dois servidores Web e um banco de dados clusterizado. Aqui, você agrupa um servidor Web e um nó do banco de dados em um domínio de falha e a outra metade de cada par em outro domínio de falha. Essa arquitetura garante que uma falha de qualquer domínio de falha não resulte em uma interrupção do seu aplicativo.

  • Cenário 2: Arquitetura Única da Instância do Servidor Web e do Banco de Dados

    Nesse cenário, sua arquitetura de aplicativo não está altamente disponível, por exemplo, você tem um servidor Web e uma instância de banco de dados. Aqui, o servidor Web e a instância do banco de dados devem ser colocados no mesmo domínio de falha. Essa arquitetura garante que o aplicativo seja afetado apenas pela falha desse domínio de falha único.

Distribuir Instâncias entre Domínios de Disponibilidade

Outra abordagem de alta disponibilidade é implantar instâncias do serviço Compute que executem as mesmas tarefas em vários domínios de disponibilidade. Esse design remove um único ponto de falha introduzindo redundância em data centers.

Em uma implantação com vários domínios de disponibilidade, você separa grupos de instâncias por domínio de disponibilidade. Isso protege seu aplicativo contra falhas no nível do data center, como interrupções de energia, falhas na infraestrutura física ou eventos de manutenção planejados.

Quando as instâncias são distribuídas entre domínios de disponibilidade ou domínios de falha, um Balanceador de Carga é geralmente usado para melhorar o uso de recursos, facilitar o dimensionamento e garantir a alta disponibilidade. Ele suporta o roteamento de solicitações recebidas para vários conjuntos de backend ou grupos de instâncias de computação, balanceando o tráfego de rede entre elas.

O diagrama a seguir ilustra as VMs do servidor Web implantadas em dois domínios de disponibilidade para implementar a redundância, junto com um balanceador de carga:



Observação:

A arquitetura mostra vários domínios de disponibilidade (ADs). Para uma região que tem um único AD, ajuste a arquitetura para distribuir seus recursos entre os domínios de falha do AD.
Dependendo dos requisitos do sistema ou do aplicativo, você pode implementar essa redundância de arquitetura no modo stand-by ou ativo:
  • No modo stand-by, quando o componente principal falha, o componente stand-by assume o controle. O modo standby geralmente é usado para aplicativos que precisam manter seus estados.
  • No modo ativo, nenhum componente é designado como principal ou stand-by; todos os componentes estão participando ativamente da execução das mesmas tarefas. Quando um dos componentes falha, as tarefas relacionadas são simplesmente distribuídas para outro componente. O modo ativo geralmente é usado para aplicativos sem monitoramento de estado.

Garanta Alta Disponibilidade e Integridade dos seus Dados

Para uma arquitetura de alta disponibilidade, sempre certifique-se de que seu design proteja a disponibilidade e a integridade dos dados das instâncias do serviço Compute. Para proteger a disponibilidade de dados da sua instância do Compute, você pode replicar ou fazer backup de seus dados em outro local.

  • Resumo do Serviço Block Volume

    O serviço Oracle Cloud Infrastructure Block Volume permite provisionar e gerenciar dinamicamente volumes de armazenamento em blocos. Você pode criar, anexar, conectar e mover volumes, bem como alterar o desempenho do volume, conforme necessário, para atender aos requisitos de armazenamento, de desempenho e do aplicativo. Depois de anexar e conectar um volume a uma instância, você pode usar o volume como disco rígido comum. Também é possível desconectar um volume e anexá-lo a outra instância sem perda de dados.

  • Durabilidade do Volume

    O serviço Oracle Cloud Infrastructure Block Volume oferece um alto nível de durabilidade dos dados em comparação com unidades anexadas padrão. Todos os volumes são replicados automaticamente, ajudando a proteger contra perda de dados. Várias cópias dos dados são armazenadas de forma redundante em diversos servidores de armazenamento com mecanismos de reparo incorporados. Para objetivos de nível de serviço, o serviço de Volume em Blocos foi projetado para fornecer durabilidade anual de 99,99% para volumes em blocos e volumes de inicialização. Porém, recomendamos que você faça backups regulares para proteger-se contra a falha de um domínio de disponibilidade.

  • Replicação de Volume

    O serviço Block Volume fornece a você a capacidade de executar replicação assíncrona automática contínua de volumes em blocos e volumes de inicialização para outras regiões ou domínios de disponibilidade dentro da mesma região. A replicação entre domínios de disponibilidade dentro da mesma região só é suportada para regiões com mais de um domínio de disponibilidade. Para determinar quais regiões contêm mais de um domínio de disponibilidade, consulte o campo Domínios de Disponibilidade na tabela listando as regiões em Sobre Regiões e Domínios de Disponibilidade. Esse recurso suporta cenários de recuperação de desastres, migração e expansão de negócios, sem a necessidade de backups de volume de volume de inicialização. Para obter mais informações, consulte "Replicando um Volume", que você pode acessar no tópico Explorar Mais, em outro lugar deste manual.

Sobre Backups do Serviço Block Volume

O recurso de backups do serviço Oracle Cloud Infrastructure Block Volume permite fazer um snapshot pontual dos dados de um volume em blocos. Você pode fazer o backup de um volume quando ele está anexado a uma instância ou durante sua desanexação. Esses backups poderão ser restaurados para novos volumes imediatamente após um backup ou mais tarde no momento escolhido por você.

Os backups são criptografados e armazenados no OCI Object Storage e podem ser restaurados como novos volumes para qualquer domínio de disponibilidade na mesma região em que são armazenados. Esse recurso oferece uma cópia reserva de um volume e permite concluir com sucesso a recuperação de desastres na mesma região.

Você pode iniciar um backup de duas maneiras: iniciando manualmente o backup ou designando uma política que defina uma programação de backup. Para obter mais informações sobre volumes inchados, consulte Visão Geral de Backups de Volume em Blocos, que você pode acessar no tópico Explorar Mais em outro lugar deste playbook. https://docs.oracle.com/en-us/iaas/Content/Block/Concepts/blockvolumebackups.htm

Usar Replicação Síncrona ou Assíncrona

Você poderá usar a replicação síncrona ou assíncrona para proteger seus dados se sua instância do Compute falhar:

  • Os domínios de disponibilidade em uma região são interconectados por uma rede de alto desempenho que suporta replicação síncrona. Se seu aplicativo precisar de um failover instantâneo e não puder tolerar a perda de dados, empregue replicação síncrona. Devido aos requisitos de desempenho de rede, a replicação síncrona geralmente é usada em uma região.
  • Para aplicativos que precisam da proteção da disponibilidade de dados entre regiões, empregue replicação assíncrona.

Os backups tradicionais são outra forma de proteger seus dados. Para obter a durabilidade máxima dos dados, não armazene seus backups no mesmo domínio de disponibilidade que sua instância original do serviço Compute. Use o Oracle Cloud Infrastructure Object Storage para fazer backup dos dados da sua instância do serviço Compute. Para instâncias do Compute com unidades NVMe locais, um array RAID protegido é a melhor maneira de se proteger contra uma falha de dispositivo NVMe.

Para obter mais informações, consulte "Protegendo Dados em Dispositivos NVMe", que você pode acessar no tópico Explorar Mais em outro lugar deste manual.