Resumo
A Contoso Shoes é uma loja de calçados online que deseja estar altamente disponível durante um próximo lançamento. Ela migrou suas implantações locais para a nuvem há dois anos e se beneficiou com a adoção do modelo de OpEx. Nos últimos seis meses enfrentamos problemas de disponibilidade, e os operadores não estão conseguindo solucionar os problemas rapidamente. A organização deseja tornar a carga de trabalho crítica e se concentrar na melhoria da confiabilidade geral e da observabilidade do sistema.
Na arquitetura anterior, o aplicativo era implantado em uma única região e não dava suporte a interrupções regionais. O Serviço de Aplicativo do Azure e as ferramentas de monitoramento externas não conseguiam verificar o status de integridade do próprio aplicativo. Esse problema fez com que o tráfego fosse roteado para instâncias não íntegras do Serviço de Aplicativo, o que resultou em solicitações com falha. A equipe não conseguiu ver o impacto em cascata dos problemas resultantes de um componente de API que afeta as dependências da plataforma.
Ao concluir este desafio, você explorou um design de missão crítica de altíssimo nível. Você aplicou os aprendizados ao longo dos exercícios para atender às necessidades da Contoso.
O design aprimorado detecta o desempenho comprometido de um ou mais componentes usando um modelo de integridade. A equipe de SRE agora pode identificar e resolver problemas rapidamente antes que eles causem uma interrupção total. Agora que está implantada em diversas regiões com um modelo ativo-ativo, a solução poderá resistir a uma falha regional total e fornecer aos seus operadores mais insights sobre a integridade do sistema. A Contoso também melhorou a experiência do cliente oferecendo um atendimento mais rápido em uma região geograficamente mais próxima dele.
Parabéns por concluir este projeto de desafio. Você validou suas habilidades em analisar uma solução de exemplo existente e projetar uma arquitetura aprimorada.
Próximas etapas sugeridas
Os exercícios que você concluiu são um ótimo começo, mas não cobrem todos os aspectos de uma carga de trabalho de missão crítica. Continue a explorar os princípios de design e as áreas indicadas em Cargas de trabalho críticas do Well-Architected. Recomendamos essas áreas de vital importância:
Validação e testes contínuos
É necessário validar totalmente a integridade do código do aplicativo e da infraestrutura. O escopo deve cobrir os requisitos definidos para confiabilidade, desempenho, disponibilidade, segurança, qualidade e escala.
Saiba mais: Validação e testes contínuos
Uso de vários ambientes de aplicativo
É altamente recomendável que os ambientes de desenvolvimento/teste não compartilhem recursos com o ambiente de produção. Cada ambiente tem o próprio conjunto de requisitos de confiabilidade, capacidade e segurança. Você consegue identificar serviços nessa arquitetura que são compartilhados entre ambientes? Como você mudará o design para se alinhar a essa recomendação?
Saiba mais: Ambientes de aplicativos
Ambientes de implantação expandida
Os sistemas de missão crítica requerem rigorosos testes de pré-lançamento e práticas sólidas do ciclo de vida de desenvolvimento de software (SDLC). Em vez de um ambiente de desenvolvimento único e compartilhado, use muitos ambientes efêmeros que se alinhem mais estreitamente com a preparação e a produção. Você deverá usar um ambiente de preparo dedicado para os testes de carga e desempenho, testes de caos, testes de aceitação do usuário (UAT) e testes de segurança.
Saiba mais: Implantações azuis/verdes efêmeras
Adicionar resiliência com agentes de mensagens
Inclua um agente de mensagens para ajudar com transações complexas que precisam de coordenação com diversos pontos de extremidade. As solicitações podem ser enfileiradas para processamento, assim, você não arrisca a perda de uma venda devido a uma falha de um único componente.
Saiba mais: Arquitetura orientada a eventos fracamente acoplada
Saiba mais
Para saber como projetar soluções no Azure, confira o guia Azure Well-Architected Framework.
Explore essas arquiteturas de referência no Centro de Arquitetura do Azure como uma forma de expandir seu design: