Implementar aplicativos resilientesImplement Resilient Applications

É necessário considerar as falhas parciais que certamente ocorrerão ocasionalmente em seus aplicativos de microsserviços e baseados em nuvem. Você deve projetar seu aplicativo para ser resiliente a essas falhas parciais.Your microservice and cloud-based applications must embrace the partial failures that will certainly occur eventually. You must design your application to be resilient to those partial failures.

A resiliência é a capacidade de recuperar de falhas e continuar a funcionar.Resiliency is the ability to recover from failures and continue to function. Não se trata de evitar falhas, mas de aceitar o fato de que as falhas acontecerão, e responder a elas de uma maneira que evite tempo de inatividade ou perda de dados.It isn't about avoiding failures but accepting the fact that failures will happen and responding to them in a way that avoids downtime or data loss. A meta de resiliência é retornar o aplicativo para um estado totalmente funcional após uma falha.The goal of resiliency is to return the application to a fully functioning state after a failure.

Já é um grande desafio criar e implantar um aplicativo baseado em microsserviços.It's challenging enough to design and deploy a microservices-based application. E você ainda precisa manter o aplicativo em execução em um ambiente em que algum tipo de falha certamente ocorrerá.But you also need to keep your application running in an environment where some sort of failure is certain. Portanto, seu aplicativo precisa ser resiliente.Therefore, your application should be resilient. Ele deve ser projetado para lidar com falhas parciais, como interrupções da rede ou falhas de nós ou de VMs na nuvem.It should be designed to cope with partial failures, like network outages or nodes or VMs crashing in the cloud. Até mesmo os microsserviços (contêineres) que estão sendo movidos para outro nó em um cluster podem causar falhas curtas intermitentes no aplicativo.Even microservices (containers) being moved to a different node within a cluster can cause intermittent short failures within the application.

Os diversos componentes individuais do aplicativo também precisam incorporar recursos de monitoramento de integridade.The many individual components of your application should also incorporate health monitoring features. Seguindo as diretrizes neste capítulo, você poderá criar um aplicativo que pode funcionar perfeitamente apesar do tempo de inatividade temporário ou das interrupções normais que ocorrem em implantações complexas e baseadas em nuvem.By following the guidelines in this chapter, you can create an application that can work smoothly in spite of transient downtime or the normal hiccups that occur in complex and cloud-based deployments.