Visão geral dos clusters do Service Fabric no AzureOverview of Service Fabric clusters on Azure

Um cluster do Service Fabric é um conjunto de computadores físicos ou virtuais conectados via rede, nos quais os microsserviços são implantados e gerenciados.A Service Fabric cluster is a network-connected set of virtual or physical machines into which your microservices are deployed and managed. Um computador ou VM que faz parte de um cluster é chamado de nó de cluster.A machine or VM that is part of a cluster is called a cluster node. Os clusters podem ser dimensionados para milhares de nós.Clusters can scale to thousands of nodes. Se você adiciona novos nós ao cluster, o Service Fabric reequilibra as réplicas de partição de serviço e instâncias entre o número aumentado de nós.If you add new nodes to the cluster, Service Fabric rebalances the service partition replicas and instances across the increased number of nodes. O desempenho geral do aplicativo é melhorado e a contenção para o acesso à memória é reduzida.Overall application performance improves and contention for access to memory decreases. Se os nós no cluster não estiverem sendo usados com eficiência, você poderá diminuir o número de nós no cluster.If the nodes in the cluster are not being used efficiently, you can decrease the number of nodes in the cluster. O Service Fabric redistribui novamente as réplicas de partição e instâncias entre o número reduzido de nós, para fazer melhor uso do hardware em cada nó.Service Fabric again rebalances the partition replicas and instances across the decreased number of nodes to make better use of the hardware on each node.

O tipo de nó define o tamanho, o número e as propriedades de um conjunto de nós (máquinas virtuais) no cluster.A node type defines the size, number, and properties for a set of nodes (virtual machines) in the cluster. 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.Each node type can then be scaled up or down independently, have different sets of ports open, and can have different capacity metrics. Os tipos de nós são usados na definição de funções para um conjunto de nós de cluster, como "front-end" ou "back-end".Node types are used to define roles for a set of cluster nodes, such as "front end" or "back end". Seu cluster pode ter mais de um tipo de nó, mas o tipo de nó primário deve ter pelo menos cinco VMs para clusters de produção (ou pelo menos três VMs para clusters de teste).Your cluster can have more than one node type, but the primary node type must have at least five VMs for production clusters (or at least three VMs for test clusters). Os serviços de sistema do Service Fabric são colocados nos nós do tipo primário.Service Fabric system services are placed on the nodes of the primary node type.

Recursos e componentes do clusterCluster components and resources

O cluster do Service Fabric no Azure é um recurso do Azure que usa e interage com outros recursos do Azure:A Service Fabric cluster on Azure is an Azure resource that uses and interacts with other Azure resources:

  • Placas de rede virtual e de VMsVMs and virtual network cards
  • conjuntos de escala de máquina virtualvirtual machine scale sets
  • redes virtuaisvirtual networks
  • balanceadores de cargaload balancers
  • contas de armazenamentostorage accounts
  • endereços IP públicospublic IP addresses

Cluster do Service Fabric

Máquina virtualVirtual machine

Uma máquina virtual que é parte de um cluster é chamada de nó, embora, tecnicamente, um nó de cluster seja um processo de tempo de execução do Service Fabric.A virtual machine that's part of a cluster is called a node though, technically, a cluster node is a Service Fabric runtime process. Cada nó recebe um nome de nó (uma cadeia de caracteres).Each node is assigned a node name (a string). Os nós têm características, como as propriedades de posicionamento.Nodes have characteristics, such as placement properties. Cada máquina ou VM possui um serviço de início automático, FabricHost.exe, que começa a ser executado na inicialização e, depois, inicia dois executáveis: Fabric.exe e FabricGateway.exe, que compõem o nó.Each machine or VM has an auto-start service, FabricHost.exe, that starts running at boot time and then starts two executables, Fabric.exe and FabricGateway.exe, which make up the node. Uma implantação de produção é um nó por máquina virtual ou física.A production deployment is one node per physical or virtual machine. Para cenários de teste, é possível hospedar vários nós em um único computador ou VM, executando várias instâncias do Fabric.exe e do FabricGateway.exe.For testing scenarios, you can host multiple nodes on a single machine or VM by running multiple instances of Fabric.exe and FabricGateway.exe.

Cada VM é associada a uma placa de interface de rede virtual (NIC), e a cada NIC é atribuído um endereço IP privado.Each VM is associated with a virtual network interface card (NIC) and each NIC is assigned a private IP address. Uma VM é atribuída a uma rede virtual e a um balanceador local por meio da NIC.A VM is assigned to a virtual network and local balancer through the NIC.

Todas as VMs em um cluster são colocadas em uma rede virtual.All VMs in a cluster are placed in a virtual network. Todos os nós no mesmo tipo de nó/escala de dimensionamento são colocados na mesma sub-rede na rede virtual.All nodes in the same node type/scale set are placed on the same subnet on the virtual network. Esses nós têm somente endereços IP privados e não são diretamente endereçáveis de fora da rede virtual.These nodes only have private IP addresses and are not directly addressable outside the virtual network. Os clientes podem acessar os serviços nos nós por meio do balanceador de carga do Azure.Clients can access services on the nodes through the Azure load balancer.

Conjunto de dimensionamento/Tipo de nóScale set/node type

Ao criar um cluster, você define um ou mais tipos de nó.When you create a cluster, you define one or more node types. Os nós, ou VMs, em um tipo de nó têm o mesmo tamanho e características, como o número de CPUs, memória, número de discos e disco I/O.The nodes, or VMs, in a node type have the same size and characteristics such as number of CPUs, memory, number of disks, and disk I/O. Por exemplo, um tipo de nó pode ser para VMs pequenas, VMs de front-end com portas abertas para a internet, enquanto o outro tipo de nó pode ser para VMs grandes e VMs de back-end que processam dados.For example, one node type could be for small, front-end VMs with ports open to the internet while another node type could be for large, back-end VMs that process data. Nos clusters do Azure, cada tipo de nó é mapeado para um conjunto de dimensionamento de máquinas virtuais.In Azure clusters, each node type is mapped to a virtual machine scale set.

Você pode usar os conjuntos de dimensionamento para implantar e gerenciar uma coleção de máquinas virtuais como um conjunto.You can use scale sets to deploy and manage a collection of virtual machines as a set. Cada tipo de nó definido em um cluster do Azure Service Fabric configura uma escala de dimensionamento separada.Each node type that you define in an Azure Service Fabric cluster sets up a separate scale set. O tempo de execução do Service Fabric é inicializado em cada máquina virtual no conjunto de dimensionamento usando as extensões de VM do Azure.The Service Fabric runtime is bootstrapped onto each virtual machine in the scale set using Azure VM extensions. Cada tipo de nó pode ser escalado vertical ou horizontalmente de forma independente, ter a SKU de sistema operacional em execução em cada nó de cluster, ter conjuntos diferentes de portas abertas e usar métricas de capacidade diferentes.You can independently scale each node type up or down, change the OS SKU running on each cluster node, have different sets of ports open, and use different capacity metrics. Um conjunto de dimensionamento tem cinco domínios de atualização e cinco domínios de falha e pode ter até 100 VMs.A scale set has five upgrade domains and five fault domains and can have up to 100 VMs. É possível criar clusters de mais de 100 nós, criando vários tipos de nó/conjuntos de dimensionamento.You create clusters of more than 100 nodes by creating multiple scale sets/node types.

Importante

Escolher o número de tipos de nó do cluster e as propriedades de cada tipo de nó (tamanho, primário, voltado para a internet, número de VMs, etc.) é uma tarefa importante.Choosing the number of node types for your cluster and the properties of each of node type (size, primary, internet facing, number of VMs, etc.) is an important task. Para saber mais, confira as considerações de planejamento de capacidade de cluster.For more information, read cluster capacity planning considerations.

Para saber mais, confira os tipos de nós do Service Fabric e os conjuntos de dimensionamento de máquina virtual.For more information, read Service Fabric node types and virtual machine scale sets.

Azure Load BalancerAzure Load Balancer

As instâncias de VM são unidas atrás de um balanceador de carga do Azure, que está associado a um endereço IP público e a um rótulo de DNS.VM instances are joined behind an Azure load balancer, which is associated with a public IP address and DNS label. Quando você provisiona um cluster com <nomedocluster> , o nome DNS <nomedocluster> <local>. cloudapp.azure.com é o rótulo DNS associado ao balanceador de carga na frente do conjunto de dimensionamento.When you provision a cluster with <clustername>, the DNS name, <clustername>.<location>.cloudapp.azure.com is the DNS label associated with the load balancer in front of the scale set.

As VMs em um cluster têm apenas endereços IP privados.VMs in a cluster have only private IP addresses. O tráfego de gerenciamento e de serviço são roteados por meio do balanceador de carga voltado ao público.Management traffic and service traffic are routed through the public facing load balancer. O tráfego de rede é roteado para essas máquinas por meio de regras NAT (os clientes se conectam a nós/instâncias específicas) ou de regras de balanceamento de carga (o tráfego vai para as VMs round robin).Network traffic is routed to these machines through NAT rules (clients connect to specific nodes/instances) or load-balancing rules (traffic goes to VMs round robin). Um balanceador de carga tem um IP público associado a um nome DNS no formato: <nomedocluster>.<local>.cloudapp.azure.com.A load balancer has an associated public IP with a DNS name in the format: <clustername>.<location>.cloudapp.azure.com. Um IP público é outro recurso do Azure no grupo de recursos.A public IP is another Azure resource in the resource group. Se você definir vários tipos de nós em um cluster, é criado um balanceador de carga para cada tipo de nó/conjunto de dimensionamento.If you define multiple node types in a cluster, a load balancer is created for each node type/scale set. Ou, é possível configurar um balanceador de carga único para vários tipos de nó.Or, you can setup a single load balancer for multiple node types. O tipo de nó primário tem o rótulo DNS <nomedocluster>.<local>.cloudapp.azure.com, outros tipos de nó têm o rótulo DNS <nomedocluster>-<tipodenó>.<local>.cloudapp.azure.com.The primary node type has the DNS label <clustername>.<location>.cloudapp.azure.com, other node types have the DNS label <clustername>-<nodetype>.<location>.cloudapp.azure.com.

Contas de armazenamentoStorage accounts

A conta de armazenamento do Azure e os Managed Disks oferecem suporte a cada tipo de nó de cluster.Each cluster node type is supported by an Azure storage account and managed disks.

Segurança de clusterCluster security

Um cluster do Service Fabric é um recurso que pertence a você.A Service Fabric cluster is a resource that you own. É sua responsabilidade proteger os clusters para ajudar a impedir que usuários não autorizados se conectem a eles.It is your responsibility to secure your clusters to help prevent unauthorized users from connecting to them. Um cluster seguro é especialmente importante quando você está executando cargas de trabalho de produção no cluster.A secure cluster is especially important when you are running production workloads on the cluster.

Segurança de nó para nóNode-to-node security

A segurança de nó para nó protege a comunicação entre as VMs ou os computadores em um cluster.Node-to-node security secures communication between the VMs or computers in a cluster. Esse cenário de segurança faz com que somente os computadores autorizados a ingressar no cluster possam hospedar aplicativos e serviços no cluster.This security scenario ensures that only computers that are authorized to join the cluster can participate in hosting applications and services in the cluster. O Service Fabric usa certificados x.509 para proteger um cluster e fornecer recursos de segurança do aplicativo.Service Fabric uses X.509 certificates to secure a cluster and provide application security features. É necessário um certificado de cluster para proteger o tráfego de cluster e fornecer autenticação de servidor e de cluster.A cluster certificate is required to secure cluster traffic and provide cluster and server authentication. Os certificados autoassinados podem ser usados para clusters de teste, mas deve ser usado um certificado de uma autoridade de certificação confiável para proteger os clusters de produção.Self signed-certificates can be used for test clusters, but a certificate from a trusted certificate authority should be used to secure production clusters.

Para saber mais, confira a segurança de nó para nóFor more information, read Node-to-node security

Segurança de cliente para nóClient-to-node security

A segurança de cliente para nó autentica clientes e ajuda a proteger a comunicação entre um cliente e nós individuais no cluster.Client-to-node security authenticates clients and helps secure communication between a client and individual nodes in the cluster. Esse tipo de segurança ajuda a assegurar que somente usuários autorizados possam acessar o cluster e os aplicativos implantados no cluster.This type of security helps ensure that only authorized users can access the cluster and the applications that are deployed on the cluster. Os clientes são identificados exclusivamente por meio de suas credenciais de segurança do certificado X.509.Clients are uniquely identified through either their X.509 certificate security credentials. Qualquer número de certificados de cliente opcionais podem ser usados para autenticar clientes usuários ou administradores no cluster.Any number of optional client certificates can be used to authenticate admin or user clients with the cluster.

Além de certificados de cliente, o Azure Active Directory também pode ser configurado para autenticar clientes no cluster.In addition to client certificates, Azure Active Directory can also be configured to authenticate clients with the cluster.

Para saber mais, leia Segurança de cliente para nóFor more information, read Client-to-node security

Controle de Acesso Baseado em FunçãoRole-Based Access Control

O Controle de Acesso Baseado em Função (RBAC) permite atribuir controles de acesso refinado a recursos do Azure.Role-Based Access Control (RBAC) allows you to assign fine-grained access controls on Azure resources. Você pode atribuir regras de acesso diferentes para assinaturas, grupos de recursos e recursos.You can assign different access rules to subscriptions, resource groups, and resources. As regras de RBAC são herdadas ao longo da hierarquia de recursos, a menos que sejam substituídas em um nível inferior.RBAC rules are inherited along the resource hierarchy unless overridden at a lower level. Você pode atribuir qualquer usuário ou grupos de usuários em seu AAD com regras de RBAC, de modo que esses usuários e grupos designados possam modificar o cluster.You can assign any user or user groups on your AAD with RBAC rules so that designated users and groups can modify your cluster. Para saber mais, confira a visão geral do RBAC do Azure.For more information, read the Azure RBAC overview.

O Service Fabric também oferece suporte ao controle de acesso a diferentes grupos de usuários a fim de limitar o acesso a determinadas operações de cluster.Service Fabric also supports access control to limit access to certain cluster operations for different groups of users. Isso ajuda a tornar o cluster mais seguro.This helps make the cluster more secure. Dois tipos de controle de acesso têm suporte para clientes que se conectam a um cluster: Função de administrador e função de usuário.Two access control types are supported for clients that connect to a cluster: Administrator role and User role.

Para saber mais, confira o item sobre o Controle de Acesso Baseado em Função (RBAC) do Service Fabric.For more information, read Service Fabric Role-Based Access Control (RBAC).

Grupos de segurança de redeNetwork security groups

Grupos de segurança de rede (NSGs) controlam o tráfego de entrada e de saída de uma sub-rede, VM ou NIC específica.Network security groups (NSGs) control inbound and outbound traffic of a subnet, VM, or specific NIC. Por padrão, quando várias VMs são colocadas na mesma rede virtual, elas podem se comunicar entre si por meio de qualquer porta.By default, when multiple VMs are put on the same virtual network they can communicate with each other through any port. Se quiser restringir a comunicação entre as máquinas, é possível definir os NSGs para segmentar a rede ou isolar as VMs umas das outras.If you want to constrain communications among the machines you can define NSGs to segment the network or isolate VMs from each other. Se tiver vários tipos de nó em um cluster, é possível aplicar os NSGs a sub-redes para impedir que as máquinas que pertencem a diferentes tipos de nó se comuniquem entre si.If you have multiple node types in a cluster, you can apply NSGs to subnets to prevent machines belonging to different node types from communicating with each other.

Para saber mais, confira o artigo sobre os Grupos de segurançaFor more information, read about security groups

DimensionamentoScaling

As demandas de aplicativos alteram ao longo do tempo.Application demands change over time. Talvez seja necessário aumentar os recursos de cluster para atender ao aumento do tráfego ou de carga de trabalho do aplicativo ou diminuir os recursos de cluster quando houver queda de demanda.You may need to increase cluster resources to meet increased application workload or network traffic or decrease cluster resources when demand drops. Após criar um cluster do Service Fabric, será possível dimensionar o cluster horizontalmente (alterar o número de nós) ou verticalmente (alterar os recursos dos nós).After creating a Service Fabric cluster, you can scale the cluster horizontally (change the number of nodes) or vertically (change the resources of the nodes). É possível dimensionar o cluster a qualquer momento, mesmo quando as cargas de trabalho estiverem em execução no cluster.You can scale the cluster at any time, even when workloads are running on the cluster. Na medida em que o cluster for dimensionado, os aplicativos também serão dimensionados automaticamente.As the cluster scales, your applications automatically scale as well.

Para saber mais, confira o artigo sobre o Dimensionamento de clusters do Azure.For more information, read Scaling Azure clusters.

AtualizandoUpgrading

Um cluster do Azure Service Fabric é um recurso cujo proprietário é você, mas que é parcialmente gerenciado pela Microsoft.An Azure Service Fabric cluster is a resource that you own, but is partly managed by Microsoft. A Microsoft é responsável por aplicar patch ao sistema operacional subjacente e realizar atualizações de tempo de execução do Service Fabric em seu cluster.Microsoft is responsible for patching the underlying OS and performing Service Fabric runtime upgrades on your cluster. É possível definir que seu cluster receba atualizações automáticas de tempo de atualização quando a Microsoft lançar uma nova versão ou é possível optar por selecionar uma versão de tempo de execução com suporte que você queira.You can set your cluster to receive automatic runtime upgrades, when Microsoft releases a new version, or choose to select a supported runtime version that you want. Além das atualizações de tempo de execução, também é possível atualizar a configuração do cluster, como certificados ou portas de aplicativo.In addition to runtime upgrades, you can also update cluster configuration such as certificates or application ports.

Para saber mais, leia Upgrade de clusters.For more information, read Upgrading clusters.

Sistemas operacionais com suporteSupported operating systems

É possível criar clusters em máquinas virtuais que executem estes sistemas operacionais:You are able to create clusters on virtual machines running these operating systems:

  • Windows Server 2012 R2Windows Server 2012 R2
  • Windows Server 2016Windows Server 2016
  • Windows Server 1709Windows Server 1709
  • Windows Server 1803Windows Server 1803
  • Linux Ubuntu 16.04Linux Ubuntu 16.04
  • Red Hat Enterprise Linux 7.4 (suporte da versão prévia)Red Hat Enterprise Linux 7.4 (preview support)

Observação

Se você decidir implantar o Service Fabric no Windows Server 1709, note que (1) ele não é um branch de manutenção de longo prazo, então, talvez será necessário mover versões futuramente, e (2) se você implantar contêineres, os contêineres compilados no Windows Server 2016 não funcionarão no Windows Server 1709 e vice-versa (será necessário recompilar para implementá-los).If you decide to deploy Service Fabric on Windows Server 1709, please note that (1) it is not a long term servicing branch, so you may have to move versions in the future, and (2) if you deploy containers, containers built on Windows Server 2016 do not work on Windows Server 1709, and vice versa (you will have to rebuild them to deploy them).

Próximas etapasNext steps

Saiba mais sobre como proteger, dimensionar e fazer upgrade de clusters do Azure.Read more about securing, scaling, and upgrading Azure clusters.

Saiba mais sobre as opções de suporte do Service Fabric.Learn about Service Fabric support options.