Planejar e preparar uma implantação do cluster

O planejamento e a preparação para uma implantação de cluster de produção são muito importantes. Há dois fatores que devem ser levados em consideração. Este artigo orienta você pelas etapas de preparação de sua implantação de cluster.

Leia as informações de práticas recomendadas

Para gerenciar os aplicativos e clusters do Service Fabric do Azure corretamente, há operações altamente recomendadas para otimizar a confiabilidade de seu ambiente de produção. Para obter mais informações, leia Práticas recomendadas de aplicativo e cluster do Service Fabric.

Selecione o sistema operacional do cluster

O Service Fabric permite a criação de clusters do Service Fabric em qualquer VM ou computador que esteja executando o Windows Server ou o Linux. Antes de implantar o cluster, você deve escolher o sistema operacional: Windows ou Linux. Cada nó (máquina virtual) no cluster executa o mesmo sistema operacional, não é possível misturar VMs do Windows e Linux no mesmo cluster.

planejamento de capacidade

Para qualquer implantação de produção, o planejamento de capacidade é uma etapa importante. Aqui estão alguns pontos a serem considerados como parte desse processo.

  • O número inicial de tipos de nó para o cluster
  • As propriedades de cada tipo de nó (tamanho, número de instâncias, primária, voltada para a Internet, número de VMs, etc.)
  • As características de confiabilidade e durabilidade do cluster

Selecionar o número inicial de tipos de nó

Primeiro, é necessário descobrir para que o cluster que você está criando será utilizado. Que tipos de aplicativos você planeja implantar nesse cluster? O aplicativo tem vários serviços, e algum deles precisa ser público ou voltado para a Internet? Os serviços (que compõem o aplicativo) têm necessidades de infraestrutura diferentes, como maior RAM ou mais ciclos de CPU? Um cluster do Service Fabric pode consistir em mais de um tipo de nó: um tipo de nó primário e um ou mais tipos de nós não primários. Cada tipo de nó é mapeado para um conjunto de dimensionamento de máquinas virtuais. Cada tipo de nó pode ser escalado verticalmente para cima ou para baixo de forma independente, tem conjuntos diferentes de portas abertas e pode ter métricas de capacidade diferente. As propriedades do nó e as restrições de posicionamento podem ser configuradas para restringir serviços específicos a tipos de nós específicos. Para obter mais informações, confira Planejamento de capacidade do cluster do Service Fabric.

Selecionar propriedades de nó para cada tipo de nó

Os tipos de nó definem a SKU da VM, o número e as propriedades das VMs no conjunto de dimensionamento associado.

O tamanho mínimo de VMs para cada tipo de nó é determinado pela camada de durabilidade que você escolher para o tipo de nó. Antes de escolher uma SKU da VM, certifique-se de entender as etapas necessárias para o dimensionamento vertical se decidir que precisa de uma SKU de VM diferente no futuro.

O número mínimo de VMs para o tipo de nó primário é determinado pela camada de confiabilidade que você escolhe.

Confira as recomendações mínimas para tipos de nó primário, cargas de trabalho com estado em tipos de nó não primários e cargas de trabalho sem estado em tipos de nó não primários.

Um número maior do que o mínimo de nós deve estar baseado no número de réplicas do aplicativo/serviços que deseja executar nesse tipo de nó. O planejamento de capacidade de aplicativos do Service Fabric ajuda você a estimar os recursos necessários para executar seus aplicativos. Você sempre pode escalar o cluster para cima ou para baixo mais tarde para ajustar a alteração da carga de trabalho do aplicativo.

Usar discos de SO efêmero para conjunto de dimensionamento de máquinas virtuais

Os discos do SO efêmero são criados no armazenamento da VM (máquina virtual) local e não são salvos no Armazenamento do Azure remoto. Eles são recomendados para todos os tipos de nó do Service Fabric (primário e secundário), porque comparados aos discos de SO persistente tradicional, discos do SO Efêmero:

  • Latência de leitura/gravação inferior no disco do SO
  • Habilitar operações de gerenciamento de nó de redefinição/recriação de imagem mais rápidas
  • Reduzir os custos gerais (os discos são gratuitos e não incorrem nenhum custo de armazenamento adicional)

Os discos do SO efêmero não são um recurso específico do Service Fabric, mas um recurso dos conjuntos de dimensionamento de máquinas virtuais do Azure mapeados para os tipos de nó do Service Fabric. O uso deles com o Service Fabric requer o seguinte no modelo do Azure Resource Manager de cluster:

  1. Verifique se os tipos de nó especificam os tamanhos de VM do Azure com suporte para discos do SO Efêmero e se o tamanho da VM tem tamanho de cache suficiente para dar suporte ao tamanho do disco do SO (confira Observação abaixo.) Por exemplo:

    "vmNodeType1Size": {
        "type": "string",
        "defaultValue": "Standard_DS3_v2"
    

    Observação

    Certifique-se de selecionar um tamanho de VM com um tamanho de cache igual ou maior que o tamanho do disco do SO da própria VM; caso contrário, sua implantação do Azure poderá resultar em erro (mesmo que ela seja aceita inicialmente).

  2. Especifique uma versão do conjunto de dimensionamento de máquinas virtuais (vmssApiVersion) de 2018-06-01 ou posterior:

    "variables": {
        "vmssApiVersion": "2018-06-01",
    
  3. Na seção do conjunto de dimensionamento de máquinas virtuais do modelo de implantação, especifique a opção Local para diffDiskSettings:

    "apiVersion": "[variables('vmssApiVersion')]",
    "type": "Microsoft.Compute/virtualMachineScaleSets",
        "virtualMachineProfile": {
            "storageProfile": {
                "osDisk": {
                        "caching": "ReadOnly",
                        "createOption": "FromImage",
                        "diffDiskSettings": {
                            "option": "Local"
                        },
                }
            }
        }
    

Observação

Os aplicativos de usuário não devem ter dependência/arquivo/artefato no disco do SO, pois ele seria perdido no caso de uma atualização do sistema operacional.

Observação

O VMSS não efêmero existente não pode ser atualizado in-loco para usar discos efêmeros. Para migrar, os usuários terão que adicionar um novo nodeType com discos efêmeros, mover as cargas de trabalho para o novo nodeType e remover o nodeType existente.

Para obter mais informações e outras opções de configuração, confira Discos do SO efêmero para VMs do Azure

Selecione os níveis de durabilidade e confiabilidade do cluster

A camada de durabilidade é usada para indicar ao sistema os privilégios que as VMs têm com a infraestrutura subjacente do Azure. No tipo de nó primário, esse privilégio permite que o Service Fabric pause qualquer solicitação de infraestrutura de nível de VM (por exemplo, reinicialização de VM, recriação de imagem de VM ou migração de VM) que afete os requisitos de quorum para os serviços do sistema e os serviços com estado. Nos tipos de nó não primários, esse privilégio permite que o Service Fabric pause quaisquer solicitações de infraestrutura de nível de VM (como reinicialização de VM, reinicialização de VM e migração de VM) que afetem os requisitos de quorum para os serviços com estado. Para ver as vantagens dos diferentes níveis e recomendações sobre qual nível usar e quando, confira As características de durabilidade do cluster.

A camada de confiabilidade é usada para definir o número de réplicas dos serviços do sistema que você deseja executar nesse cluster no tipo de nó primário. Quanto maior for o número de réplicas, mais confiáveis os serviços do sistema serão no cluster. Para ver as vantagens dos diferentes níveis e recomendações sobre qual nível usar e quando, confira As características de confiabilidade do cluster.

Habilitar proxy reverso e/ou DNS

Geralmente, os serviços que se conectam entre si em um cluster podem acessar diretamente os pontos de extremidade de outros serviços, pois os nós de um cluster estão na mesma rede local. Para facilitar a conexão entre serviços, o Service Fabric fornece serviços adicionais: um serviço DNS e um serviço de proxy reverso. Ambos os serviços podem ser habilitados ao implantar um cluster.

Como muitos serviços, especialmente serviços de contêineres, podem ter um nome de URL existente, ter a capacidade de resolvê-los usando o protocolo DNS padrão (em vez do protocolo do Serviço de Nomenclatura) é conveniente, especialmente em cenários que usam o método "lift-and-shift" para aplicativos. Isso é exatamente o que o serviço DNS faz. Ele permite mapear nomes DNS para um nome de serviço e, portanto, resolver endereços IP do ponto de extremidade.

O proxy reverso lida com os serviços no cluster que expõem pontos de extremidade HTTP, incluindo HTTPS. O proxy reverso simplifica muito a chamada a outros serviços fornecendo um formato de URI específico. O proxy reverso também lida com as etapas de resolução, conexão e repetição necessárias para que um serviço se comunique com o outro.

Preparar para a recuperação de desastre

Uma parte crítica da entrega de alta disponibilidade é garantir que os serviços possam sobreviver a todos os tipos diferentes de falhas. Isso é especialmente importante para falhas não planejadas e fora de seu controle. Preparar para a recuperação de desastre descreve alguns modos de falha comuns que poderão se transformar em desastres se não forem modelados e gerenciados corretamente. Ele também aborda mitigações e ações a serem tomadas se, ainda assim, um desastre acontecer.

Lista de verificação de preparação para produção

O aplicativo e o cluster estão prontos para receber tráfego de produção? Antes de implantar o cluster em produção, execute a lista de verificação de preparação de produção. Mantenha o aplicativo e o cluster em execução correta, analisando os itens nesta lista de verificação. É recomendável que todos esses itens sejam verificados antes de entrar em produção.

Próximas etapas