Melhores práticas em aplicações na cloud
Estas melhores práticas podem ajudá-lo a criar aplicações fiáveis, dimensionáveis e seguras na cloud. Oferecem diretrizes e sugestões para conceber e implementar sistemas, mecanismos e abordagens eficientes e robustos. Muitos também incluem exemplos de código que pode utilizar com os serviços do Azure. As práticas aplicam-se a qualquer sistema distribuído, quer o anfitrião seja o Azure ou uma plataforma de cloud diferente.
Catálogo de práticas
Esta tabela lista várias melhores práticas. A coluna Pilares ou padrões relacionados contém as seguintes ligações:
- Desafios de desenvolvimento na cloud que a prática e os padrões de conceção relacionados abordam.
- Pilares do Microsoft Azure Well-Architected Framework nos quais a prática se concentra.
Prática | Resumo | Pilares ou padrões relacionados |
---|---|---|
Conceção da API | Crie APIs Web para suportar a independência da plataforma através de protocolos padrão e formatos de dados acordados. Promova a evolução do serviço para que os clientes possam detetar a funcionalidade sem necessidade de modificação. Melhore os tempos de resposta e impeça falhas transitórias ao suportar respostas parciais e ao fornecer formas de filtrar e paginar dados. | Design e implementação, Eficiência de desempenho, Excelência operacional |
Implementação da API | Implemente APIs Web para serem eficientes, reativas, dimensionáveis e disponíveis. Torne as ações idempotentes, suporte a negociação de conteúdos e siga a especificação HTTP. Processe exceções e suporte a deteção de recursos. Forneça formas de lidar com pedidos grandes e minimizar o tráfego de rede. | Design e implementação, Excelência operacional |
Dimensionamento automático | Crie aplicações para alocar e desalocar dinamicamente recursos para satisfazer os requisitos de desempenho e minimizar os custos. Tire partido do dimensionamento automático do Azure Monitor e do dimensionamento automático incorporado que muitos componentes do Azure oferecem. | Eficiência de desempenho, Otimização de custos |
Tarefas em segundo plano | Implementar tarefas em lote, processar tarefas e fluxos de trabalho como tarefas em segundo plano. Utilize os serviços de plataforma do Azure para alojar estas tarefas. Acione tarefas com eventos ou agendas e devolva resultados a tarefas de chamada. | Design e implementação, Excelência operacional |
Colocação em cache | Melhore o desempenho ao copiar dados para um armazenamento rápido próximo das aplicações. Colocar em cache os dados que lê frequentemente, mas raramente modifica. Gerir a expiração e simultaneidade dos dados. Veja como preencher caches e utilizar o serviço Cache do Azure para Redis. | Gestão de dados, Eficiência de desempenho |
Rede de entrega de conteúdos | Utilize redes de entrega de conteúdos (CDNs) para fornecer conteúdos Web de forma eficiente aos utilizadores e reduzir a carga nas aplicações Web. Supere os desafios de implementação, controlo de versões, segurança e resiliência. | Gestão de dados, Eficiência de desempenho |
Criação de partições de dados | Particione dados para melhorar a escalabilidade, a disponibilidade e o desempenho e reduzir os custos de contenção e armazenamento de dados. Utilize a criação de partições horizontais, verticais e funcionais de forma eficiente. | Gestão de dados, Eficiência de desempenho, Otimização de custos |
Estratégias de partição de dados (por serviço) | Dados de partição na Base de Dados do SQL do Azure e nos serviços de Armazenamento do Azure, como o Armazenamento de Tabelas do Azure e o Armazenamento de Blobs do Azure. Fragmente os dados para distribuir cargas, reduzir a latência e suportar o dimensionamento horizontal. | Gestão de dados, Eficiência de desempenho, Otimização de custos |
Preservação do nome do anfitrião | Saiba por que motivo é importante preservar o nome de anfitrião HTTP original entre um proxy inverso e a respetiva aplicação Web de back-end e como implementar esta recomendação para os serviços do Azure mais comuns. | Design e implementação, Fiabilidade |
Considerações sobre codificação de mensagens | Utilize mensagens assíncronas para trocar informações entre componentes do sistema. Escolha a estrutura de payload, o formato de codificação e a biblioteca de serialização que funcionam melhor com os seus dados. | Mensagens, Segurança |
Monitorização e diagnóstico | Controle o estado de funcionamento, a utilização e o desempenho do sistema com um pipeline de monitorização e diagnóstico. Transforme dados de monitorização em alertas, relatórios e acionadores que ajudam em várias situações. Os exemplos incluem detetar e corrigir problemas, detetar potenciais problemas, cumprir garantias de desempenho e cumprir os requisitos de auditoria. | Excelência operacional |
Retry guidance for specific services (Orientações do mecanismo de repetição para serviços específicos) | Utilize, adapte e expanda os mecanismos de repetição que os serviços do Azure e os SDKs de cliente oferecem. Desenvolver uma abordagem sistemática e robusta para gerir problemas temporários com ligações, operações e recursos. | Design e implementação, Fiabilidade |
Processamento 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 adequadas. Evite duplicar camadas de código de repetição e outros anti-padrões. | Design e implementação, Fiabilidade |
Passos seguintes
Recursos relacionados
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários