Melhores práticas em aplicações na nuvem
Essas práticas recomendadas podem ajudá-lo a criar aplicativos confiáveis, escaláveis e seguros na nuvem. Eles oferecem diretrizes e dicas para projetar e implementar sistemas, mecanismos e abordagens eficientes e robustos. Muitos também incluem exemplos de código que você pode usar com os serviços do Azure. As práticas aplicam-se a qualquer sistema distribuído, quer o seu anfitrião seja o Azure ou uma plataforma de nuvem diferente.
Catálogo de práticas
Esta tabela lista várias práticas recomendadas. A coluna pilares relacionados
Prática | Resumo | Pilares relacionados |
---|---|---|
de design de API | Projete APIs da Web para oferecer suporte à independência da plataforma usando protocolos padrão e formatos de dados acordados. Promova a evolução do serviço para que os clientes possam descobrir funcionalidades sem a necessidade de modificações. Melhore os tempos de resposta e evite falhas transitórias suportando respostas parciais e fornecendo maneiras de filtrar e paginar dados. | Eficiência de desempenho, Excelência operacional |
Implementação da API | Implemente APIs da Web para ser eficiente, responsivo, escalável e disponível. Torne as ações idempotentes, ofereça suporte à negociação de conteúdo e siga a especificação HTTP. Lide com exceções e ofereça suporte à descoberta de recursos. Forneça maneiras de lidar com grandes solicitações e minimizar o tráfego de rede. | Excelência operacional |
Dimensionamento Automático | Projete aplicativos para alocar e desalocar recursos dinamicamente para satisfazer os requisitos de desempenho e minimizar os custos. Aproveite o dimensionamento automático do Azure Monitor e o dimensionamento automático incorporado que muitos componentes do Azure oferecem. | Eficiência de desempenho, Otimização de custos |
Empregos em segundo plano | Implemente trabalhos em lote, tarefas de processamento e fluxos de trabalho como trabalhos em segundo plano. Use os serviços da plataforma Azure para hospedar essas tarefas. Acione tarefas com eventos ou agendas e retorne resultados para tarefas de chamada. | Excelência operacional |
Caching | Melhore o desempenho copiando dados para um armazenamento rápido próximo de aplicativos. Armazene em cache dados que você lê com frequência, mas raramente modifica. Gerencie a expiração e a simultaneidade de dados. Veja como preencher caches e usar o serviço do Azure Cache para Redis. | Eficiência de desempenho |
Rede de distribuição de conteúdos | Use redes de distribuição de conteúdo (CDNs) para fornecer conteúdo da Web de forma eficiente aos usuários e reduzir a carga em aplicativos da Web. Supere os desafios de implantação, controle de versão, segurança e resiliência. | Eficiência de desempenho |
Particionamento de dados | Particione dados para melhorar a escalabilidade, a disponibilidade e o desempenho, além de reduzir os custos de contenção e armazenamento de dados. Use particionamento horizontal, vertical e funcional de maneira eficiente. | eficiência de desempenho, otimização de custos |
Estratégias de particionamento de dados (por serviço) | Particione dados no do Banco de Dados SQL do |
Eficiência de desempenho, otimização de custos |
Preservação do Nome do Host | Saiba por que é importante preservar o nome de host HTTP original entre um proxy reverso e seu aplicativo Web back-end e como implementar essa recomendação para os serviços mais comuns do Azure. | Fiabilidade |
Considerações sobre codificação de mensagens | Use mensagens assíncronas para trocar informações entre os componentes do sistema. Escolha a estrutura de carga útil, o formato de codificação e a biblioteca de serialização que funcionam melhor com seus dados. | Segurança |
Monitorização e diagnóstico | Acompanhe a integridade, o uso e o desempenho do sistema com um pipeline de monitoramento e diagnóstico. Transforme os dados de monitoramento em alertas, relatórios e gatilhos que ajudam em várias situações. Os exemplos incluem a deteção e correção de problemas, a deteção de potenciais problemas, o cumprimento das garantias de desempenho e o cumprimento dos requisitos de auditoria. | Excelência operacional |
Diretrizes para repetição de serviços específicos | Use, adapte e estenda os mecanismos de repetição que os serviços do Azure e os SDKs de cliente oferecem. Desenvolva uma abordagem sistemática e robusta para gerenciar problemas temporários com conexões, operações e recursos. | Fiabilidade |
Tratamento de falhas transitórias | Lidar com falhas transitórias causadas por redes ou recursos indisponíveis. Supere os desafios ao desenvolver estratégias de repetição apropriadas. Evite duplicar camadas de código de repetição e outros antipadrões. | Fiabilidade |
Próximos passos
Recursos relacionados
- Padrões de design de nuvem
- Microsoft Azure Well-Architected Framework