Lista de verificação de resiliência para serviços específicos do AzureResiliency checklist for specific Azure services

Resiliência é a capacidade de um sistema em recuperar de falhas e continuar a funcionar, e é uma da pilares de qualidade de software.Resiliency is the ability of a system to recover from failures and continue to function, and is one of the pillars of software quality. Cada tecnologia possui seus próprio modos de falha específico, o que é necessário considerar ao projetar e implementar a sua aplicação.Every technology has its own particular failure modes, which you must consider when designing and implementing your application. Utilize esta lista de verificação para rever as considerações de resiliência para serviços específicos do Azure.Use this checklist to review the resiliency considerations for specific Azure services. Reveja também os lista de verificação de resiliência geral.Also review the general resiliency checklist.

Serviço de AplicaçõesApp Service

Utilize o escalão Standard ou Premium.Use Standard or Premium tier. Estas camadas suportam blocos de teste e cópias de segurança automatizadas.These tiers support staging slots and automated backups. Para obter mais informações, consulte descrição geral aprofundada dos planos do App Service do AzureFor more information, see Azure App Service plans in-depth overview

Evite a aumentar ou reduzir verticalmente.Avoid scaling up or down. Em vez disso, selecione um escalão e o tamanho da instância que satisfazem os requisitos de desempenho sob uma carga típica, e, em seguida aumentar horizontalmente as instâncias para processar as alterações no volume de tráfego.Instead, select a tier and instance size that meet your performance requirements under typical load, and then scale out the instances to handle changes in traffic volume. Dimensionamento e reduzir verticalmente poderão acionar um reinício da aplicação.Scaling up and down may trigger an application restart.

Store configuração como definições da aplicação.Store configuration as app settings. Utilize as definições da aplicação para manter as definições de configuração como definições da aplicação.Use app settings to hold configuration settings as app settings. Defina as definições de modelos do Resource Manager ou com o PowerShell, para que pode aplicá-las como parte de uma implementação automatizada / atualizar o processo, o que é mais fiável.Define the settings in your Resource Manager templates, or using PowerShell, so that you can apply them as part of an automated deployment / update process, which is more reliable. Para obter mais informações, consulte configurar aplicações web no App Service do Azure.For more information, see Configure web apps in Azure App Service.

Crie planos de serviço de aplicações separados para a produção e teste.Create separate App Service plans for production and test. Não utilize os blocos na implementação de produção para fins de teste.Don't use slots on your production deployment for testing. Todas as aplicações no mesmo plano de serviço de aplicações partilham as mesmas instâncias VM.All apps within the same App Service plan share the same VM instances. Se colocar de produção e implementações de teste no mesmo plano, pode afetar negativamente a implementação de produção.If you put production and test deployments in the same plan, it can negatively affect the production deployment. Por exemplo, os testes de carga podem diminuir o site de produção em direto.For example, load tests might degrade the live production site. Ao colocar as implementações de teste num plano separado, isolá-las da versão de produção.By putting test deployments into a separate plan, you isolate them from the production version.

De aplicativos web separados de web APIs.Separate web apps from web APIs. Se a sua solução tem um front-end da web e uma API web, considere decompor-los em aplicações de serviço de aplicações separadas.If your solution has both a web front-end and a web API, consider decomposing them into separate App Service apps. Esse design torna mais fácil para decompor a solução por carga de trabalho.This design makes it easier to decompose the solution by workload. Pode executar a aplicação web e a API em planos separados do serviço de aplicações, para que eles podem ser dimensionados de forma independente.You can run the web app and the API in separate App Service plans, so they can be scaled independently. Se não precisar desse nível de escalabilidade em primeiro lugar, pode implementar as aplicações no mesmo plano e movê-las para planos separados posteriormente, se necessário.If you don't need that level of scalability at first, you can deploy the apps into the same plan, and move them into separate plans later, if needed.

Evite utilizar a funcionalidade de cópia de segurança do serviço de aplicações para fazer cópias de segurança de bases de dados SQL do Azure.Avoid using the App Service backup feature to back up Azure SQL databases. Em alternativa, utilize cópias de segurança automatizadas de base de dados SQL.Instead, use SQL Database automated backups. Cópia de segurança do serviço de aplicações exporta a base de dados para um ficheiro. bacpac do SQL que custa DTUs.App Service backup exports the database to a SQL .bacpac file, which costs DTUs.

Implemente um bloco de teste.Deploy to a staging slot. Crie um bloco de implementação para preparação.Create a deployment slot for staging. Implementar atualizações de aplicativos para o bloco de teste e verificar a implementação antes de colocar em produção.Deploy application updates to the staging slot, and verify the deployment before swapping it into production. Isso reduz a possibilidade de uma atualização incorreta na produção.This reduces the chance of a bad update in production. Também garante que todas as instâncias são preparadas antes de serem colocadas em produção.It also ensures that all instances are warmed up before being swapped into production. Muitos aplicativos têm um aquecimento significativo e o tempo de arranque a frio.Many applications have a significant warmup and cold-start time. Para obter mais informações, consulte configurar ambientes de teste para aplicações web no App Service do Azure.For more information, see Set up staging environments for web apps in Azure App Service.

Crie um bloco de implementação para manter a implementação da última boa conhecida (LKG).Create a deployment slot to hold the last-known-good (LKG) deployment. Ao implementar uma atualização para a produção, mova a implementação de produção anterior para a ranhura LKG.When you deploy an update to production, move the previous production deployment into the LKG slot. Isto torna mais fácil reverter uma implementação incorreta.This makes it easier to roll back a bad deployment. Se detetar um problema posteriormente, poderá rapidamente reverter para a versão LKG.If you discover a problem later, you can quickly revert to the LKG version. Para obter mais informações, consulte aplicação web básica.For more information, see Basic web application.

Ativar registo de diagnósticos, incluindo o registo de aplicações e de registo do servidor web.Enable diagnostics logging, including application logging and web server logging. O registo é importante para monitorização e diagnóstico.Logging is important for monitoring and diagnostics. Consulte ativar o registo de diagnóstico para aplicações web no App Service do AzureSee Enable diagnostics logging for web apps in Azure App Service

Registo de armazenamento de Blobs.Log to blob storage. Isto torna mais fácil recolher e analisar os dados.This makes it easier to collect and analyze the data.

Crie uma conta de armazenamento separada para os registos.Create a separate storage account for logs. Não utilize a mesma conta de armazenamento para registos e os dados da aplicação.Don't use the same storage account for logs and application data. Isto ajuda a impedir que o Registro em log a redução do desempenho de aplicações.This helps to prevent logging from reducing application performance.

Monitorizar o desempenho.Monitor performance. Utilize um como o serviço de monitorização de desempenho New Relic ou Application Insights para monitorizar o desempenho do aplicativo e o comportamento sob carga.Use a performance monitoring service such as New Relic or Application Insights to monitor application performance and behavior under load. Monitorização do desempenho dá-lhe informações em tempo real no aplicativo.Performance monitoring gives you real-time insight into the application. Permite-lhe diagnosticar problemas e realizar análises de causa de falhas.It enables you to diagnose issues and perform root-cause analysis of failures.

Gateway de AplicaçãoApplication Gateway

Aprovisione, pelo menos, duas instâncias.Provision at least two instances. Implemente o Gateway de aplicação com, pelo menos, duas instâncias.Deploy Application Gateway with at least two instances. Uma única instância é um ponto único de falha.A single instance is a single point of failure. Utilize duas ou mais instâncias para escalabilidade e redundância.Use two or more instances for redundancy and scalability. Para se qualificar para o SLA, terá de aprovisionar duas ou mais instâncias médias ou grandes.In order to qualify for the SLA, you must provision two or more medium or larger instances.

BD do CosmosCosmos DB

Replicar a base de dados em várias regiões.Replicate the database across regions. O cosmos DB permite-lhe associar qualquer número de regiões do Azure com uma conta de base de dados do Cosmos DB.Cosmos DB allows you to associate any number of Azure regions with a Cosmos DB database account. Uma base de dados do Cosmos DB pode ter a região de escrita de uma e várias regiões de leitura.A Cosmos DB database can have one write region and multiple read regions. Se houver uma falha na região de escrita, pode ler a partir de outra réplica.If there is a failure in the write region, you can read from another replica. O SDK do cliente lida com isso automaticamente.The Client SDK handles this automatically. Também pode efetuar a ativação pós-falha a região de escrita para outra região.You can also fail over the write region to another region. Para obter mais informações, consulte como distribuir dados globalmente com o Azure Cosmos DB.For more information, see How to distribute data globally with Azure Cosmos DB.

Hubs de EventosEvent Hubs

Utilizar pontos de verificação.Use checkpoints. Um consumidor de eventos deve gravar sua posição atual no armazenamento persistente algumas intervalo predefinido.An event consumer should write its current position to persistent storage at some predefined interval. Dessa forma, se o consumidor sofrer uma falha (por exemplo, as falhas de consumidor ou a falha de anfitrião), em seguida, uma nova instância pode retomar a ler o fluxo da última posição gravada.That way, if the consumer experiences a fault (for example, the consumer crashes, or the host fails), then a new instance can resume reading the stream from the last recorded position. Para obter mais informações, consulte consumidores de eventos.For more information, see Event consumers.

Lidar com mensagens duplicadas.Handle duplicate messages. Se falhar um consumidor de eventos, processamento de mensagens é retomado a partir do último ponto de verificação gravado.If an event consumer fails, message processing is resumed from the last recorded checkpoint. Todas as mensagens que já foram processadas após o último ponto de verificação serão processadas novamente.Any messages that were already processed after the last checkpoint will be processed again. Portanto, sua lógica de processamento de mensagem deve ser idempotentes, ou a aplicação tem de poder eliminar duplicados no mensagens.Therefore, your message processing logic must be idempotent, or the application must be able to deduplicate messages.

Lidar com exceções. .Handle exceptions.. Um consumidor de eventos, normalmente, processa um lote de mensagens num loop.An event consumer typically processes a batch of messages in a loop. Deve lidar com exceções dentro desse loop de processamento para evitar perder um lote inteiro de mensagens, se uma única mensagem faz com que uma exceção.You should handle exceptions within this processing loop to avoid losing an entire batch of messages if a single message causes an exception.

Utilize uma fila de mensagens não entregues.Use a dead-letter queue. Se o processamento de uma mensagem de resulta numa falha de não transitórias, coloca a mensagem para uma fila de mensagens não entregues, para que pode controlar o estado.If processing a message results in a non-transient failure, put the message onto a dead-letter queue, so that you can track the status. Dependendo do cenário, poderá repetir a mensagem mais tarde, aplicam-se uma transação de compensação ou fazer qualquer outra ação.Depending on the scenario, you might retry the message later, apply a compensating transaction, or take some other action. Tenha em atenção que os Hubs de eventos não tem nenhuma funcionalidade de fila de mensagens não entregues interna.Note that Event Hubs does not have any built-in dead-letter queue functionality. Pode utilizar o armazenamento de filas do Azure ou do Service Bus para implementar uma fila de mensagens não entregues, ou utilizar as funções do Azure ou algum outro mecanismo de eventos.You can use Azure Queue Storage or Service Bus to implement a dead-letter queue, or use Azure Functions or some other eventing mechanism.

Implementar a recuperação após desastre ao realizar a ativação pós-falha para um espaço de nomes de Hubs de eventos secundário.Implement disaster recovery by failing over to a secondary Event Hubs namespace. Para obter mais informações, consulte recuperação de desastre geográfico dos Hubs de eventos do Azure.For more information, see Azure Event Hubs Geo-disaster recovery.

Cache de RedisRedis Cache

Configurar georreplicação.Configure Geo-replication. Replicação geográfica fornece um mecanismo para ligar duas instâncias de Cache de Redis do Azure de escalão Premium.Geo-replication provides a mechanism for linking two Premium tier Azure Redis Cache instances. Dados escritos na cache principal são replicados para uma cache só de leitura secundária.Data written to the primary cache is replicated to a secondary read-only cache. Para obter mais informações, consulte como configurar a georreplicação para a Cache de Redis do AzureFor more information, see How to configure Geo-replication for Azure Redis Cache

Configure a persistência de dados.Configure data persistence. A persistência de redis permite-lhe manter os dados armazenados no Redis.Redis persistence allows you to persist data stored in Redis. Também pode criar instantâneos e fazer backup dos dados, o que poderá carregar em caso de falha de hardware.You can also take snapshots and back up the data, which you can load in case of a hardware failure. Para obter mais informações, consulte como configurar a persistência de dados para uma Cache de Redis do Azure PremiumFor more information, see How to configure data persistence for a Premium Azure Redis Cache

Se estiver a utilizar a Cache de Redis como uma cache de dados temporário e não como um armazenamento persistente, estas recomendações não podem ser aplicadas.If you are using Redis Cache as a temporary data cache and not as a persistent store, these recommendations may not apply.

Aprovisione mais do que uma réplica.Provision more than one replica. Utilize, pelo menos, duas réplicas para leitura de elevada disponibilidade ou três para elevada disponibilidade de leitura / escrita.Use at least two replicas for read high-availability, or three for read-write high-availability.

Configure os indexados para implementações em várias regiões.Configure indexers for multi-region deployments. Se tiver uma implementação em várias regiões, considere as suas opções de continuidade na indexação.If you have a multi-region deployment, consider your options for continuity in indexing.

  • Se a origem de dados for georreplicado, geralmente deve apontar o cada indexador de cada serviço regional do Azure Search à sua réplica da origem de dados local.If the data source is geo-replicated, you should generally point each indexer of each regional Azure Search service to its local data source replica. No entanto, essa abordagem não é recomendada para grandes conjuntos de dados armazenados na base de dados do Azure SQL.However, that approach is not recommended for large datasets stored in Azure SQL Database. O motivo é que o Azure Search não é possível executar a indexação incremental de réplicas de base de dados SQL secundárias, apenas a partir de réplicas primárias.The reason is that Azure Search cannot perform incremental indexing from secondary SQL Database replicas, only from primary replicas. Em vez disso, do ponto de todos os indexadores para a réplica primária.Instead, point all indexers to the primary replica. Após uma ativação pós-falha, aponte os indexadores do Azure Search para a nova réplica primária.After a failover, point the Azure Search indexers at the new primary replica.

  • Se a origem de dados não for georreplicado, ponto de vários indexadores na mesma origem de dados, para que os serviços do Azure Search em várias regiões continuamente e independente de índice da origem de dados.If the data source is not geo-replicated, point multiple indexers at the same data source, so that Azure Search services in multiple regions continuously and independently index from the data source. Para obter mais informações, consulte considerações de desempenho e Otimização da Azure Search.For more information, see Azure Search performance and optimization considerations.

Service BusService Bus

Escalão Premium de utilização para cargas de trabalho de produção.Use Premium tier for production workloads. Mensagens do Service Bus Premium fornece recursos de processamento dedicado e reservada e a capacidade de memória para suportar um desempenho previsível e débito.Service Bus Premium Messaging provides dedicated and reserved processing resources, and memory capacity to support predictable performance and throughput. O escalão Premium das mensagens também lhe dá acesso aos novos recursos que estão disponíveis apenas para clientes de premium em primeiro lugar.Premium Messaging tier also gives you access to new features that are available only to premium customers at first. Pode decidir o número de unidades de mensagens com base em cargas de trabalho esperadas.You can decide the number of messaging units based on expected workloads.

Lidar com mensagens duplicadas.Handle duplicate messages. Se um publicador falha imediatamente depois de enviar uma mensagem ou apresentar problemas de rede ou sistema, poderá falhar incorretamente registar que a mensagem foi entregue e pode enviar a mesma mensagem ao sistema duas vezes.If a publisher fails immediately after sending a message, or experiences network or system issues, it may erroneously fail to record that the message was delivered, and may send the same message to the system twice. Barramento de serviço pode processar este problema, Ativando a deteção de duplicados.Service Bus can handle this issue by enabling duplicate detection. Para obter mais informações, consulte duplicar deteção.For more information, see Duplicate detection.

Lidar com exceções.Handle exceptions. As APIs de mensagens geram exceções quando um erro de utilizador, erro de configuração ou outro erro ocorre.Messaging APIs generate exceptions when a user error, configuration error, or other error occurs. O código de cliente (remetentes e recetores) deve manipular essas exceções em seu código.The client code (senders and receivers) should handle these exceptions in their code. Isso é especialmente importante no processamento de lotes, em que a manipulação de exceção pode ser utilizada para evitar a perda de um lote inteiro de mensagens.This is especially important in batch processing, where exception handling can be used to avoid losing an entire batch of messages. Para obter mais informações, consulte exceções de mensagens do Service Bus.For more information, see Service Bus messaging exceptions.

Política de repetição.Retry policy. Do Service Bus permite-lhe escolher a melhor política de repetição para as suas aplicações.Service Bus allows you to pick the best retry policy for your applications. A política predefinida é permitir que o máximo de 9 tentativas de repetição e aguarde 30 segundos, mas isso pode ser ainda mais ajustado.The default policy is to allow 9 maximum retry attempts, and wait for 30 seconds but this can be further adjusted. Para obter mais informações, consulte política – do Service Bus de repetição.For more information, see Retry policy – Service Bus.

Utilizar uma fila de mensagens não entregues.Use a dead-letter queue. Se uma mensagem não pode ser processada ou entregues a qualquer recetor após várias tentativas, é movido para uma fila de entregues.If a message cannot be processed or delivered to any receiver after multiple retries, it is moved to a dead letter queue. Implemente um processo para ler mensagens da fila entregues, Inspecione-los e corrigir o problema.Implement a process to read messages from the dead letter queue, inspect them, and remediate the problem. Dependendo do cenário, poderá repetir a mensagem como-é, fazer alterações e tente novamente ou descartar a mensagem.Depending on the scenario, you might retry the message as-is, make changes and retry, or discard the message. Para obter mais informações, consulte filas de mensagens não entregues de descrição geral do Service Bus.For more information, see Overview of Service Bus dead-letter queues.

Utilizar a recuperação após desastre geográfico.Use Geo-Disaster Recovery. Recuperação após desastre geográfico garante que o processamento de dados continua a funcionar numa região diferente ou o Centro de dados, se uma região do Azure inteira ou o datacenter ficar indisponível devido a um desastre.Geo-disaster recovery ensures that data processing continues to operate in a different region or datacenter if an entire Azure region or datacenter becomes unavailable due to a disaster. Para obter mais informações, consulte recuperação de desastre geográfico de Azure Service Bus.For more information, see Azure Service Bus Geo-disaster recovery.

ArmazenamentoStorage

Para dados de aplicação, utilize o armazenamento georredundante com acesso de leitura (RA-GRS).For application data, use read-access geo-redundant storage (RA-GRS). O armazenamento RA-GRS replica os dados para uma região secundária e fornece acesso só de leitura da região secundária.RA-GRS storage replicates the data to a secondary region, and provides read-only access from the secondary region. Se houver uma falha no armazenamento na região primária, o aplicativo pode ler os dados da região secundária.If there is a storage outage in the primary region, the application can read the data from the secondary region. Para obter mais informações, consulte replicação de armazenamento do Azure.For more information, see Azure Storage replication.

Para discos VM, utilize o Managed Disks.For VM disks, use Managed Disks. [Discos geridos] managed-disks proporcionam uma melhor fiabilidade para VMs num conjunto de disponibilidade, porque os discos são suficientemente isolados uns dos outros para evitar pontos únicos de falha.Managed Disks provide better reliability for VMs in an availability set, because the disks are sufficiently isolated from each other to avoid single points of failure. Além disso, o Managed Disks não estão sujeitas a limites de IOPS de VHDs criados numa conta de armazenamento.Also, Managed Disks aren't subject to the IOPS limits of VHDs created in a storage account. Para obter mais informações, consulte gerir a disponibilidade das máquinas de virtuais do Windows no Azure.For more information, see Manage the availability of Windows virtual machines in Azure.

Para armazenamento de filas, crie uma fila de cópia de segurança noutra região.For Queue storage, create a backup queue in another region. Para armazenamento de filas, uma réplica só de leitura limitou o uso, porque não é possível colocar em fila ou remover da fila de itens.For Queue storage, a read-only replica has limited use, because you can't queue or dequeue items. Em vez disso, crie uma fila de cópia de segurança numa conta de armazenamento noutra região.Instead, create a backup queue in a storage account in another region. Se houver uma falha no armazenamento, a aplicação pode utilizar a fila de cópia de segurança, até que a região primária fique disponível novamente.If there is a storage outage, the application can use the backup queue, until the primary region becomes available again. Dessa forma, o aplicativo ainda pode processar novos pedidos.That way, the application can still process new requests.

SQL DatabaseSQL Database

Utilize o escalão Standard ou Premium.Use Standard or Premium tier. Estes escalões oferecem um ponto de restauro de ponto no tempo mais (35 dias).These tiers provide a longer point-in-time restore period (35 days). Para obter mais informações, consulte opções de base de dados SQL e o desempenho.For more information, see SQL Database options and performance.

Ative a auditoria de base de dados SQL.Enable SQL Database auditing. A auditoria pode ser utilizada para diagnosticar o erro humano ou de ataques maliciosos.Auditing can be used to diagnose malicious attacks or human error. Para obter mais informações, consulte introdução à auditoria da base de dados SQL.For more information, see Get started with SQL database auditing.

Utilizar a Georreplicação ativa utilização Georreplicação ativa para criar uma base secundária legível numa região diferente.Use Active Geo-Replication Use Active Geo-Replication to create a readable secondary in a different region. Se a sua base de dados primária falhar, ou simplesmente precisam de ser colocada offline, execute uma ativação pós-falha manual para a base de dados secundário.If your primary database fails, or simply needs to be taken offline, perform a manual failover to the secondary database. Até que a ativação pós-falha, a base de dados secundária permanece só de leitura.Until you fail over, the secondary database remains read-only. Para obter mais informações, consulte SQL da base de dados-Georreplicação ativa.For more information, see SQL Database Active Geo-Replication.

Utilize a fragmentação.Use sharding. Considere a utilização de fragmentação para a partição horizontal da base de dados.Consider using sharding to partition the database horizontally. A fragmentação pode fornecer isolamento de falhas.Sharding can provide fault isolation. Para obter mais informações, consulte aumentar horizontalmente com a base de dados do Azure SQL.For more information, see Scaling out with Azure SQL Database.

Utilize o restauro de ponto no tempo para recuperar de erros humanos.Use point-in-time restore to recover from human error. Restauro de ponto no tempo devolve a base de dados para um ponto anterior no tempo.Point-in-time restore returns your database to an earlier point in time. Para obter mais informações, consulte recuperar uma base de dados SQL do Azure com cópias de segurança da base de dados automatizada.For more information, see Recover an Azure SQL database using automated database backups.

Utilize o restauro geográfico para recuperar a partir de uma indisponibilidade do serviço.Use geo-restore to recover from a service outage. O restauro geográfico restaura uma base de dados a partir de uma cópia de segurança georredundante.Geo-restore restores a database from a geo-redundant backup. Para obter mais informações, consulte recuperar uma base de dados SQL do Azure com cópias de segurança da base de dados automatizada.For more information, see Recover an Azure SQL database using automated database backups.

SQL Data WarehouseSQL Data Warehouse

Não desative a cópia de segurança geo.Do not disable geo-backup. Por predefinição, SQL Data Warehouse assume um inteiro cópia de segurança dos seus dados para recuperação após desastre a cada 24 horas.By default, SQL Data Warehouse takes a full backup of your data every 24 hours for disaster recovery. Não é recomendado desativar esta funcionalidade.It is not recommended to turn this feature off. Para obter mais informações, consulte cópias de segurança Geo.For more information, see Geo-backups.

SQL Server em execução numa VMSQL Server running in a VM

Replicar a base de dados.Replicate the database. Utilize o SQL Server grupos de Disponibilidade AlwaysOn para replicar a base de dados.Use SQL Server Always On Availability Groups to replicate the database. Fornece elevada disponibilidade se falhar de uma instância do SQL Server.Provides high availability if one SQL Server instance fails. Para obter mais informações, consulte executar VMs do Windows para uma aplicação de N camadasFor more information, see Run Windows VMs for an N-tier application

Cópia de segurança da base de dados.Back up the database. Se já estiver a utilizar Azure Backup para criar cópias de segurança as suas VMs, considere usar cópia de segurança do Azure para cargas de trabalho do SQL Server com o DPM.If you are already using Azure Backup to back up your VMs, consider using Azure Backup for SQL Server workloads using DPM. Com esta abordagem, existe uma função de administrador de cópias de segurança para a organização e um procedimento de recuperação unificada para VMs e o SQL Server.With this approach, there is one backup administrator role for the organization and a unified recovery procedure for VMs and SQL Server. Caso contrário, utilize SQL Server cópia de segurança gerida para o Microsoft Azure.Otherwise, use SQL Server Managed Backup to Microsoft Azure.

Gestor de TráfegoTraffic Manager

Efetue a reativação pós-falha manual.Perform manual failback. Após uma ativação pós-falha do Gestor de tráfego, efetuar a reativação pós-falha manual, em vez de automaticamente a reativação pós-falha.After a Traffic Manager failover, perform manual failback, rather than automatically failing back. Antes da reativação pós-falha, certifique-se de que todos os subsistemas da aplicação estão em bom Estados.Before failing back, verify that all application subsystems are healthy. Caso contrário, pode criar uma situação em que o aplicativo gira e volta entre centros de dados.Otherwise, you can create a situation where the application flips back and forth between data centers. Para obter mais informações, consulte executar VMs em várias regiões para elevada disponibilidade.For more information, see Run VMs in multiple regions for high availability.

Crie um ponto de final de sonda de estado de funcionamento.Create a health probe endpoint. Crie um ponto final personalizado que relate o estado de funcionamento geral do aplicativo.Create a custom endpoint that reports on the overall health of the application. Isto permite que o Gestor de tráfego para a ativação pós-falha, se falhar de qualquer caminho crítico, não apenas o front-end.This enables Traffic Manager to fail over if any critical path fails, not just the front end. O ponto final deverá devolver um código de erro HTTP, se qualquer dependência essencial está danificada ou inacessível.The endpoint should return an HTTP error code if any critical dependency is unhealthy or unreachable. Não comunicar os erros para os serviços não críticas, no entanto.Don't report errors for non-critical services, however. Caso contrário, a sonda de estado de funcionamento pode acionar a ativação pós-falha quando não for necessário, a criação de falsos positivos.Otherwise, the health probe might trigger failover when it's not needed, creating false positives. Para obter mais informações, consulte monitorização de pontos finais do Gestor de tráfego e de ativação pós-falha.For more information, see Traffic Manager endpoint monitoring and failover.

Virtual MachinesVirtual Machines

Evite a execução de uma carga de trabalho de produção numa única VM.Avoid running a production workload on a single VM. Não é resiliente a manutenção planeada ou uma implementação de VM única.A single VM deployment is not resilient to planned or unplanned maintenance. Em vez disso, coloque várias VMs num conjunto de disponibilidade ou conjunto de dimensionamento VM, com um balanceador de carga à frente.Instead, put multiple VMs in an availability set or VM scale set, with a load balancer in front.

Especifique um conjunto quando aprovisionar a VM de disponibilidade.Specify an availability set when you provision the VM. Atualmente, não é possível adicionar uma VM a um conjunto de disponibilidade depois a VM está aprovisionada.Currently, there is no way to add a VM to an availability set after the VM is provisioned. Quando adiciona uma nova VM a um de disponibilidade existente definido, certificar-se de que crie um NIC da VM e adicionar o NIC para o conjunto de endereços de back-end no balanceador de carga.When you add a new VM to an existing availability set, make sure to create a NIC for the VM, and add the NIC to the back-end address pool on the load balancer. Caso contrário, o Balanceador de carga não encaminha o tráfego de rede para essa VM.Otherwise, the load balancer won't route network traffic to that VM.

Coloque cada camada de aplicativos num conjunto de disponibilidade separados.Put each application tier into a separate Availability Set. Num aplicativo de N camadas, não coloque as VMs de diferentes camadas para o mesmo conjunto de disponibilidade.In an N-tier application, don't put VMs from different tiers into the same availability set. As VMs num conjunto de disponibilidade são colocadas em domínios de falha (FDs) e domínios (UD) de atualização.VMs in an availability set are placed across fault domains (FDs) and update domains (UD). No entanto, para obter o benefício de redundância de domínios de falha e domínios de atualização, todas as VMS num conjunto de disponibilidade tem de ser capaz de lidar com os mesmos pedidos de cliente.However, to get the redundancy benefit of FDs and UDs, every VM in the availability set must be able to handle the same client requests.

Replicar VMs com o Azure Site Recovery.Replicate VMs using Azure Site Recovery. Quando replicar VMs do Azure com Site Recovery, todos os discos VM continuamente são replicados para a região de destino forma assíncrona.When you replicate Azure VMs using Site Recovery, all the VM disks are continuously replicated to the target region asynchronously. Os pontos de recuperação são criados os intervalos de poucos minutos.The recovery points are created every few minutes. Isto dá-lhe um objetivo de ponto de recuperação (RPO) na ordem de minutos.This gives you a Recovery Point Objective (RPO) in the order of minutes. Pode realizar testes de recuperação após desastre quantas vezes desejar, sem afetar o aplicativo de produção ou a replicação contínua.You can conduct disaster recovery drills as many times as you want, without impacting the production application or the ongoing replication. Para obter mais informações, consulte executar um teste de recuperação após desastre para o Azure.For more information, see Run a disaster recovery drill to Azure.

Escolha o tamanho VM correto com base nos requisitos de desempenho.Choose the right VM size based on performance requirements. Ao mover uma carga de trabalho existente para o Azure, comece com o tamanho da VM que melhor corresponda aos seus servidores no local.When moving an existing workload to Azure, start with the VM size that's the closest match to your on-premises servers. Em seguida, medir o desempenho da carga de trabalho real em relação à CPU, memória e disco IOPS e ajustar o tamanho, caso seja necessário.Then measure the performance of your actual workload with respect to CPU, memory, and disk IOPS, and adjust the size if needed. Isto ajuda a garantir que o aplicativo se comporta conforme o esperado num ambiente de cloud.This helps to ensure the application behaves as expected in a cloud environment. Além disso, se tiver várias NICs, tenha em atenção o limite NIC para cada tamanho.Also, if you need multiple NICs, be aware of the NIC limit for each size.

Utilize discos geridos para VHDs.Use Managed Disks for VHDs. [Discos geridos] managed-disks proporcionam uma melhor fiabilidade para VMs num conjunto de disponibilidade, porque os discos são suficientemente isolados uns dos outros para evitar pontos únicos de falha.Managed Disks provide better reliability for VMs in an availability set, because the disks are sufficiently isolated from each other to avoid single points of failure. Além disso, o Managed Disks não estão sujeitas a limites de IOPS de VHDs criados numa conta de armazenamento.Also, Managed Disks aren't subject to the IOPS limits of VHDs created in a storage account. Para obter mais informações, consulte gerir a disponibilidade das máquinas de virtuais do Windows no Azure.For more information, see Manage the availability of Windows virtual machines in Azure.

Instale aplicações num disco de dados, não o disco do SO.Install applications on a data disk, not the OS disk. Caso contrário, pode atingir o limite de tamanho de disco.Otherwise, you may reach the disk size limit.

Utilize o Azure Backup para fazer uma cópia de segurança de VMs.Use Azure Backup to back up VMs. Cópias de segurança de proteção contra perda acidental de dados.Backups protect against accidental data loss. Para obter mais informações, consulte proteger VMs do Azure com um cofre dos serviços de recuperação.For more information, see Protect Azure VMs with a recovery services vault.

Ativar registos de diagnóstico, incluindo métricas de estado de funcionamento básico, registos de infraestrutura, e diagnósticos de arranque.Enable diagnostic logs, including basic health metrics, infrastructure logs, and boot diagnostics. Diagnóstico de arranque pode ajudá-lo a diagnosticar uma falha de inicialização, se a VM num Estado de não arranque.Boot diagnostics can help you diagnose a boot failure if your VM gets into a non-bootable state. Para obter mais informações, consulte descrição geral do Azure os registos de diagnóstico.For more information, see Overview of Azure Diagnostic Logs.

Utilize a extensão de AzureLogCollector.Use the AzureLogCollector extension. (Apenas VMs Windows.) Esta extensão agrega registos da plataforma do Azure e carrega-os para o armazenamento do Azure, sem o operador de registo remotamente na VM.(Windows VMs only.) This extension aggregates Azure platform logs and uploads them to Azure storage, without the operator remotely logging into the VM. Para obter mais informações, consulte AzureLogCollector extensão.For more information, see AzureLogCollector Extension.

Rede VirtualVirtual Network

A lista de permissões ou bloco de endereços IP públicos, adicione um NSG à sub-rede.To whitelist or block public IP addresses, add an NSG to the subnet. Bloquear o acesso de utilizadores mal intencionados ou permitir o acesso apenas a partir de utilizadores que têm privilégios para aceder à aplicação.Block access from malicious users, or allow access only from users who have privilege to access the application.

Crie uma sonda de estado de funcionamento personalizados.Create a custom health probe. Sondas de estado de funcionamento de Balanceador de carga podem testar HTTP ou TCP.Load Balancer Health Probes can test either HTTP or TCP. Se uma VM é executado um servidor HTTP, a sonda HTTP é um melhor indicador de estado de funcionamento do que uma sonda TCP.If a VM runs an HTTP server, the HTTP probe is a better indicator of health status than a TCP probe. Para uma sonda HTTP, utilize um ponto final personalizado que comunica o estado de funcionamento geral da aplicação, incluindo todas as dependências críticas.For an HTTP probe, use a custom endpoint that reports the overall health of the application, including all critical dependencies. Para obter mais informações, consulte descrição geral do Balanceador de carga do Azure.For more information, see Azure Load Balancer overview.

Não bloqueiam a sonda de estado de funcionamento.Don't block the health probe. A sonda de estado de funcionamento de Balanceador de carga é enviada de um endereço IP conhecido, 168.63.129.16.The Load Balancer Health probe is sent from a known IP address, 168.63.129.16. Não bloqueiam o tráfego de ou para este IP nas políticas de firewall ou regras de grupo (NSG) de segurança de rede.Don't block traffic to or from this IP in any firewall policies or network security group (NSG) rules. Bloquear a sonda de estado de funcionamento faria com que o Balanceador de carga remover a VM de rotação.Blocking the health probe would cause the load balancer to remove the VM from rotation.

Ative o registo de Balanceador de carga.Enable Load Balancer logging. Os registos mostram o número de VMs no back-end não estão a receber o tráfego de rede devido a respostas de sonda com falha.The logs show how many VMs on the back-end are not receiving network traffic due to failed probe responses. Para obter mais informações, consulte do Log analytics para o Azure Load Balancer.For more information, see Log analytics for Azure Load Balancer.