Apresentação da Disciplina: APIs e Microsserviços 📖
Bem-vindos à disciplina de APIs e Microsserviços! Nesta matéria, vamos explorar a construção de sistemas distribuídos utilizando APIs e arquiteturas baseadas em microsserviços. O objetivo ao longo do semestre é fornecer uma compreensão sólida sobre como projetar, desenvolver e implantar aplicações modernas escaláveis, seguras e eficientes.
Ao longo do curso, discutiremos a transição de arquiteturas monolíticas para microsserviços, abordando suas vantagens e desafios. Aprenderemos sobre padrões arquiteturais, autenticação e autorização, boas práticas de desenvolvimento, testes, conteinerização e escalabilidade, de forma a apresentar cenários reais do mercado de tecnologia.
Ao término do curso é esperado que vocês estejam aptos a compreender os desafios que envolvem o desenvolvimento de aplicações robustas e escaláveis, e que sejam capazes de enfrentá-los por meio da adoção de práticas estabelecidas na literatura de desenvolvimento de software. A disciplina será prática e orientada a projetos, proporcionando experiências aplicadas ao desenvolvimento de APIs e microsserviços.
Conteúdo Programático da Disciplina 🛠️
-
Construção de APIs REST e uso de verbos HTTP
- Arquitetura e fundamentos das APIs REST
- Padrões e boas práticas de desenvolvimento
- Estratégias de autenticação e autorização
- Testes unitários, funcionais e de integração
- Refatoração e reúso de código
-
Construção de aplicações baseadas em microsserviços
- Arquiteturas para construção de microsserviços
- Boas práticas de codificação
- Desenvolvimento de Projeto baseado em microsserviços
-
Conteinerização de microsserviços
- Uso de contêineres para empacotamento e execução
- Benefícios e desafios da conteinerização
-
Deploy de microsserviços
- Estratégias de implantação
- Automação de deploy
-
Conceitos de orquestração e coreografia de coleções de microsserviços
- Gerenciamento e coordenação de microsserviços
-
Introdução ao CI/CD, Load Balance, Bancos de Dados Distribuídos e Serviços de Cache
- Automação de integração e entrega contínua
- Balanceamento de carga e otimização de desempenho
- Gerenciamento de dados em ambientes distribuídos
-
Segurança em aplicações baseadas em microsserviços
- Estratégias de proteção contra vulnerabilidades
- Boas práticas de segurança
-
Tópicos de escalabilidade nas aplicações de microsserviços
- Estratégias para lidar com alta demanda e crescimento
- Arquiteturas resilientes e eficientes
Essa disciplina será desenvolvida utilizando Java e Spring Boot como principais tecnologias, permitindo que vocês experimentem na prática a construção e o gerenciamento de microsserviços. Livro base:
- NEWMAN, Sam. Criando microsserviços: projetando sistemas com componentes menores e mais especializados. 2. ed. São Paulo: Novatec, 2022. 688 p. ISBN 978-65-86057-88-1.
Preparem-se para um curso repleto de desafios! 🚀