Curso Microsservicos e Arquiteturas Orientadas a Eventos

  • Tesouraria Seguros & Setor Publico

Curso Microsservicos e Arquiteturas Orientadas a Eventos

24 horas
Visão Geral

O curso Microsserviços e Arquiteturas Orientadas a Eventos apresenta os fundamentos, princípios e práticas necessários para projetar sistemas distribuídos modernos baseados em microsserviços e eventos.

O treinamento aborda a evolução de arquiteturas monolíticas para arquiteturas modulares e distribuídas, os princípios de decomposição de aplicações, definição de limites de serviços, comunicação entre microsserviços, APIs, mensageria e arquitetura orientada a eventos.

Os participantes também aprenderão como lidar com os principais desafios de sistemas distribuídos, incluindo acoplamento, comunicação assíncrona, consistência de dados, falhas, idempotência, resiliência, segurança e observabilidade.

A abordagem combina conceitos arquiteturais com exercícios e laboratórios guiados. Ao final, os participantes desenvolverão uma arquitetura de referência utilizando microsserviços, APIs e eventos.

Objetivo

Após realizar este curso Microsserviços e Arquiteturas Orientadas a Eventos, você será capaz de:

  • Compreender os fundamentos de arquiteturas de microsserviços
  • Identificar características, benefícios e desafios dos microsserviços
  • Avaliar quando utilizar uma arquitetura de microsserviços
  • Decompor uma aplicação monolítica em serviços
  • Definir responsabilidades e limites dos microsserviços
  • Aplicar princípios de baixo acoplamento e alta coesão
  • Utilizar conceitos básicos de DDD para definição de serviços
  • Projetar APIs para comunicação entre microsserviços
  • Diferenciar comunicação síncrona e assíncrona
  • Compreender os fundamentos de arquiteturas orientadas a eventos
  • Projetar fluxos utilizando eventos e mensagens
  • Compreender o funcionamento de brokers de mensagens
  • Utilizar conceitos fundamentais de Kafka e RabbitMQ
  • Definir contratos básicos de eventos
  • Aplicar padrões básicos de resiliência
  • Compreender idempotência e consistência eventual
  • Conhecer o padrão Saga para transações distribuídas
  • Aplicar conceitos básicos de segurança e observabilidade
  • Projetar uma arquitetura de referência baseada em microsserviços e eventos
  • Avaliar os principais trade-offs de uma arquitetura distribuída
Publico Alvo
  • Arquitetos de Software
  • Arquitetos de Soluções
  • Engenheiros de Software
  • Desenvolvedores
  • Tech Leads
  • Analistas de Sistemas
  • Engenheiros de Integração
  • Profissionais de DevOps
  • Profissionais de Cloud
  • Profissionais envolvidos com modernização de sistemas
  • Profissionais de transformação digital
  • Gestores técnicos e líderes de equipes de desenvolvimento
Pre-Requisitos
  • Conhecimentos básicos de desenvolvimento de software
  • Conhecimentos básicos de arquitetura de software
  • Conhecimentos de APIs e Web Services
  • Conhecimentos básicos de HTTP e REST
  • Conhecimentos básicos de bancos de dados
  • Experiência profissional com sistemas de software é recomendada
Informações Gerais

Duração

24 horas

Distribuição da carga horária

Módulo Conteúdo Carga
1 Fundamentos de Microsserviços 3h
2 Decomposição e Design de Microsserviços 3h
3 APIs e Comunicação entre Microsserviços 3h
4 Arquiteturas Orientadas a Eventos 4h
5 Mensageria e Event Streaming 3h
6 Resiliência e Consistência em Sistemas Distribuídos 3h
7 Segurança e Observabilidade 2h
8 Workshop Final de Arquitetura 3h
Total   24h
Materiais
Inglês/Português + Exercícios + Lab Pratico
Conteúdo Programatico

Fundamentos de Microsserviços — 3h

Arquitetura de aplicações

  • Evolução das arquiteturas de software
  • Arquiteturas monolíticas
  • Monólito modular
  • Arquiteturas distribuídas
  • Introdução aos microsserviços
  • Características de uma arquitetura de microsserviços
  • Independência e autonomia dos serviços

Benefícios e desafios

  • Escalabilidade
  • Implantação independente
  • Flexibilidade tecnológica
  • Isolamento de falhas
  • Complexidade distribuída
  • Comunicação entre serviços
  • Latência
  • Consistência de dados
  • Complexidade operacional

Microsserviços ou monólito?

  • Quando utilizar microsserviços
  • Quando manter uma arquitetura monolítica
  • Quando utilizar um monólito modular
  • Principais trade-offs

Exercício

Análise de uma aplicação monolítica e identificação de situações nas quais microsserviços poderiam ou não ser utilizados.


Decomposição e Design de Microsserviços — 3h

Decomposição de sistemas

  • Decomposição por domínio
  • Decomposição por capacidade de negócio
  • Responsabilidades dos serviços
  • Coesão
  • Acoplamento
  • Service Boundaries

Introdução ao DDD aplicado a microsserviços

  • Domínio
  • Subdomínio
  • Bounded Context
  • Entidades
  • Agregados
  • Domain Events

Dados e microsserviços

  • Banco de dados por serviço
  • Compartilhamento de dados
  • Independência de persistência
  • Consistência entre serviços

Exercício prático

A partir de uma aplicação monolítica:

Sistema → Domínios → Bounded Contexts → Serviços

Os participantes deverão definir:

  • Domínios
  • Serviços
  • Responsabilidades
  • Limites
  • Principais dependências

APIs e Comunicação entre Microsserviços — 3h

Comunicação síncrona

  • HTTP
  • REST
  • JSON
  • Request/Response
  • APIs entre serviços
  • Contratos de APIs
  • Versionamento

Comunicação assíncrona

  • Mensagens
  • Eventos
  • Filas
  • Tópicos
  • Produtores
  • Consumidores

API Gateway

  • Conceito
  • Roteamento
  • Autenticação
  • Controle de acesso
  • Rate Limiting
  • Agregação de APIs

Service Discovery

  • Conceito
  • Descoberta de serviços
  • Registro
  • Health Check

Laboratório

Construção de uma arquitetura simples:

Cliente → API Gateway → Microsserviço → Banco de Dados

Definição de:

  • Endpoints
  • Métodos HTTP
  • Request
  • Response
  • Contrato
  • Tratamento básico de erros

Arquiteturas Orientadas a Eventos — 4h

Fundamentos de Event-Driven Architecture

  • Conceito de evento
  • Event Producer
  • Event Consumer
  • Event Broker
  • Comunicação assíncrona
  • Processamento orientado a eventos

Modelos de comunicação

  • Point-to-Point
  • Publish/Subscribe
  • Event Notification
  • Event Streaming

Eventos

  • Eventos de negócio
  • Event Schema
  • Event Contract
  • Identificação de eventos
  • Versionamento
  • Compatibilidade
  • Correlation ID

Choreography e Orchestration

  • Event Choreography
  • Event Orchestration
  • Diferenças
  • Vantagens
  • Limitações
  • Quando utilizar cada abordagem

Microsserviços orientados a eventos

  • Produtores
  • Consumidores
  • Fluxos assíncronos
  • Desacoplamento
  • Escalabilidade
  • Processamento independente

Laboratório

Construção de um fluxo:

Microsserviço A → Evento → Broker → Microsserviço B

Os participantes deverão definir:

  • Evento
  • Produtor
  • Consumidor
  • Contrato
  • Tópico/Fila
  • Fluxo de processamento

Mensageria e Event Streaming — 3h

Fundamentos de mensageria

  • Message Broker
  • Filas
  • Tópicos
  • Producers
  • Consumers
  • Consumer Groups
  • Acknowledgement
  • Retenção de mensagens

RabbitMQ

  • Conceito de Exchange
  • Queue
  • Binding
  • Routing Key
  • Producer
  • Consumer

Apache Kafka

  • Brokers
  • Topics
  • Partitions
  • Producers
  • Consumers
  • Consumer Groups
  • Offsets

Kafka e RabbitMQ

  • Principais diferenças
  • Mensageria versus Event Streaming
  • Casos de uso
  • Critérios de escolha

Laboratório

Implementação de um fluxo simples:

Producer → Broker → Consumer

Com exercícios de:

  • Publicação
  • Consumo
  • Múltiplos consumidores
  • Processamento de mensagens
  • Reprocessamento

Resiliência e Consistência em Sistemas Distribuídos — 3h

Falhas em sistemas distribuídos

  • Falha de comunicação
  • Timeout
  • Indisponibilidade
  • Falha parcial
  • Cascata de falhas

Padrões básicos de resiliência

  • Retry
  • Timeout
  • Exponential Backoff
  • Circuit Breaker
  • Bulkhead
  • Rate Limiting

Idempotência

  • Conceito
  • Operações idempotentes
  • Processamento duplicado
  • Identificação de requisições
  • Mensagens duplicadas

Consistência

  • Consistência forte
  • Consistência eventual
  • Trade-offs

Transações distribuídas

  • Problema das transações distribuídas
  • Saga
  • Choreography
  • Orchestration
  • Compensating Transactions

Exercício prático

Análise de um fluxo distribuído com falhas e definição de:

  • Retry
  • Timeout
  • Idempotência
  • Circuit Breaker
  • Estratégia de consistência
  • Saga

Segurança e Observabilidade — 2h

Segurança

  • Security by Design
  • Autenticação
  • Autorização
  • OAuth 2.0
  • JWT
  • Segurança de APIs
  • Comunicação segura entre serviços
  • Gestão de Secrets

Observabilidade

  • Logs
  • Métricas
  • Traces
  • Distributed Tracing
  • Correlation ID
  • Health Checks

Exercício

Identificação dos principais requisitos de segurança e observabilidade para uma arquitetura baseada em microsserviços.


Workshop Final de Arquitetura — 3h

Desafio

Os participantes deverão projetar uma solução baseada em microsserviços e arquitetura orientada a eventos.

O cenário será definido pelo instrutor e deverá representar uma aplicação que necessite de integração entre diferentes componentes.

Etapa 1 — Identificação do domínio

  • Capacidades de negócio
  • Domínios
  • Bounded Contexts

Etapa 2 — Definição dos microsserviços

  • Serviços
  • Responsabilidades
  • Service Boundaries
  • Dependências

Etapa 3 — Comunicação

Definição de:

  • APIs
  • Comunicação síncrona
  • Comunicação assíncrona
  • Eventos
  • Mensagens

Etapa 4 — Arquitetura

Definição de:

  • API Gateway
  • Microsserviços
  • Broker
  • Banco de dados
  • Eventos
  • Fluxos de comunicação

Etapa 5 — Resiliência

Definição de:

  • Retry
  • Timeout
  • Idempotência
  • Tratamento de falhas

Etapa 6 — Segurança e observabilidade

Definição dos principais:

  • Controles de segurança
  • Logs
  • Métricas
  • Traces

Entrega final

Cada grupo deverá apresentar:

  • Diagrama da arquitetura
  • Microsserviços definidos
  • Responsabilidades
  • APIs
  • Eventos
  • Fluxos de comunicação
  • Estratégia de mensageria
  • Estratégia de resiliência
  • Segurança
  • Observabilidade
  • Principais decisões arquiteturais
TENHO INTERESSE

Cursos Relacionados

Curso SAP TRM - Processes in Treasury and Risk Management

32 horas

Curso SAP TRM - Customizing em Tesouraria e Gerenciamento de Riscos

32 horas

Curso SAP FSCD Soluções para Operadoras de Seguros

32 horas

Curso TRM Customizing in Treasury & Risk Management

32 horas

Curso SAP TRM Com Matemática Financeira e HP12c

16 horas

Curso SAP TRM S4hana Processes in Treasury and Risk Management

32 horas

Curso S4hana Implementing Cash Management

32 horas

Curso Ciencia Política Aplicada ao Setor Publico Fundamentos

24 horas

Curso Introducao ao Atendimento no Servico Publico Previdenciario

16 horas

Curso Etica Empresarial e Integridade Corporativa

20 horas