Práticas recomendadas em aplicativos de nuvem
Essas práticas recomendadas podem ajudá-lo a criar aplicativos confiáveis, escaloná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 se aplicam a qualquer sistema distribuído, seja o host do Azure ou uma plataforma de nuvem diferente.
Catálogo de práticas
Esta tabela lista várias práticas recomendadas. A coluna de Pilares relacionados contém os pilares do Microsoft Azure Well-Architected Framework nos quais a prática se concentra.
Prática | Resumo | Pilares relacionados |
---|---|---|
Design de API | Crie APIs Web para dar 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 a funcionalidade sem a necessidade de modificação. Melhore os tempos de resposta e evite falhas transitórias, dando suporte a respostas parciais e fornecendo maneiras de filtrar e paginar dados. | eficiência de desempenho, excelência operacional |
Implementação de API | Implemente APIs Web para serem eficientes, responsivas, escalonáveis e disponíveis. Torne as ações idempotentes, dê suporte à negociação de conteúdo e siga a especificação HTTP. Lide com exceções e dê suporte à descoberta de recursos. Forneça maneiras de lidar com solicitações grandes e minimizar o tráfego de rede. | Excelência operacional |
Dimensionamento automático | Crie aplicativos para alocar e desalocar recursos dinamicamente para atender aos requisitos de desempenho e minimizar os custos. Aproveitar o dimensionamento automático do Azure Monitor e o dimensionamento automático integrado que muitos componentes do Azure oferecem. | Eficiência de desempenho, Otimização de custos |
trabalhos em segundo plano | Implemente trabalhos em lotes, tarefas de processamento e fluxos de trabalho como trabalhos em segundo plano. Use os serviços de plataforma do Azure para hospedar essas tarefas. Disparar tarefas com eventos ou agendamentos e retornar resultados para tarefas de chamada. | Excelência Operacional |
Armazenamento em cache | Melhore o desempenho copiando dados para um armazenamento rápido próximo a aplicativos. Armazene dados em cache que você lê com frequência, mas raramente modifique. Gerenciar a expiração e a simultaneidade de dados. Veja como preencher caches e usar o serviço Cache do Azure para Redis. | Eficiência de desempenho |
Rede de entrega de conteúdo | Use CDNs (redes de distribuição de conteúdo) para fornecer conteúdo da Web com eficiência aos usuários e reduzir a carga em aplicativos Web. Supere os desafios de implantação, controle de versão, segurança e resiliência. | Eficiência de desempenho |
Particionamento de dados | Dados de partição para melhorar a escalabilidade, a disponibilidade e o desempenho e reduzir os custos de contenção e armazenamento de dados. Use o particionamento horizontal, vertical e funcional de maneiras eficientes. | eficiência de performance, otimização de custos |
Estratégias de particionamento de dados (por serviço) | Dados de partição nos serviços de Azure SQL Database e Azure Storage, como o Azure Table Storage e o Azure Blob Storage . Fragmente seus dados para distribuir cargas, reduzir a latência e dar suporte ao dimensionamento horizontal. | Desempenho eficiente, Otimização de custos |
Preservação do nome do host | Saiba por que é importante preservar o nome do host HTTP original entre um proxy reverso e seu aplicativo Web de back-end e como implementar essa recomendação para os serviços mais comuns do Azure. | Confiabilidade |
considerações sobre codificação de mensagens | Use mensagens assíncronas para trocar informações entre componentes do sistema. Escolha a estrutura de conteúdo, o formato de codificação e a biblioteca de serialização que funcionam melhor com seus dados. | Segurança |
monitoramento e diagnóstico | Acompanhe a integridade, o uso e o desempenho do sistema com um pipeline de monitoramento e diagnóstico. Transforme dados de monitoramento em alertas, relatórios e gatilhos que ajudam em várias situações. Exemplos incluem detectar e corrigir problemas, detectar possíveis problemas, atender a garantias de desempenho e atender aos requisitos de auditoria. | Excelência operacional |
Diretrizes de repetição para 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. | Confiabilidade |
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. | Confiabilidade |
Próximas etapas
- Design de API Web
- Implementação da API Web
Recursos relacionados
- padrões de design de nuvem
- Microsoft Azure Well-Architected Framework