Arquitetura de software na prática
Aprenda arquitetura de software pela primeira vez, começando por decisões de código e avançando para estilos arquiteturais, produção e sistemas distribuídos.
Um curso para aprender arquitetura de software
Arquitetura não começa com o nome de um framework ou um desenho cheio de caixas. Ela aparece nas decisões que definem limites, dependências, contratos e operação de um sistema — e nos custos que essas decisões criam quando o produto muda.
Este curso organiza os vídeos da playlist em uma sequência para iniciantes. Você começa entendendo o vocabulário e as escolhas dentro de uma aplicação. Depois estuda padrões e fronteiras de código. Por fim, compara formas de distribuir um sistema, processar eventos e pensar em escala.
Cada aula tem um texto de apoio com exemplos, ressalvas e perguntas para conferir seu entendimento. Os vídeos publicados ficam na própria aula. As gravações ainda sem link público já têm material escrito e aparecem com a previsão de publicação informada.
Como seguir a sequência
Assista às aulas na ordem da lista. Quando um vídeo ainda estiver sendo preparado para publicação, leia o material de apoio e volte ao vídeo quando ele estiver disponível. As datas são previsões de publicação.
O vídeo de Database Branching fica ao final como aprofundamento opcional: é um tema específico de evolução de bancos e não um pré-requisito para a trilha principal.
O que você vai conseguir fazer
Ao terminar, você poderá explicar por que uma decisão é arquitetural, mostrar as dependências que ela cria e justificar uma alternativa com base em requisitos e consequências observáveis. O objetivo não é escolher uma arquitetura universal: é saber comparar opções para o sistema que está sendo construído.
- 01Separar design local de decisões arquiteturais e explicitar os trade-offs
- 02Comparar REST e GraphQL a partir das necessidades de quem consome a API
- 03Reconhecer acoplamento, coesão e modularização e aplicar princípios SOLID
- 04Usar padrões de projeto sem esconder o fluxo ou adicionar abstração desnecessária
- 05Desenhar limites com Clean Architecture, Ports and Adapters e módulos
- 06Comparar monólitos, microsserviços, eventos e filas a partir de requisitos concretos
- 07Avaliar decisões com atributos de qualidade, operação e evolução do sistema
19 aulas, nesta ordem
0 / 19 CONCLUÍDAS · ENTRE PARA SALVAR
01 · 28 MINFundamentos de arquitetura de software para backend
02 · 12 MINUma visão geral sobre arquitetura de software
03 · 29 MINEscolhendo uma abordagem de API: REST ou GraphQL
04 · 23 MINArquitetura de código: SOLID, acoplamento, coesão e modularização
- 05 · VÍDEO PREVISTO 20/10/2026
Design Patterns na prática: Factory, Strategy, Adapter e Dependency Injection
06 · 83 MINO que é Clean Architecture
- 07 · VÍDEO PREVISTO 22/10/2026
Clean Architecture e arquitetura hexagonal: ports, adapters e inversão de dependência
08 · 118 MINClean Architecture com Java
09 · 91 MINPadrões de arquitetura de software com Spring Boot: Clean e Hexagonal
10 · 49 MINArquitetura hexagonal na prática com Java e Spring Boot
- 11 · VÍDEO PREVISTO 15/10/2026
Do localhost à produção: servidores, máquinas virtuais, containers e deploy
12 · 106 MINIntrodução à modelagem de arquitetura e System Design
- 13 · VÍDEO PREVISTO 03/11/2026
Monólito modular: domínios, módulos, banco de dados e transações
- 14 · VÍDEO PREVISTO 12/11/2026
Monólito vs. microsserviços: quando usar, comunicação e dados distribuídos
15 · 112 MINArquitetura orientada a eventos: SNS, SQS e Kafka
- 16 · VÍDEO PREVISTO 05/11/2026
Arquitetura assíncrona: filas e eventos
17 · 62 MINSystem Design: conceitos importantes para uma pessoa sênior
18 · 27 MINEstudo de caso: arquitetura backend do Facebook
19 · 18 MINEvolução de bancos em produção: Database Branching
