Cargas de trabalho críticas
Esta seção se esforça para abordar os desafios de projetar cargas de trabalho de missão crítica no Azure. As orientações baseiam-se nas lições aprendidas com a análise de vários aplicativos de clientes e soluções de primeira parte. Esta seção fornece orientação acionável e autoritária que aplica as práticas recomendadas do Well-Architected como base técnica para criar e operar uma solução altamente confiável no Azure em escala.
O que é uma carga de trabalho de missão crítica?
O termo carga de trabalho refere-se a uma coleção de recursos de aplicativos que dão suporte a um objetivo comercial comum ou à execução de um processo de negócios comum, com vários serviços, como APIs e armazenamentos de dados, trabalhando juntos para fornecer funcionalidade específica de ponta a ponta.
O termo missão crítica refere-se a uma escala de criticidade que cobre custos financeiros significativos (críticos para os negócios) ou humanos (críticos para a segurança) associados à indisponibilidade ou ao baixo desempenho.
Uma carga de trabalho de missão crítica, portanto, descreve uma coleção de recursos de aplicativos, que devem ser altamente confiáveis na plataforma. A carga de trabalho deve estar sempre disponível, resiliente a falhas e operacional.
Vídeo: Cargas de trabalho de missão crítica no Azure
Quais são os desafios comuns?
O Microsoft Azure facilita a implantação e o gerenciamento de soluções em nuvem. No entanto, a criação de cargas de trabalho de missão crítica que sejam altamente confiáveis na plataforma continua sendo um desafio pelos seguintes motivos principais:
Projetar um aplicativo confiável em escala é complexo. Requer amplo conhecimento da plataforma para selecionar as tecnologias certas e configurá-las de forma otimizada para oferecer funcionalidade de ponta a ponta.
A falha é inevitável em qualquer sistema distribuído complexo e, portanto, a solução deve ser arquitetada para lidar com falhas com impacto correlacionado ou em cascata. Esta é uma mudança de mentalidade para muitos desenvolvedores e arquitetos que entram na nuvem a partir de um ambiente local; A engenharia de confiabilidade não é mais um assunto de infraestrutura, mas deve ser uma preocupação de primeira classe dentro do processo de desenvolvimento de aplicativos.
A operacionalização de cargas de trabalho de missão crítica requer um alto grau de rigor e maturidade de engenharia durante todo o ciclo de vida da engenharia de ponta a ponta, bem como a capacidade de aprender com as falhas.
A missão crítica tem apenas a ver com fiabilidade?
Embora o foco principal das cargas de trabalho de missão crítica seja a confiabilidade, outros pilares da estrutura bem arquitetada são igualmente importantes ao criar e operar uma carga de trabalho de missão crítica no Azure.
Segurança: a forma como uma carga de trabalho atenua as ameaças à segurança, como os ataques distribuídos de negação de serviço (DDoS), terá um impacto significativo na fiabilidade geral.
Excelência operacional: como uma carga de trabalho é capaz de responder efetivamente a problemas operacionais terá um impacto direto na disponibilidade do aplicativo.
Eficiência de desempenho: a disponibilidade é mais do que um simples tempo de atividade, mas sim um nível consistente de serviço e desempenho de aplicativos em relação a um estado íntegro conhecido.
Alcançar alta confiabilidade impõe compensações de custo significativas, que podem não ser justificáveis para todos os cenários de carga de trabalho. Recomenda-se, portanto, que as decisões de design sejam orientadas por requisitos de negócios.
Quais são as principais áreas de design?
A orientação de missão crítica desta série é composta por considerações arquitetônicas e recomendações orientadas em torno dessas áreas-chave de projeto.
As áreas de design estão inter-relacionadas e as decisões tomadas dentro de uma área podem impactar ou influenciar as decisões em todo o projeto. Recomendamos que os leitores se familiarizem com essas áreas de design, revendo as considerações e recomendações fornecidas para entender melhor as consequências das decisões englobadas. Por exemplo, para definir uma arquitetura de destino, é fundamental determinar a melhor forma de monitorar a integridade do aplicativo nos principais componentes. Neste caso, o leitor deve rever a área de design de modelagem de integridade, usando as recomendações descritas para ajudar a conduzir decisões.
Área de design | Resumo |
---|---|
Conceção de aplicações | O uso de uma arquitetura de unidade de escala no contexto da construção de uma aplicação altamente confiável. Também explora os padrões de design de aplicativos em nuvem que permitem dimensionamento e tratamento de erros. |
Plataforma de aplicação | Fatores de decisão e recomendações relacionados à seleção, design e configuração de uma plataforma de hospedagem de aplicativos apropriada, dependências de aplicativos, estruturas e bibliotecas. |
Plataforma de dados | Opções em tecnologias de armazenamento de dados, informadas pela avaliação do necessário — volume, velocidade, variedade, veracidade. |
Rede e conectividade | Conceitos de topologia de rede em nível de aplicação, considerando a conectividade necessária e o gerenciamento de tráfego redundante. Recomendações críticas destinadas a informar o projeto de uma topologia de rede global segura e escalável. |
Modelação e observabilidade em saúde | Processos para definir um modelo de integridade robusto, mapeando estados quantificados de integridade da aplicação através de observabilidade e construções operacionais para alcançar a maturidade operacional. |
Implantação e teste | Erradique o tempo de inatividade e mantenha a integridade do aplicativo para operações de implantação, fornecendo considerações e recomendações importantes destinadas a informar o projeto de pipelines de CI/CD ideais para um aplicativo de missão crítica. |
Segurança | Proteja o aplicativo contra ameaças destinadas a comprometer direta ou indiretamente sua confiabilidade. |
Procedimentos operacionais | A adoção de DevOps e métodos de implantação relacionados é usada para impulsionar procedimentos operacionais eficazes e consistentes. |
Exemplos ilustrativos
As orientações fornecidas nesta série baseiam-se numa abordagem orientada para a solução para ilustrar as principais considerações e recomendações de conceção. Existem várias implementações de referência disponíveis que podem ser usadas como base para o desenvolvimento de soluções.
Arquitetura de linha de base de um aplicativo voltado para a Internet — fornece uma base para a criação de um aplicativo nativo da nuvem, altamente escalável e voltado para a Internet no Microsoft Azure. A carga de trabalho é acessada por meio de um ponto de extremidade público e não requer conectividade de rede privada para um conjunto técnico organizacional circundante.
Consulte a implementação: Mission-Critical Online
Arquitetura de linha de base de um aplicativo voltado para a Internet com controles de rede — estende a arquitetura de linha de base com controles de rede rigorosos em vigor para impedir o acesso público não autorizado da Internet a qualquer um dos recursos de carga de trabalho.
Arquitetura de linha de base em uma zona de aterrissagem do Azure — fornece uma base para a criação de um aplicativo nativo da nuvem conectado à empresa no Microsoft Azure usando a infraestrutura de rede existente e pontos de extremidade privados. A carga de trabalho requer conectividade privada com outros recursos organizacionais e depende de Redes Virtuais pré-fornecidas para conectividade com outros recursos organizacionais. Este caso de uso destina-se a cenários que exigem integração com um conjunto técnico organizacional mais amplo para cargas de trabalho voltadas para o público ou para o interior.
Consulte a implementação: Mission-Critical Connected
Próximo passo
Comece revisando a metodologia de design para cenários de aplicativos de missão crítica.