Arquitetura de Software & Design de Sistemas Modernos
COURSE INFO
Instrutor
Douglas Mugnos
Nível
Qualquer Nível
Duração do Curso
10 horas
Certificado de Conclusão
Descrição
O curso “Arquitetura de Software & Design de Sistemas Modernos” é uma jornada abrangente projetada para capacitar profissionais da tecnologia a dominar os princípios e padrões que sustentam sistemas de software robustos, escaláveis e de alta disponibilidade. Ideal para arquitetos de software, engenheiros de sistemas e desenvolvedores, este curso oferece uma sólida base sobre os patterns, cobrindo desde os fundamentos até técnicas avançadas de design e implementação.
Ao longo dos módulos, são exploradas estratégias de infraestrutura, deployment, evolução arquitetural e boas práticas para sistemas distribuídos, sempre com foco em cenários reais de mercado.
O que você vai aprender
- Entender os fundamentos de design de sistemas escaláveis e robustos
- Diferenciar entre arquiteturas monolíticas, microsserviços, containers, serverless, event, e outras
- Garantir alta disponibilidade e tolerância a falhas nos sistemas.
- Aprender sobre técnicas de sharding e particionamento de dados.
- Auxilia na modernização/refatoração de arquitetura
- Conhecer as principais práticas aplicadas em sistemas modernos
- Conhecer padrões de resiliência como Circuit Breaker e Retry
- Explorar estratégias eficazes de deployment
- Conhecer padrões de comunicação e transações em sistemas distribuídos
O curso começa com uma introdução ao treinamento, estabelecendo as expectativas e objetivos. Aborda os princípios de sucesso em arquiteturas de software e a importância do planejamento alinhado aos objetivos de negócio (OKRs).
Este módulo explora os fundamentos do design de sistemas, incluindo diversos tipos de arquitetura e a evolução das mesmas. Aborda tópicos como arquitetura em três camadas, sistemas stateless e stateful, monolitos versus microsserviços, e muito mais.
Foca em padrões essenciais para comunicação eficiente e transações, como Queues, PubSub, Event Driven Architectures (EDA), e diversos padrões de orquestração e coreografia.
- Muitos outros módulos com temas extremamente relevantes.
Conteúdo do Curso
- Sobre o Treinamento
- Antes de começarmos
- Material de Apoio
- Sobre módulo
- Definindo: "Large Scale" e "Complex Archs"
- Principios de sucesso de arquiteturas de Software
- Qual o problema você quer resolver ? Planejamento alinhados ao negócio
- Ciclo de mudanças de arquitetura
- High Availability vs Fault Tolerance
- Escalabilidade Horizontal vs Vertical
- SLO, SLI e SLA
- RTO vs RPO
- Sobre módulo
- System Design vs System Architecture
- Tipos de arquitetura e evolução
- Three-Tier Architecture
- Stateless, Stateful e Imutabilidade
- Monolito vs Monolito Modular
- Monolito vs Microsserviços
- Arquitetura com Containers
- Tight Coupling and Loose Coupling
- Arquitetura utilizando Serverless
- API e API Gateway Pattern
- Load Balancing Pattern
- SYNC vs ASYNC, Arquitetura baseada em Eventos/Mensagens
- Strong vs Eventual Consistency
- ACID
- Caching de dados e de objetos
- Multi-tenant e Single Tenant app
- Sobre módulo
- Queues, PubSub e Messaging Fanout Pattern
- Event Driven Architectures (EDA)
- Streaming vs Messaging
- Choreography Pattern
- SAGA Pattern / Orchestration Pattern
- Choreography Pattern vs SAGA Pattern / Orchestration Pattern
- Event Sourcing
- Aggregator Design Pattern / API Composition Pattern
- Request Hedging Pattern
- Sobre módulo
- Polyglot Persistence Patterns
- database-per-service e shared-database-perservice pattern
- Change data capture (CDC) Pattern
- Transacional Outbox Pattern
- Normalização e Desnormalização de dados "Pattern" / Materialized view
- CQRS (Command Query Responsibility Segregation)
- Database Sharding Pattern
- Consistent Hashing
- Tecnicas de Sharding avançada (Shuffle Sharding)
- Cache-Aside Pattern
- Sobre módulo
- Sidecar, Ambassador e Adapter Pattern
- Service Mesh
- Service Registry e Discovery Pattern
- Load Shedding
- Load Shedding - ARTIGOS
- Circuit Breaker
- Retry Pattern e DLQ
- Bulkhead / Isolation Pattern / Isolamento Estático
- Traffic Sharding
- Rate Limit / Throttling Pattern
- Sobre o Módulo
- Backends for Frontends (BFF)
- Strangler Fig Pattern
- Feature Flag / Feature Toggle
- Anti-corruption Layer (ACL)
- Sobre o Módulo
- Como definir sua estratégia de deployment?
- In-place Deployment vs Immutable Deployment e Agent vs Agentless
- Esteira Pipeline, Build e Deployment
- All at Once / Big Bang / One-Shot / Full Deployment
- Rolling / Incremental / Gradual / Phased Deployment
- Blue-Green Deployment
- Canary Release Deployment
- Shadow Deployment / Dark Launch / Shadow Testing
Douglas Mugnos
Fundador e CEO
Olá, eu sou o Douglas Mugnos, arquiteto de aplicações, tenho mais de +16 anos intensos de estudos e experiência ajudando empresas multinacionais a construírem soluções resilientes e inovadoras. Se você já sentiu o peso das mudanças rápidas no mundo da tecnologia e a pressão de tomar decisões críticas, saiba que eu também já passei por isso.
Ao longo da minha carreira, treinei mais de 22.000 alunos (No Udemy e Fora) em tópicos que vão de Cloud Computing e SRE até Design Patterns e Automação. Meu objetivo sempre foi simplificar a complexidade e tornar a tecnologia mais acessível para profissionais de todos os níveis.
Além disso, sou criador de conteúdo e mantenho um canal no YouTube onde compartilho conhecimentos práticos e insights do mercado. Já ouvi de muitos alunos e seguidores que minhas dicas fizeram a diferença na carreira deles – e é isso que me motiva todos os dias.
Se você busca conteúdo direto, prático e relevante para superar desafios reais na área de tecnologia, você está no lugar certo.