Cargas de trabalho críticas
Esta seção se esforça para enfrentar os desafios de projetar cargas de trabalho críticas no Azure. A orientação é baseada nas lições aprendidas com a análise de vários aplicativos de clientes e soluções próprias. Esta seção fornece diretrizes acionáveis e autoritativas que aplicam as práticas recomendadas do Well-Architected como a base técnica para criar e operar uma solução altamente confiável no Azure em escala.
O que é uma carga de trabalho crítica?
O termo carga de trabalho refere-se a uma coleção de recursos de aplicativos que dão suporte a uma meta de negócios 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 custos humanos (críticos para a segurança) associados à indisponibilidade ou baixo desempenho.
Uma carga de trabalho crítica, portanto, descreve uma coleção de recursos de aplicativo, que deve ser altamente confiável na plataforma. A carga de trabalho deve estar sempre disponível, resiliente a falhas e operacional.
Vídeo: Cargas de trabalho críticas 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 críticas que são altamente confiáveis na plataforma continua sendo um desafio por estes motivos principais:
Projetar um aplicativo confiável em escala é complexo. Requer amplo conhecimento da plataforma para selecionar as tecnologias certas e configurá-las de maneira ideal para fornecer 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. Essa é 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 no 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 em todo o ciclo de vida de engenharia de ponta a ponta, bem como a capacidade de aprender com as falhas.
A missão crítica é apenas sobre confiabilidade?
Embora o foco principal das cargas de trabalho críticas seja a confiabilidade, outros pilares do Well-Architected Framework são igualmente importantes ao criar e operar uma carga de trabalho crítica no Azure.
Segurança: como uma carga de trabalho mitiga ameaças de segurança, como ataques de negação de serviço distribuído (DDoS), terá uma influência significativa na confiabilidade 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 de aplicativo e desempenho 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. Portanto, recomenda-se que as decisões de design sejam orientadas pelos requisitos de negócios.
Quais são as principais áreas de design?
A orientação de missão crítica nesta série é composta de considerações e recomendações arquitetônicas orientadas em torno dessas áreas-chave de design.
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 design. Recomendamos que os leitores se familiarizem com essas áreas de design, revisando as considerações e recomendações fornecidas para entender melhor as consequências das decisões abrangidas. Por exemplo, para definir uma arquitetura de destino, é fundamental determinar a melhor forma de monitorar a integridade do aplicativo nos principais componentes. Nesse caso, o leitor deve revisar a área de design de modelagem de integridade, usando as recomendações descritas para ajudar a orientar as decisões.
Área de design | Resumo |
---|---|
Design do aplicativo | O uso de uma arquitetura de unidade de escala no contexto da criação de um aplicativo altamente confiável. Também explora os padrões de design de aplicativos em nuvem que permitem o dimensionamento e o tratamento de erros. |
Plataforma de aplicativos | 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 um nível de aplicativo, considerando a conectividade necessária e o gerenciamento de tráfego redundante. Recomendações críticas destinadas a informar o design de uma topologia de rede global segura e escalável. |
Modelagem de integridade e observabilidade | Processos para definir um modelo de integridade robusto, mapeando estados de integridade de aplicativos quantificados por meio de observabilidade e construções operacionais para atingir 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 design 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 conduzir procedimentos operacionais eficazes e consistentes. |
Exemplos ilustrativos
As diretrizes fornecidas nesta série são baseadas em uma abordagem orientada a soluções para ilustrar as principais considerações e recomendações de design. Há várias implementações de referência disponíveis que podem ser usadas como base para o desenvolvimento de soluções adicionais.
Arquitetura de linha de base de um aplicativo voltado para a Internet: fornece uma base para a criação de um aplicativo nativo de nuvem, altamente escaloná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 com uma propriedade técnica organizacional circundante.
Consulte a implementação: Missão Crítica 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 rígidos 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 destino do Azure: fornece uma base para a criação de um aplicativo nativo de 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. Esse caso de uso destina-se a cenários que exigem integração com uma propriedade técnica organizacional mais ampla para cargas de trabalho voltadas para o público ou para o interno.
Consulte a implementação: Mission-Critical Connected
Próxima etapa
Comece revisando a metodologia de design para cenários de aplicativos críticos.