Skip to content

Platforms, Microservices and APIs

Info

Workload: 80 hours

Semester: 5th

Syllabus

Concepts of monolithic and microservice applications; containerization; software design patterns; application monitoring and traceability; security (authentication and authorization); messaging; distributed data; cloud computing orchestration, management systems, monitoring and configuration of virtualized resources; integration between development and operations; use of cloud platforms in production (cloud computing); automation of cloud system management — DevOps; serverless computing — FaaS (function as a service); the platform as a product for business: Infrastructure as a Service (IaaS), Platform as a Service (PaaS) and Software as a Service (SaaS); service level management (SLA — Service Level Agreement); project and operating costs of cloud systems.

Objectives

By the end of the course the student will be able to:

  1. Make decisions about architectural strategies to address computational problems;
  2. Implement and interconnect applications to build high-performance platforms: scalability through cloud computing techniques;
  3. Administer a cloud management system, provisioning the required infrastructure as a service;
  4. Build, with the help of frameworks, complete and integrated platform solutions in a professional way;
  5. Design and implement robust software delivery pipelines (CI/CD);
  6. Analyze, design and specify a mixed cloud computing solution based on hardware, software and networks to meet the requirements of a given service level agreement (SLA);
  7. Plan and analyze the use of enterprise platforms as a basis for creating new businesses (PaaS).

Course Content

  1. Architecture and microservice concepts;
  2. Microservices with an API interface — RESTful;
  3. Introduction to containers;
  4. Introduction to and implementation of design patterns;
  5. More complex design patterns: security, messaging, cache, etc.;
  6. Cloud computing fundamentals;
  7. Orchestration, deployment and monitoring of virtualized and distributed environments;
  8. Infrastructure as a Service;
  9. Software-defined networking;
  10. Software as a Service;
  11. Service level management.

Basic Bibliography

Books:

  1. ROMAN, Ed; AMBLER, Scott W.; JEWELL, Tyler. Dominando Enterprise Javabeans. Porto Alegre: Bookman, 2004. E-book. ISBN 9788577804061. Available at: https://integrada.minhabiblioteca.com.br/#/books/9788577804061. Accessed on: May 30, 2023.

  2. ALVES, William Pereira. Java para Web - Desenvolvimento de Aplicações. São Paulo: Érica, 2015. E-book. ISBN 9788536519357. Available at: https://integrada.minhabiblioteca.com.br/#/books/9788536519357. Accessed on: May 30, 2023.

  3. FREEMAN, Emily. DevOps Para Leigos. Rio de Janeiro: Editora Alta Books, 2021. E-book. ISBN 9788550816661. Available at: https://integrada.minhabiblioteca.com.br/#/books/9788550816661. Accessed on: May 30, 2023.

Further Reading

Books:

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

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

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

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

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

  6. GAMMA, E.; HELM, R.; JOHNSON, R., VLISSIDES, J., Design Patterns: Elements of Reusable Object-Oriented Software, 1st 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., YouTube channel.

Articles: