Arquitetura de Software & Design de Sistemas Modernos
RECURSOS DO TREINAMENTO
Instrutores
Douglas Mugnos
Level
Iniciante - Intermediário
Carga Horária
10 horas
Simulado
SOBRE O TREINAMENTO
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.
O que você irá aprender
- Entender os fundamentos de design de sistemas escaláveis e robustos
- Conhecer padrões de resiliência como Circuit Breaker e Retry
- Diferenciar entre arquiteturas monolíticas, microsserviços, containers, serverless, event, e outras
- Explorar estratégias eficazes de deployment,
- Garantir alta disponibilidade e tolerância a falhas nos sistemas.
- Conhecer padrões de comunicação e transações em sistemas distribuídos
- Aprender sobre técnicas de sharding e particionamento de dados.
- Escolhas certas de patterns para a sua necessidade e conhecer as limitações e trade-offs
- Auxilia na modernização/refatoração de arquitetura
- Conhecer o que já funciona sem precisar criar algo novo para testar
- Conhecer as principais práticas aplicadas em sistemas modernos
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.
Explora técnicas de persistência de dados, incluindo Polyglot Persistence, Change Data Capture (CDC), e padrões de sharding e particionamento de banco de dados.
Aborda como projetar sistemas resilientes e escaláveis, utilizando patterns como Circuit Breaker, Retry, Service Mesh, e técnicas avançadas como Chaos Engineering.
Discute como evoluir e manter aplicações ao longo do tempo, utilizando patterns como Strangler Fig, Feature Toggles, e Anti-corruption Layer.
Ensina estratégias de deployment eficientes e seguras, incluindo Blue-Green Deployment, Canary Release, e Shadow Deployment.
Conteúdo do Treinamento
- Sobre o Treinamento
- Antes de começar!
- Sobre o Módulo
- Definindo: "Large Scale" e "Complex Archs"
- Princípios de sucesso de arquiteturas de Software
- Qual o problema você quer resolver? Planejamento alinhado aos objetivos de negócio (OKRs)
- Ciclo de mudanças de arquitetura
- High Availability vs Fault Tolerance
- Escalabilidade Horizontal vs Vertical
- SLO, SLI e SLA
- RTO vs RPO
- Sobre o 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 o Módulo
- Polyglot Persistence Patterns
- database-per-service e shared-database-per-service pattern
- Change data capture (CDC) Pattern
- Transacional Outbox Pattern
- Normalização e Desnormalização de dados "Pattern" / Materialized view
- CQRS (Command Query Responsibility Segregation)
- Cache-Aside Pattern
- Database Sharding Pattern
- Consistent Hashing
- Técnicas de Sharding avançada (Shuffle Sharding)
- Sobre o Módulo
- Polyglot Persistence Patterns
- database-per-service e shared-database-per-service pattern
- Change data capture (CDC) Pattern
- Transacional Outbox Pattern
- Normalização e Desnormalização de dados "Pattern" / Materialized view
- CQRS (Command Query Responsibility Segregation)
- Cache-Aside Pattern
- Database Sharding Pattern
- Consistent Hashing
- Técnicas de Sharding avançada (Shuffle Sharding)
- Sobre o 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
- 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
- Parabéns!
Faça parte da News!
Não perca nenhuma novidade em treinamentos, promoções exclusivas, lançamento de vídeos, eventos emocionantes e muito mais! Inscreva-se agora para receber todas essas atualizações diretamente na sua caixa de entrada.