Guia da Arquitetura de Aplicações no AzureAzure Application Architecture Guide

Este guia apresenta uma abordagem estruturada para criar aplicações no Azure altamente disponíveis, resilientes, seguras e dimensionáveis.This guide presents a structured approach for designing applications on Azure that are scalable, secure, resilient, and highly available. É baseado em práticas comprovadas que aprendemos a partir do envolvimento com o cliente.It is based on proven practices that we have learned from customer engagements.

IntroduçãoIntroduction

A cloud está a mudar a forma como as aplicações são concebidas e protegidas.The cloud is changing how applications are designed and secured. Em vez de monólitos, as aplicações são decompostas em serviços mais pequenos e descentralizados.Instead of monoliths, applications are decomposed into smaller, decentralized services. Estes serviços comunicam através de APIs ou ao utilizar mensagens ou eventos assíncronos.These services communicate through APIs or by using asynchronous messaging or eventing. As aplicações aumentam horizontalmente, ao adicionar novas instâncias conforme pedido.Applications scale horizontally, adding new instances as demand requires.

Estas tendências colocam novos desafios.These trends bring new challenges. O estado da aplicação está distribuído.Application state is distributed. As operações são realizadas em paralelo e no modo assíncrono.Operations are done in parallel and asynchronously. As aplicações têm de ser resilientes quando ocorrem falhas.Applications must be resilient when failures occur. Os atores maliciosos atacam continuamente as aplicações.Malicious actors continuously target applications. As implementações têm de ser automatizadas e previsíveis.Deployments must be automated and predictable. A monitorização e a telemetria são essenciais para obter informações sobre o sistema.Monitoring and telemetry are critical for gaining insight into the system. Este guia foi concebido para o ajudar a gerir estas alterações.This guide is designed to help you navigate these changes.

Tradicional no localTraditional on-premisesCloud modernaModern cloud
MonolíticoMonolithic
Concebido para escalabilidade previsívelDesigned for predictable scalability
Base de dados relacionalRelational database
Processamento sincronizadoSynchronized processing
Conceção para evitar falhas (MTBF)Design to avoid failures (MTBF)
Grandes atualizações ocasionaisOccasional large updates
Gestão manualManual management
Servidores floco de neveSnowflake servers
DecompostoDecomposed
Concebido para dimensionamento elásticoDesigned for elastic scale
Persistência poliglota (mistura de tecnologias de armazenamento)Polyglot persistence (mix of storage technologies)
Processamento assíncronoAsynchronous processing
Estrutura para falha (MTTR)Design for failure (MTTR)
Pequenas atualizações frequentesFrequent small updates
Gestão própria automatizadaAutomated self-management
Infraestrutura imutávelImmutable infrastructure

Como este guia está estruturadoHow this guide is structured

O Guia de Arquitetura de Aplicação Azure está organizado com uma série de passos, desde a arquitetura e conceção à implementação.The Azure Application Architecture Guide is organized as a series of steps, from the architecture and design to implementation. Para cada passo, existe documentação de orientação que irá ajudá-lo na conceção da sua arquitetura da aplicação.For each step, there is supporting guidance that will help you with the design of your application architecture.

Diagrama que mostra a estrutura deste guia, com as secções deste artigo representadas num diagrama de fluxo.

Estilos de arquiteturaArchitecture styles

O primeiro ponto de decisão é o mais fundamental.The first decision point is the most fundamental. Que tipo de arquitetura está a criar?What kind of architecture are you building? Poderá ser uma arquitetura de microsserviços, uma aplicação de camada N mais tradicional ou uma solução de macrodados.It might be a microservices architecture, a more traditional N-tier application, or a big data solution. Identificámos vários estilos de arquitetura distintos.We have identified several distinct architecture styles. Existem vantagens e desafios para cada um.There are benefits and challenges to each.

Saiba mais: Estilos de arquiteturaLearn more: Architecture styles

Opções de tecnologiaTechnology choices

Quando sabe o tipo de arquitetura que está a criar, pode começar a escolher as principais peças tecnológicas da arquitetura.Knowing the type of architecture you are building, now you can start to choose the main technology pieces for the architecture. As seguintes escolhas de tecnologia são fundamentais:The following technology choices are critical:

  • Computação refere-se ao modelo de alojamento dos recursos de computação em que as suas aplicações são executadas.Compute refers to the hosting model for the computing resources that your applications run on. Para obter mais informações, veja Escolher um serviço de computação.For more information, see Choose a compute service.

  • Os arquivos de dados incluem bases de dados, mas também armazenamento para filas de mensagens, caches, registos e qualquer outra coisa que uma aplicação possa manter no armazenamento.Data stores include databases but also storage for message queues, caches, logs, and anything else that an application might persist to storage. Para obter mais informações, veja Escolher um arquivo de dados.For more information, see Choose a data store.

  • As tecnologias de mensagens permitem mensagens assíncronas entre componentes do sistema.Messaging technologies enable asynchronous messages between components of the system. Para obter mais informações, veja Escolher um serviço de mensagens.For more information, see Choose a messaging service.

Provavelmente, terá de fazer escolhas de tecnologia adicionais ao longo do seu percurso, mas estes três elementos (computação, dados e mensagens) são fulcrais para a maioria das aplicações na cloud e irão determinar muitos aspetos da sua conceção.You will probably have to make additional technology choices along the way, but these three elements (compute, data, and messaging) are central to most cloud applications and will determine many aspects of your design.

Conceber a arquiteturaDesign the architecture

Depois de escolher o estilo da arquitetura e os principais componentes tecnológicos, estará pronto para tratar da conceção específica da sua aplicação.Once you have chosen the architecture style and the major technology components, you are ready to tackle the specific design of your application. Cada aplicação é diferente, mas os seguintes recursos podem ajudá-lo neste processo:Every application is different, but the following resources can help you along the way:

Arquiteturas de referênciaReference architectures

Dependendo do seu cenário, uma das nossas arquiteturas de referência pode ser um bom ponto de partida.Depending on your scenario, one of our reference architectures may be a good starting point. Cada arquitetura de referência inclui práticas recomendadas, juntamente com considerações sobre escalabilidade, disponibilidade, segurança, resiliência e outros aspetos da conceção.Each reference architecture includes recommended practices, along with considerations for scalability, availability, security, resilience, and other aspects of the design. A maior parte também inclui uma solução implementával ou uma implementação de referência.Most also include a deployable solution or reference implementation.

Princípios de conceçãoDesign principles

Identificámos 10 princípios de conceção de alto nível que tornarão a sua aplicação mais dimensionável, resiliente e fácil de gerir.We have identified 10 high-level design principles that will make your application more scalable, resilient, and manageable. Estes princípios de design aplicam-se a qualquer estilo de arquitetura.These design principles apply to any architecture style. Ao longo do processo de conceção, tenha estes 10 princípios de conceção de alto nível em mente.Throughout the design process, keep these 10 high-level design principles in mind. Para obter mais informações, veja Princípios de conceção.For more information, see Design principles.

Padrões de estruturaDesign patterns

Os padrões de conceção de software são padrões repetíveis que resolvem de forma comprovada problemas específicos.Software design patterns are repeatable patterns that are proven to solve specific problems. O nosso catálogo de Padrões de conceção da cloud aborda desafios específicos em sistemas distribuídos.Our catalog of Cloud design patterns addresses specific challenges in distributed systems. Estes padrões abordam aspetos como disponibilidade, resiliência, desempenho e segurança.They address aspects such as availability, resiliency, performance, and security. Pode encontrar o nosso catálogo de padrões de estrutura aqui.You can find our catalog of design patterns here.

Melhores práticasBest practices

Os nossos artigos de melhores práticas abrangem várias considerações de conceção, incluindo a conceção de APIs, dimensionamento automático, criação de partições de dados, colocação em cache, entre outros.Our best practices articles cover various design considerations including API design, autoscaling, data partitioning, caching, and so forth. Consulte estes artigos e aplique as melhores práticas adequadas à sua aplicação.Review these and apply the best practices that are appropriate for your application.

Melhores práticas de segurançaSecurity best practices

As nossas melhores práticas de segurança descrevem como garantir que a confidencialidade, a integridade e a disponibilidade da sua aplicação não fiquem comprometidas por atores maliciosos.Our security best practices describe how to ensure that the confidentiality, integrity, and availability of your application aren't compromised by malicious actors.

Pilares de qualidadeQuality pillars

Uma aplicação na cloud com êxito irá focar-se em cinco pilares de qualidade de software: Otimização de custos, Excelência operacional, Eficiência de desempenho, Fiabilidade e Segurança.A successful cloud application will focus on five pillars of software quality: Cost optimization, Operational excellence, Performance efficiency, Reliability, and Security.

Tire partido da Well-Architected Framework do Microsoft Azure para avaliar a sua arquitetura com base nestes cinco pilares.Leverage the Microsoft Azure Well-Architected Framework to assess your architecture across these five pillars.

Passos seguintesNext steps