Programa do Curso
Introdução aos Sistemas Distribuídos
- O que é um sistema distribuído?
- Desafios comuns: latência, consistência, disponibilidade
- Noções gerais sobre componentes do sistema e modelos de comunicação
Princípios de Escalabilidade
- Escala vertical versus escala horizontal
- Balanço de carga e elasticidade
- Escalando armazenamento, computação e E/S
Padrões Arquiteturais
- Arquiteturas cliente-servidor e em múltiplas camadas
- Arquitetura orientada a serviços e microsserviços
- Arquitetura orientada a eventos e filas de mensagens
Teorema CAP e Modelos de Consistência
- Explicação do teorema CAP
- Consistência forte versus consistência eventual
- Escolha entre consistência e disponibilidade
Estratégias de Distribuição e Armazenamento de Dados
- Particionamento e sharding
- Estratégias de replicação e leituras/escritas por quórum
- Bancos de dados distribuídos e armazenamento chave-valor
Comunicação e Coordenação em Sistemas Distribuídos
- REST, gRPC, brokers de mensagens (ex.: Kafka, RabbitMQ)
- Eleição de líder e consenso distribuído
- Uso de Zookeeper ou etcd para coordenação
Tolerância a Falhas e Confiabilidade
- Design para falhas e degradação graciosa
- Mecanismos de retry, timeouts e circuit breakers
- Monitoramento, observabilidade e engenharia de caos
Práticas Modernas de Implementação Nativas em Cloud
- Containers, orquestração e Kubernetes
- Ausência de estado (statelessness) e imutabilidade
- Melhores práticas para segurança em sistemas distribuídos
Resumo e Próximos Passos
Requisitos
- Compreensão dos conceitos básicos de redes e design de sistemas
- Experiência com práticas gerais de desenvolvimento de software
- Conhecimento prévio em computação em nuvem e design de APIs é benéfico
Público-alvo
- Arquitetos de software e líderes técnicos
- Engenheiros de backend e profissionais de DevOps
- Designers de sistemas criando aplicações cloud escaláveis
Testemunhos de Clientes (3)
A explicação de todos os componentes e dos usos dos mesmos nos exemplos
Olga Elizova
Curso - Enterprise Architecture in the UAF
Máquina Traduzida
Projeto preparado em que poderíamos trabalhar desde o início, sem desperdiçar tempo configurando arquivos não necessários nos exercícios. Disposição para responder a todas as questões levantadas pelos participantes.
Robert Walczak - Hitachi Energy
Curso - Systems Modeling with SysML and Enterprise Architect (EA)
Máquina Traduzida
Faça exercícios no EA.
Pawel - Krajowa Szkola Skarbowosci
Curso - UML in Enterprise Architect (workshops)
Máquina Traduzida