Pós‐Graduação em Software Architecture ‐ FIAP - soat-fiap/FIAP.TechChallenge.ByteMeBurger GitHub Wiki
Conteúdo do Curso
Fase 01 - Mês 1 e 2: Containers na Arquitetura de Software
- DDD (Domain-Driven Design):
- Introdução ao Domain-Driven Design
- Domain Storytelling
- Descoberta e formação do conhecimento
- Trabalhando com contextos delimitados
- Implementando arquitetura e lógica
- Event Storming
- Dockerização:
- O que é Docker
- Images e Registry
- Dockerfile e Docker Compose
- Docker Hub
- Docker Network
- Escalando container Docker com Elasticsearch
- Subindo uma imagem Docker na AWS
- Arquitetura de Software:
- Introdução à arquitetura de software
- Processo e modularização
- Documentação, testabilidade, modificabilidade
- Escalabilidade, disponibilidade e desempenho
- Arquitetura Hexagonal
Fase 02 - Mês 3 e 4: Gerenciamento de Kubernetes
- Kubernetes:
- O que são Kubernetes
- Criando e rodando Kubernetes
- Pods, Rótulos e anotações
- Services e ConfigMap
- Escalabilidade com ReplicaSets e Deployment
- Armazenamento de dados com Volumes
- Disponibilidade e a confiabilidade com Probes
- Dimensionamento automático com HPA
- Kubernetes Parte II:
- Trabalhando de forma ativa utilizando os Jobs
- Logs e monitoramento EFK
- Trabalhando com Helm
- Trabalhando com EKS
- AWS EKS na prática - Parte 1
- AWS EKS na prática - Parte 2
- Kubernetes CI/CD
- Segurança no AWS EKS
- Monitoramento e Logging EKS
- Clean Architecture:
- A Clean Architecture
- Entendo a arquitetura na Clean Architecture
- A camada Entidades na Clean Architecture
- Aplicando técnicas de Clean Code em testes na prática
- Clean architecture - Program paradigms e components paradigms
- Clean architecture - Design Principles
- Clean architecture - The architecture
- Clean architecture - Implementando a arquitetura
Fase 03 - Mês 5 e 6: Distribuição da Aplicação
- Desenvolvimento Serverless:
- Serverless - o início
- Entendendo os custos utilizando o serverless
- Criando containers e artefatos
- Conectando com outros serviços e API Gateway
- Realizando Autenticação e serviços de identificação
- AWS SAM e Funções Lambda
- DevOps (IaC and CI/CD):
- CI/CD Principais conceitos
- Melhores práticas com o Github
- Como criar testes automatizados com CI
- Qualidade do código-fonte
- Criando CD com o Github Actions
- Terraform - criando a nuvem com código
- Data Engineering:
- Fundamentação e SGBDs
- Bancos de dados e documentos com MongoDB
- Bancos de Dados de chave-valor com Redis
- Bancos de Dados Colunares com Cassandra
- Bancos de dados orientados a grafos com Neo4J
- Cloud e DBaaS
- Bancos de dados e Microsserviços
Fase 04 - Mês 7 e 8: Arquitetura de Microsserviços
- Estrutura de Microsserviços:
- Estratégias de padrões de microsserviços
- Comunicação entre processos com microsserviços
- Gerenciando microsserviços com Sagas
- Desenhando a lógica de negócios com microsserviços
- Usando padrão Cors
- Estrutura de Microsserviços Parte II:
- Aplicando a lógica de negócios em nosso microsserviço
- Testando microsserviços
- Realizando o deploy de microsserviços
- Estratégias de refatorar um monolito em microsserviços
- Aplicação prática de refatoração de monolito em microsserviços
- Qualidade de Software:
- Introdução à Qualidade de Software
- Aplicando TDD com o jUnit
- Testes Integrados e Inspeção de código
- Testes de integração no Controller
- Aplicando testes na CI e BDD
- Testes não funcionais e de performance
Fase 05 - Mês 9 e 10: Dados e Segurança da Informação
- SAGA Pattern:
- Padrão SAGA de gerenciamento
- Coordenando SAGAs
- Ordem de serviço e criando ordens SAGAs
- Arquitetura baseada em eventos
- Aplicando SAGA Patterns na prática
- Desenvolvimento Seguro:
- Princípios básicos na segurança da informação
- Codificação segura
- Aplicando codificação segura na autenticação
- OWASP e OWASP Top 10
- Aplicando segurança nos servidores
- Padrões de segurança
- Verificando vulnerabilidade e melhorando no código
- Ferramentas e técnicas de avaliação de riscos
- Privacidade de Dados e LGPD:
- Proteção de dados pessoais
- Semelhanças entre LGPD e GDPR
- Agentes de tratamento
- Inteligência artificial e uso de algoritmos, Como fazer isso mantendo a ética by design no uso dos dados
- Governança de dados
- Quais os aspectos importantes do LGPD no desenvolvimento
- Exemplos práticos de aplicação de LGPD
Observações:
- Este conteúdo é uma estimativa baseada nas informações disponíveis no site da FIAP.
- O conteúdo programático real pode variar e é importante consultar a FIAP para obter informações precisas.