Trilha de estudo
Trilha Fundamentos de Arquitetura de Software: tudo o que estudar, tópico por tópico
Avaliação abrangente sobre pensamento arquitetural, padrões de arquitetura, atributos de qualidade, design de sistemas distribuídos, tomada de decisões arquiteturais e liderança em arquitetura. Cobre princípios fundamentais até arquitetura evolutiva e estratégia tecnológica em nível especialista.
Resposta curta
Para aprender Fundamentos de Arquitetura de Software, percorra 6 módulos e 26 tópicos na ordem em que um apoia o próximo. Comece por Fundamentos de Arquitetura e siga para Padrões Arquiteturais e Atributos de Qualidade. Use o mapa como checklist, ou meça seu nível e estude só o que falta.
O que você vai estudar
Os tópicos estão agrupados por módulo. Abra um para ver os objetivos e os conceitos-chave.
1 · Fundamentos de Arquitetura5 tópicos
Pensamento Arquitetural
Compreensão do papel da arquitetura de software, distinção entre design e arquitetura, e como raciocinar sobre estrutura, comportamento e preocupações transversais em escala.
Objetivos
- Articular a diferença entre arquitetura de software e design de baixo nível
- Identificar as principais responsabilidades de um arquiteto de software
Conceitos-chave
- arquitetura vs design
- decisões estruturais
- preocupações transversais
- características de arquitetura
- arquitetura implícita vs explícita
- raciocínio a partir de primeiros princípios
Arquitetura em Camadas
Organização de sistemas em camadas horizontais (apresentação, lógica de negócio, acesso a dados) com regras estritas de dependência entre camadas.
Objetivos
- Projetar uma aplicação de três camadas e impor fronteiras entre elas
- Identificar o antipadrão sumidouro e propor uma mitigação
Conceitos-chave
- camada de apresentação
- camada de lógica de negócio
- camada de acesso a dados
- isolamento de camadas
- camadas abertas vs fechadas
- arquitetura n-camadas
- antipadrão sumidouro
Modularidade
Decomposição de sistemas em módulos bem definidos com responsabilidades e fronteiras claras. Cobre coesão de módulos, princípios de design de pacotes e o impacto da modularidade na manutenibilidade e capacidade de implantação.
Objetivos
- Aplicar princípios de coesão de pacotes para organizar uma base de código em crescimento
- Usar uma matriz de estrutura de dependências para detectar acoplamento problemático
Conceitos-chave
- fronteiras de módulos
- princípios de coesão de pacotes
- princípios de acoplamento de pacotes
- princípio de equivalência de lançamento
- princípio de fechamento comum
- princípio de reutilização comum
- matriz de estrutura de dependências
Acoplamento e Coesão
Medição e gestão do grau de interdependência entre componentes (acoplamento) e a relação funcional dentro de um componente (coesão).
Objetivos
- Calcular instabilidade e abstração para um componente e plotar na sequência principal
- Identificar acoplamento forte em uma base de código e propor uma estratégia de desacoplamento
Conceitos-chave
- acoplamento aferente
- acoplamento eferente
- métrica de instabilidade
- abstração
- sequência principal
- distância da sequência principal
- sintomas de acoplamento forte
Design de Componentes
Definição de fronteiras, responsabilidades e interfaces de componentes.
Objetivos
- Derivar componentes de um modelo de domínio usando análise ator/ação
- Projetar interfaces de componentes que minimizem o acoplamento entre equipes
Conceitos-chave
- identificação de componentes
- responsabilidade de componente
- interface de componente
- abordagem ator/ação
- componentes por event storming
- núcleo compartilhado
- equipe por componente
2 · Padrões Arquiteturais5 tópicos
Arquitetura Hexagonal
Padrão de portas e adaptadores que isola a lógica de domínio central de preocupações externas como bancos de dados, interfaces de usuário e serviços de terceiros.
Objetivos
- Projetar uma arquitetura hexagonal com fronteiras claras de porta e adaptador
- Explicar como a arquitetura hexagonal permite testes sem banco de dados real
Conceitos-chave
- portas
- adaptadores
- portas primárias
- portas secundárias
- isolamento do modelo de domínio
- regra de dependência
- testabilidade sem infraestrutura
Arquitetura Orientada a Eventos
Projeto de sistemas onde componentes se comunicam por meio de eventos.
Objetivos
- Projetar um fluxo orientado a eventos usando coreografia e explicar o tratamento de falhas
- Comparar coreografia vs orquestração para um processo de negócio com várias etapas
Conceitos-chave
- notificação de evento
- transferência de estado via evento
- coreografia
- orquestração
- consistência eventual
- evolução de esquema de eventos
- filas de mensagens mortas
Arquitetura de Microsserviços
Estruturação de uma aplicação como uma coleção de serviços pequenos e independentemente implantáveis organizados em torno de capacidades de negócio.
Objetivos
- Decompor um monólito em microsserviços usando contextos delimitados
- Avaliar se um caso de uso justifica microsserviços em vez de um monólito modular
Conceitos-chave
- decomposição de serviços
- alinhamento com capacidade de negócio
- contexto delimitado
- propriedade de dados
- comunicação entre serviços
- transações distribuídas
- granularidade de serviço
CQRS e Event Sourcing
Segregação de Responsabilidade de Comando e Consulta separa modelos de leitura e escrita. Event Sourcing armazena o estado como uma sequência imutável de eventos.
Objetivos
- Projetar um sistema CQRS com modelos de leitura e escrita separados
- Explicar quando Event Sourcing adiciona valor de auditoria e consulta temporal versus adiciona complexidade
Conceitos-chave
- modelo de comando
- modelo de consulta
- projeção
- armazenamento de eventos
- snapshotting
- consultas temporais
- reconstrução do modelo de leitura
Padrões de Monólito Modular
Projeto de uma única unidade implantável com fortes fronteiras internas de módulo.
Objetivos
- Projetar um monólito modular com fronteiras internas impostas
- Aplicar o padrão strangler fig para extrair serviços incrementalmente
Conceitos-chave
- monólito modular
- fronteiras internas de módulo
- padrão strangler fig
- camada anticorrupção
- grande bola de lama
- decisão monólito vs microsserviços
- monólito de implantação
3 · Atributos de Qualidade5 tópicos
Escalabilidade
Projeto de sistemas para lidar com carga crescente sem aumento proporcional de custos.
Objetivos
- Projetar uma camada de serviço sem estado que escala horizontalmente
- Escolher entre estratégias de sharding com base em padrões de acesso
Conceitos-chave
- escalabilidade horizontal
- escalabilidade vertical
- serviços sem estado
- estratégias de sharding
- topologia de cache
- balanceamento de carga
- elasticidade
Confiabilidade e Resiliência
Construção de sistemas que continuam funcionando corretamente na presença de falhas.
Objetivos
- Aplicar padrões disjuntor e bulkhead para evitar falhas em cascata
- Definir SLOs significativos e alinhar decisões de arquitetura para atendê-los
Conceitos-chave
- disjuntor
- padrão bulkhead
- retentativas com recuo exponencial
- degradação graciosa
- engenharia do caos
- SLO / SLA / SLI
- análise de modos de falha
Arquitetura de Segurança
Incorporação de segurança na arquitetura do sistema por meio de defesa em profundidade, modelagem de ameaças, princípios de confiança zero e padrões seguros por design.
Objetivos
- Realizar um modelo de ameaças STRIDE em um design de sistema
- Projetar uma estratégia de autenticação zero trust entre serviços
Conceitos-chave
- defesa em profundidade
- arquitetura de confiança zero
- modelagem de ameaças (STRIDE)
- privilégio mínimo
- gerenciamento de segredos
- autenticação vs autorização
- criptografia em repouso e em trânsito
Arquitetura de Desempenho
Projeto para metas de latência e throughput no nível de arquitetura.
Objetivos
- Alocar um orçamento de latência entre cadeias de chamadas de serviço
- Projetar uma hierarquia de cache que atenda às metas de latência de leitura
Conceitos-chave
- orçamento de latência
- metas de throughput
- hierarquia de cache
- cache read-through vs write-through
- processamento assíncrono para ocultar latência
- evitação de consulta N+1
- planejamento de capacidade
Arquitetura de Observabilidade
Projeto de sistemas para serem compreensíveis a partir de suas saídas externas.
Objetivos
- Projetar uma estratégia de rastreamento distribuído para um sistema de microsserviços
- Definir limites de alerta usando alertas de taxa de queima baseados em SLO
Conceitos-chave
- logging estruturado
- rastreamento distribuído
- métricas (métodos RED / USE)
- propagação de ID de correlação
- estratégia de alertas
- cardinalidade em métricas
- amostragem em rastreamento
4 · Design de Sistemas Distribuídos5 tópicos
Teorema CAP e Modelos de Consistência
Compreensão do teorema CAP e suas implicações para armazenamentos de dados distribuídos.
Objetivos
- Aplicar o teorema CAP para justificar a escolha de um armazenamento de dados
- Projetar um sistema que tolere partições de rede com consistência aceitável
Conceitos-chave
- teorema CAP
- consistência vs disponibilidade
- tolerância a partições
- extensão PACELC
- consistência eventual
- consistência causal
- consistência forte
Service Mesh e Topologia de Rede
Gerenciamento de comunicação serviço-a-serviço em microsserviços com uma camada de infraestrutura dedicada.
Objetivos
- Explicar o que um service mesh fornece que um balanceador de carga não fornece
- Projetar uma estratégia mTLS para autenticação entre serviços
Conceitos-chave
- proxy sidecar
- plano de controle
- plano de dados
- TLS mútuo
- modelagem de tráfego
- estratégias de balanceamento de carga
- descoberta de serviços
Padrões de API Gateway
Uso de um API gateway como ponto de entrada único para clientes externos.
Objetivos
- Projetar uma camada de gateway BFF para clientes móveis e web com diferentes necessidades de dados
- Explicar quando colocar a lógica de autenticação no gateway versus no serviço downstream
Conceitos-chave
- API gateway
- backend-for-frontend (BFF)
- limitação de taxa
- agregação de requisições
- autenticação na borda
- gateway vs service mesh
- agregação fan-out
Arquitetura de Dados em Sistemas Distribuídos
Gerenciamento de dados entre fronteiras de serviços.
Objetivos
- Projetar uma saga para uma transação distribuída que abrange três serviços
- Justificar banco de dados por serviço e explicar o trade-off de consistência eventual
Conceitos-chave
- banco de dados por serviço
- antipadrão de banco de dados compartilhado
- padrão saga
- saga baseada em coreografia
- saga baseada em orquestração
- persistência poliglota
- malha de dados
Padrões de Mensageria Assíncrona
Desacoplamento de serviços por meio de brokers de mensagens e comunicação assíncrona.
Objetivos
- Implementar o padrão outbox para garantir a publicação de eventos com commits de banco de dados
- Projetar um consumidor idempotente que lida com mensagens duplicadas com segurança
Conceitos-chave
- entrega pelo menos uma vez
- entrega exatamente uma vez
- idempotência
- padrão outbox
- garantias de ordenação de mensagens
- consumidores concorrentes
- fila de mensagens mortas
5 · Decisões Arquiteturais4 tópicos
Architecture Decision Records
Documentação de decisões arquiteturais significativas e seu contexto, opções consideradas e consequências.
Objetivos
- Escrever um ADR completo para uma decisão arquitetural real incluindo alternativas rejeitadas
- Explicar por que ADRs reduzem as perguntas 'por que construímos assim?'
Conceitos-chave
- formato de ADR
- contexto de decisão
- opções consideradas
- consequências da decisão
- manutenção do log de ADR
- supersedendo ADRs
- arqueologia de decisões
Análise de Trade-offs
Avaliação sistemática de opções arquiteturais em relação a requisitos de atributos de qualidade concorrentes.
Objetivos
- Construir uma árvore de utilidade para um sistema com requisitos de atributos de qualidade concorrentes
- Identificar pontos de sensibilidade e trade-off em uma arquitetura sob avaliação
Conceitos-chave
- ATAM
- cenário de atributo de qualidade
- árvore de utilidade
- ponto de sensibilidade
- ponto de trade-off
- identificação de riscos e não-riscos
- prioridades dos stakeholders
Fitness Functions
Definição de testes automatizados que validam características arquiteturais ao longo do tempo.
Objetivos
- Definir uma fitness function estrutural que imponha regras de dependência de camadas
- Projetar um experimento de engenharia do caos como uma fitness function holística
Conceitos-chave
- fitness function
- fitness function estrutural
- fitness function de processo
- fitness function holística
- ArchUnit
- chaos monkey
- pista de arquitetura
Arquitetura Evolutiva
Projeto de sistemas que podem mudar incrementalmente ao longo do tempo preservando a aptidão.
Objetivos
- Aplicar branch-by-abstraction para substituir um componente sem um dia de corte
- Explicar como a modularidade habilita diretamente a evolucionabilidade
Conceitos-chave
- mudança incremental
- mudança guiada
- acoplamento arquitetural
- evolucionabilidade
- feature toggles
- branch by abstraction
- padrão expand-contract
6 · Liderança em Arquitetura2 tópicos
Governança Arquitetural
Estabelecimento de processos e guardas que orientam decisões de arquitetura entre equipes.
Objetivos
- Projetar um modelo de governança leve que habilite a autonomia da equipe
- Introduzir um processo de radar de tecnologia para alinhar escolhas tecnológicas entre equipes
Conceitos-chave
- comitê de revisão de arquitetura
- princípios de arquitetura
- radar de tecnologia
- modelos leves de governança
- padrão paved road
- inner source
- modelo de equipe habilitadora
Estratégia Tecnológica
Definição e comunicação da direção técnica de longo prazo que serve aos objetivos de negócio.
Objetivos
- Escrever um documento de visão de arquitetura alinhado a uma estratégia de negócio de 3 anos
- Construir um business case para endereçar dívida tecnológica como investimento estratégico
Conceitos-chave
- pensamento de plataforma
- framework de decisão build vs buy
- portfólio de dívida tecnológica
- visão de arquitetura
- due diligence técnica
- arquitetura norte estelar
- modelo de horizonte de investimento
Níveis: Júnior, Pleno, Sênior e Especialista
Explique com suas palavras
Corrigido por IA · sem cadastro · 1 perguntaSem alternativas para chutar: você escreve, a IA corrige com a rubrica do tópico e diz em que nível sua resposta está.
Já estuda Fundamentos de Arquitetura de Software?
A avaliação mede tópico por tópico, e o plano pula o que você já sabe.
Aberto para ler. A conta só é necessária para ser medido.
Perguntas frequentes
Por onde começar a estudar Fundamentos de Arquitetura de Software?
Comece por Fundamentos de Arquitetura: Pensamento Arquitetural, Arquitetura em Camadas e Modularidade. O mapa ordena os tópicos pelo que depende de quê, então cada um prepara o seguinte.
Quanto tempo leva uma avaliação completa de Fundamentos de Arquitetura de Software?
Uma avaliação completa desta trilha leva cerca de 60 minutos. O tempo de estudo depende de onde você começa; o diagnóstico mostra quais tópicos você pode pular.
Preciso de conta para usar esta página?
Não. O mapa, os objetivos e os conceitos-chave são abertos. A conta só é necessária para ser medido, ver seu gap por tópico e receber um plano.