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:

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