Skip to content

Plataformas, Microsserviços e APIs

Info

Carga Horária: 80

Semestre: 5º período

Ementa

Conceitos de Aplicações em Monólíto e Microserviços; Conteinerização; Padrões de Construção de Softwares (Design Patterns); Monitoramento e Rastreabilidade de Aplicações; Segurança (autenticação e autorização); Mensageria; Dados Distribuídos; Orquestração de computação em nuvem, sistemas de gerenciamento, monitoramento e configuração de recursos virtualizados; Integração entre Desenvolvimento e Operação; Utilização de Plataformas em Nuvem para Produção (Cloud Computing); Aspectos de automação de gestão de sistema em cloud – DevOps. Serverless computing – FaaS - function as a service; Utilização da Plataforma como Produto para Negócios: Infraestrutura como Serviço (IaaS), Plataforma como Serviço (PaaS) e Software como Serviço (SaaS). Gestão de níveis de serviço (SLA - Service Level Agreement). Custos de projeto e de operação de sistemas em cloud.

Objetivos

Ao final da disciplina o aluno será capaz de:

  1. Tomar decisões a respeito da escolha de estratégias de arquiteturas para o emprego de problemas computacionais;
  2. Implementar e interconectar aplicações computacionais para a construção de plataformas de alto desempenho: escalabilidade por meio do uso de técnicas de computação em nuvem;
  3. Administrar um sistema de gerenciamento de nuvem, provisionando a infraestrutura necessária como um serviço;
  4. Construir, com o auxílio de frameworks, soluções de plataformas completas e integradas de forma profissional;
  5. Arquitetar e implementar linhas de produções de softwares robustos (CI/CD);
  6. Analisar, projetar e especificar uma solução de computação em nuvem mista baseada em hardware, software e redes para atender aos requisitos de determinado pacto de nível de serviço (SLA);
  7. Planejar e analisar o uso de plataformas empresariais como subsídio para criação de novos negócios (PaaS).

Conteúdo Programático

  1. Conceitos de Arquitetura e Microsserviços;
  2. Microsserviços com Interface API - RESTful;
  3. Introdução a Contêineres;
  4. Introdução e Implementação de Design Patterns;
  5. Apresentação de Design Patterns mais Complexos: Segurança, Mensageria, Cache, etc;
  6. Fundamentos de Computação em Nuvem.
  7. Orquestração, Implementação e Monitoramento de Ambientes Virtualizados e Distribuídos;
  8. Infraestrutura como um Serviço.
  9. Redes Definidas por Software;
  10. Software como um Serviço;
  11. Gestão de Níveis de Serviço.

Bibliografia Básica

Livros:

  1. ROMAN, Ed; AMBLER, Scott W.; JEWELL, Tyler. Dominando Enterprise Javabeans. Porto Alegre: Bookman, 2004. E-book. ISBN 9788577804061. Disponível em: https://integrada.minhabiblioteca.com.br/#/books/9788577804061. Acesso em: 30 de maio de 2023.

  2. ALVES, William Pereira. Java para Web - Desenvolvimento de Aplicações. São Paulo: Érica, 2015. E-book. ISBN 9788536519357. Disponível em: https://integrada.minhabiblioteca.com.br/#/books/9788536519357. Acesso em: 30 de maio de 2023.

  3. FREEMAN, Emily. DevOps Para Leigos. Rio de Janeiro: Editora Alta Books, 2021. E-book. ISBN 9788550816661. Disponível em: https://integrada.minhabiblioteca.com.br/#/books/9788550816661. Acesso em: 30 de maio de 2023.

Bibliografia Complementar

Livros:

  1. XU, A., System Design Interview - An insider's guide, 1ª ed., Independently Published, 2020.

  2. MARTIN, R. C., Arquitetura Limpa: o guia do artesão para estrutura e design de software, 1ª ed., Alta Books, 2018.

  3. PARKER, G. G.; VAN ALSTYNE, M. W.; CHOUDARY, S. P., Plataforma: a revolução da estratégia, 1ª ed., Alta Books, 2018.

  4. SEHGAL, N. K.; BHATT, P. C. P.; ACKEN J. M., Cloud Computing with Security and Scalability.: Concepts and Practices, 3ª ed., Springer, 2023.

  5. KRIEF, M., Learning DevOps: A comprehensive guide to accelerating DevOps culture adoption with Terraform, Azure DevOps, Kubernetes, and Jenkins, 2ª ed., Packt Publishing, 2022.

  6. GAMMA, E.; HELM, R.; JOHNSON, R., VLISSIDES, J., Design Patterns: Elements of Reusable Object-Oriented Software, 1ª ed., Addison-Wesley Professional, 1994.

  7. SANTANA, E. F. Z., Back-end Java: Microsserviços, Spring Boot e Kubernetes, Casa do Código, 2021. Material.

  8. SANTANA, E. F. Z., Apache Kafka e Spring Boot: Comunicação assíncrona entre microsserviços, Casa do Código, 2022. Material.

  9. VERONEZ, F., Canal do YouTube.

Artigos: