Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Um aplicativo projetado para cargas de trabalho hospedadas na nuvem atende aos requisitos de negócios da solução e incorpora componentes e funcionalidades nativos de nuvem. Um aplicativo de nuvem bem projetado aborda considerações de confiabilidade, segurança, custo, operações e desempenho. Essas considerações se alinham aos requisitos de negócios, às características específicas da plataforma de hospedagem na nuvem e à funcionalidade fornecida pela plataforma.
Você não precisa usar um estilo de aplicativo específico, como microsserviços, para projetar um aplicativo para cargas de trabalho na nuvem. No entanto, a hospedagem em nuvem torna muitos padrões de design de aplicativos mais acessíveis do que soluções de hospedagem que não fornecem nativamente uma seleção diversificada de opções de aplicativo e plataforma de dados, recursos de dimensionamento, controles de segurança e opções de mensagens. As cargas de trabalho de nuvem se beneficiam de aplicativos que são decompostos em serviços menores e descentralizados por design. Esses serviços se comunicam por meio de APIs ou usando mensagens assíncronas ou eventos. Os aplicativos são dimensionados horizontalmente adicionando novas instâncias quando a demanda aumenta.
Aplicativos que usam plataformas de hospedagem de aplicativos da nuvem, recursos de mensagens e serviços decompostos estão sujeitos a preocupações comuns com sistemas distribuídos. Nesses sistemas, o estado do aplicativo é distribuído e as operações são executadas de forma paralela e assíncrona. Os aplicativos devem ser resilientes quando ocorrem falhas. Atores mal-intencionados visam a aplicativos continuamente. As implantações devem ser automatizadas e previsíveis. O monitoramento e a telemetria são cruciais para obter insights sobre o sistema.
As colunas a seguir listam algumas características comuns do design local e do design de nuvem.
Design típico na infraestrutura local
- Funcionalidade e dados monolíticos e colocados
- Projetado para escala previsível ou com excesso de provisionamento
- Banco de dados relacional
- Processamento sincronizado
- Projetado para evitar falhas e medir o tempo médio entre falhas (MTBF)
- Os recursos são provisionados por meio de funções de TI
- Servidores snowflake e servidores “pet”
Design de nuvem típico
- Funcionalidade e dados decompostos e distribuídos
- Criado para escala elástica
- Persistência poliglota usando uma combinação de tecnologias de armazenamento
- Processamento assíncrono
- Criado para suportar defeitos e calcular o MTBF (tempo médio entre falhas)
- Preparado para falhas e mede o tempo médio de reparo
- Os recursos são provisionados conforme necessário por meio da infraestrutura como código
- Infraestrutura imutável e substituível
Criar aplicativos para o Azure
Os arquitetos de nuvem que têm experiência em hospedagem na nuvem e podem tomar decisões estratégicas de compensação devem projetar aplicativos de nuvem. O Azure fornece recursos para ajudar os arquitetos a desenvolver aplicativos e orientar as equipes de desenvolvimento a implementá-los. Para obter uma boa carga de trabalho e design de aplicativo, os arquitetos precisam:
- Alinhar-se aos padrões de adoção da nuvem organizacional.
- Verifique se o design segue o Azure Well-Architected Framework.
- Entenda estilos típicos de arquitetura, cargas de trabalho e práticas recomendadas.
- Use padrões de design para resolver problemas comuns e introduzir compensações estratégicas.
- Faça escolhas de tecnologia informadas.
- Avaliar arquiteturas de referência.
- Examine os guias específicos do serviço.
Você pode usar o Azure para hospedar e hospedar novamente aplicativos que não foram projetados para a nuvem. Você pode ajustar aplicativos de carga de trabalho para usar a funcionalidade de nuvem, mas hospedar novamente um aplicativo projetado para recursos fixos e escala não é considerado uma implantação nativa de nuvem.
Alinhar-se aos padrões de adoção da nuvem organizacional
Seu aplicativo faz parte de uma carga de trabalho que provavelmente precisa atender aos padrões organizacionais e à governança. Organizações de qualquer tamanho e maturidade na nuvem podem usar o Cloud Adoption Framework para Azure para formalizar sua estratégia de adoção, preparação, inovação, gerenciamento, governança e iniciativas de segurança em todo o Azure. Parte dessa abordagem é padronizar uma abordagem consistente entre cargas de trabalho, como o uso de zonas de destino do Azure. Uma zona de destino do Azure fornece governança em toda a organização e fornece às equipes de carga de trabalho e arquitetos acesso democratizado aos recursos para atender aos objetivos de negócios localizados. Como arquiteto que projeta aplicativos, é crucial que você entenda o macroambiente e as expectativas para operações de carga de trabalho, como zonas de recepção de aplicativos.
A estratégia de adoção do Azure da sua organização não deve afetar o estilo de arquitetura escolhido, mas pode restringir as opções de tecnologia ou os limites de segurança.
Siga o Azure Well-Architected Framework
Você pode avaliar o design e a implementação de qualquer carga de trabalho por meio de várias lentes. Use o Well-Architected Framework para avaliar e alinhar suas decisões com os princípios de design nestes cinco principais pilares de arquitetura:
Seguindo esses princípios e avaliando as compensações entre esses pilares arquitetônicos, você pode produzir um design que atenda aos requisitos de negócios e seja suficientemente durável, mantenedível, seguro e com custo otimizado para execução no Azure. Essas decisões devem informar sua escolha de estilo de arquitetura e ajudar a restringir suas opções de tecnologia ou limites de segurança conforme eles se relacionam com as necessidades de sua carga de trabalho específica.
Sua equipe ou organização pode ter outros princípios de design, como sustentabilidade e ética, que você pode usar para avaliar sua carga de trabalho.
Entender estilos típicos de arquitetura
Depois de entender o ambiente organizacional em que seu aplicativo existirá e a base do bom design de arquitetura com base no Well-Architected Framework, você precisará decidir em que tipo de arquitetura criar. Pode ser uma arquitetura de microsserviços, um aplicativo de N camadas mais tradicional ou uma solução de big data. Esses estilos arquitetônicos são distintos e projetados para resultados diferentes. Ao avaliar estilos de arquitetura, você também deve selecionar modelos de armazenamento de dados para lidar com o gerenciamento de estado.
Avalie os vários estilos de arquitetura e modelos de armazenamento de dados para entender os benefícios e desafios que cada opção apresenta.
Cargas de trabalho no Well-Architected Framework
O artigo Well-Architected Cargas de trabalho do Framework descreve diferentes classificações ou tipos de carga de trabalho. Você pode encontrar artigos sobre cargas de trabalho críticas à operação, cargas de trabalho de IA e aprendizado de máquina ou cargas de trabalho de software como serviço. Esses artigos específicos à carga de trabalho aplicam os cinco pilares principais do Well-Architected Framework ao domínio específico. Se seu aplicativo fizer parte de uma carga de trabalho que se alinha a um desses padrões documentados, examine as respectivas diretrizes para ajudá-lo a abordar seu design seguindo um conjunto de princípios e recomendações de design específicos da carga de trabalho em áreas de design comuns, como plataforma de aplicativos, plataforma de dados e rede. Alguns tipos de carga de trabalho podem se beneficiar da seleção de um modelo de armazenamento de dados ou estilo de arquitetura específico.
Práticas recomendadas
Para obter mais informações sobre várias considerações de design, incluindo design de API, dimensionamento automático, particionamento de dados e cache, consulte as práticas recomendadas em aplicativos de nuvem. Examine essas considerações e aplique as práticas recomendadas que são apropriadas para seu aplicativo.
Usar padrões de projeto para resolver problemas comuns e introduzir trocas estratégicas
Seu aplicativo tem requisitos de negócios específicos, metas e medidas de êxito. Você deve decompor esses requisitos funcionais e não funcionais em atividades discretas que funcionam em conjunto para alcançar uma solução que atenda às expectativas de seus clientes. Essas atividades normalmente seguem padrões estabelecidos pelo setor de software. Os padrões de design de software são abordagens nomeadas e repetíveis que você pode aplicar ao processamento ou ao armazenamento de dados. Esses padrões são comprovados para resolver problemas específicos com compensações conhecidas.
O catálogo de padrões de design de nuvem no Azure aborda desafios específicos em sistemas distribuídos. Para cargas de trabalho de IA que incluem vários agentes autônomos, consulte os padrões de orquestração do agente de IA. Ele inclui abordagens de coordenação especializadas que complementam padrões de design tradicionais, abordando os desafios exclusivos de orquestrar componentes inteligentes e autônomos.
Fazer escolhas de tecnologia informadas
Depois de determinar o tipo de arquitetura que deseja criar e os padrões de design que você espera usar, você pode escolher os principais componentes de tecnologia para a arquitetura. As seguintes opções de tecnologia são essenciais:
A computação refere-se ao modelo de hospedagem para os recursos de computação ou a plataforma de aplicativo em que seus aplicativos são executados. Para obter mais informações, consulte Escolha um serviço de computação. Consulte diretrizes especializadas, como Escolher um serviço de contêiner do Azure e opções híbridas do Azure, para plataformas de aplicativo específicas.
Os armazenamentos de dados incluem bancos de dados e armazenamento para arquivos, caches, logs e qualquer outra coisa que um aplicativo possa persistir no armazenamento. Para obter mais informações, consulte Noções básicas sobre modelos de armazenamento de dados e examine as opções de armazenamento.
As tecnologias de mensagens permitem mensagens assíncronas entre componentes do sistema. Para obter mais informações, consulte opções de mensagens assíncronas.
As tecnologias de IA resolvem problemas que são computacionalmente complexos de implementar no código do aplicativo tradicional. Para obter mais informações, consulte Escolher uma tecnologia de serviços de IA do Azure.
Você provavelmente fará outras opções de tecnologia ao longo do caminho, mas computação, dados, mensagens e IA são centrais para a maioria dos aplicativos de nuvem e determinam muitos aspectos do seu design.
Avaliar arquiteturas de referência
O Centro de Arquitetura do Azure abriga artigos sobre ideias de solução, cargas de trabalho de exemplo e arquiteturas de referência. Esses artigos normalmente listam os componentes e considerações comuns que se alinham ao Well-Architected Framework. Alguns desses artigos incluem uma solução implantável hospedada no GitHub. Embora seja improvável que qualquer um desses cenários seja exatamente o que você está construindo, eles são um bom ponto de partida. Você pode adaptar as diretrizes às suas necessidades específicas.
Navegue pelo catálogo de arquiteturas no Centro de Arquitetura do Azure.
Confira guias específicos do serviço
Depois de selecionar a tecnologia principal e consultar as arquiteturas de referência, examine a documentação e as diretrizes específicas para os serviços em sua arquitetura. Use os seguintes recursos para diretrizes específicas do serviço:
guias de serviço doWell-Architected Framework: O Well-Architected Framework fornece artigos sobre muitos serviços do Azure. Os artigos aplicam os cinco pilares da arquitetura a cada serviço.
Guias de confiabilidade do Azure: O hub de confiabilidade do Azure tem artigos detalhados que abordam especificamente as características de confiabilidade de muitos serviços do Azure. Esses artigos documentam alguns dos tópicos de confiabilidade mais críticos, como suporte à zona de disponibilidade e comportamento esperado durante diferentes tipos de interrupções.
Vindo de outra nuvem?
Se você estiver familiarizado com como projetar aplicativos em outro provedor de nuvem, muitos dos mesmos conceitos básicos se aplicam. Por exemplo, os estilos de arquitetura e os padrões de design de nuvem são conceitualmente independentes de nuvem. Para obter mais informações, consulte os seguintes artigos do guia de arquitetura e mapeamento de serviço:
Próxima etapa
- Estilos de arquitetura