Curso Microservices Development Bootcamp with immersive project

  • DevOps | CI | CD | Kubernetes | Web3

Curso Microservices Development Bootcamp with immersive project

32 horas
Visão Geral

Curso Microservices Development Bootcamp with immersive project. Uma combinação de conceitos teóricos e laboratórios práticos, este Bootcamp de desenvolvimento de microsserviços cobre fundamentos de DevOps, Git Flow, aplicativos de doze fatores, desenvolvimento de microsserviços e muito mais. O curso foi concebido como uma solução prática para que os alunos possam aplicar seus conhecimentos no trabalho imediatamente.

Objetivo

Após realizar este Microservices Development Bootcamp with immersive project você será capaz de:

  • Introdução às práticas DevOps e GitFlow
  • Dividindo monólitos em microsserviços
  • Construir usando Gradle
  • Criando serviços RESTful com Spring Boot
  • Usando bancos de dados e JPA no Spring Boot
  • Padrões de segurança e práticas recomendadas no Spring Boot
  • Implantando serviços resilientes e escaláveis
  • Padrões de roteamento de tráfego
  • Métricas e rastreamento de microsserviços
Publico Alvo
  • Desenvolvedores, arquitetos de soluções e líderes de equipe técnica.
Materiais
Inglês + Exercícios + Lab Pratico
Conteúdo Programatico

DevOps Fundamentals

  1. Why DevOps
  2. What is DevOps?
  3. Collaborative, Matrixed and Cross-Functional Teams
  4. Key Components of Successful DevOps Teams
  5. DevOps-ification
  6. DevOps Vocabulary
  7. DevOps Goals
  8. Not DevOps - Crush Buzzwords
  9. Driving Business Outcomes with DevOps
  10. Technology-Enabled Business
  11. DevOps Key Enabler for Digital Transformation
  12. Core Values and Mission
  13. Core Values - Culture
  14. Core Values - Automation
  15. Core Values - Measurement
  16. Core Values - Sharing
  17. Communication
  18. Collaboration
  19. Value Stream Mapping
  20. Behavioral Patterns for Success
  21. DevOps Org Structures
  22. DevOps Team - Separate
  23. DevOps Merged Organization
  24. DevOps Overlapped Organization
  25. Organizational Structure Leadership
  26. What Does Continuous Delivery Mean?
  27. Deployment Pipelines
  28. Your Organization is Doing CD if …
  29. Pipelining for CD
  30. Continuous Integration
  31. CI Pipeline
  32. CD & CI Methodologies
  33. Key Tool Categories for CI/CD

Introduction to Git Flow

  1. Why Use an SCM Workflow?
  2. Why Use an SCM Workflow? (Cond.)
  3. What is Git Flow
  4. The Main Branch
  5. Benefits
  6. How Git Flow works?
  7. How Git Flow works? (Contd.)
  8. What is Git Flow? (Contd.)
  9. How Git Flow works? (Contd.)
  10. Git Flow Extension
  11. Initializing Git Flow
  12. Features
  13. Release
  14. Hotfixes
  15. Git Flow and Continuous Integration
  16. Git Flow – Summary
  17. Git Flow – Pros and Cons
  18. Git Flow – When it Works Best?
  19. Git Flow – When it Doesn’t Work?
  20. Git Flow Alternatives
  21. Trunk-based Development
  22. Trunk-based Development (Contd.)
  23. Trunk-based Development – When it Works?
  24. Trunk-based Development – When it Doesn’t Work?
  25. GitHub Flow
  26. GitHub Flow – Pros and Cons
  27. GitLab Flow
  28. GitLab Flow – Environment Branches
  29. GitLab Flow – Release Branches
  30. GitLab Flow – Release Branches (Contd.)
  31. GitLab Flow – Pros and Cons

Breaking Up Monoliths – Pros and Cons

  1. Traditional Monolithic Applications and Their Place
  2. Disadvantages of Monoliths
  3. Developer's Woes
  4. Architecture Modernization
  5. Architecture Modernization Challenges
  6. Microservices Architecture is Not a Silver Bullet!
  7. What May Help?
  8. In-Class Discussion

Twelve-factor Applications

  1. Twelve-factor Applications
  2. Twelve Factors, Microservices, and App Modernization
  3. The Twelve Factors
  4. Categorizing the 12 Factors
  5. 12-Factor Microservice Codebase
  6. 12-Factor Microservice Dependencies
  7. 12-Factor Microservice Config
  8. 12-Factor Microservice Backing Services
  9. 12-Factor Microservice Build, Release, Run
  10. 12-Factor Microservice Processes
  11. 12-Factor Microservice Port Binding
  12. 12-Factor Microservice Concurrency
  13. 12-Factor Microservice Disposability
  14. 12-Factor Microservice Dev/Prod Parity
  15. 12-Factor Microservice Logs
  16. 12-Factor Microservice Admin Processes
  17. Kubernetes and the Twelve Factors - 1 Codebase
  18. Kubernetes and the Twelve Factors - 2 Dependencies
  19. Kubernetes and the Twelve Factors - 3 Config
  20. Kubernetes and the Twelve Factors - 4 Backing Services
  21. Kubernetes and the Twelve Factors - 5 Build, Release, Run
  22. Kubernetes and the Twelve Factors - 6 Processes
  23. Kubernetes and the Twelve Factors - 7 Port Binding
  24. Kubernetes and the Twelve Factors - 8 Concurrency
  25. Kubernetes and the Twelve Factors - 9 Disposability
  26. Kubernetes and the Twelve Factors - 10 Dev/Prod Parity
  27. Kubernetes and the Twelve Factors - 11 Logs
  28. Kubernetes and the Twelve Factors - 12 Admin Processes

Microservice Development

  1. What are Microservices?
  2. Microservices vs Classic SOA
  3. Principles of Microservices Architecture Design
  4. Domain-Driven Design
  5. Domain-Driven Design - Benefits
  6. Microservices and Domain-Driven Design
  7. Designing for failure
  8. Microservices Architecture – Pros
  9. Microservices Architecture – Cons
  10. Docker and Microservices
  11. Microservice Deployment with Docker – Workflow
  12. Writing Dockerfile
  13. Kubernetes
  14. What is OpenShift
  15. OpenShift Architecture
  16. Microservices and Various Applications
  17. Web Applications
  18. Web Applications – Reference Architecture
  19. Web Applications – When to use?
  20. Single Page Applications
  21. Single Page Applications – Benefits
  22. Traditional Enterprise Application Architecture
  23. Sample Microservices Architecture
  24. Serverless & Event-driven Microservice – AWS Lambda

gRPC

  1. What is gRPC?
  2. Protocol Buffers
  3. REST vs. gRPC
  4. Protobuf vs. JSON
  5. HTTP/2 vs. HTTP 1.1
  6. HTTP/2 vs. HTTP 1.1 (Contd.)
  7. Messages vs. Resources and Verbs
  8. Streaming vs. Request-Response
  9. Strong Typing vs. Serialization
  10. Web Browser Support
  11. REST vs. gRPC – In a Nutshell

Introduction to Spring Boot

  1. What is Spring Boot?
  2. Spring Framework
  3. How is Spring Boot Related to Spring Framework?
  4. Spring Boot 2
  5. Spring Boot Main Features
  6. Spring Boot on the PaaS
  7. Understanding Java Annotations
  8. Spring MVC and REST Annotations
  9. Example of Spring MVC-based RESTful Web Service
  10. Spring Booting Your RESTful Web Service
  11. Spring Boot Skeletal Application Example
  12. Starters
  13. Maven - The 'pom.xml' File
  14. Spring Boot Maven Plugin
  15. Gradle - The 'build.gradle' File
  16. Spring Boot Gradle Plugin
  17. HOWTO: Create a Spring Boot Application
  18. Spring Initializr

Overview of Spring Boot Database Integration

  1. DAO Support in Spring
  2. Spring Data Access Modules
  3. Spring JDBC Module
  4. Spring ORM Module
  5. DataAccessException
  6. @Repository Annotation
  7. Using DataSources
  8. DAO Templates
  9. DAO Templates and Callbacks
  10. ORM Tool Support in Spring

Using Spring with JPA

  1. Spring JPA
  2. Benefits of Using Spring with ORM
  3. Spring @Repository
  4. Using JPA with Spring
  5. Configure Spring Boot JPA EntityManagerFactory
  6. Application JPA Code
  7. Spring Boot Considerations
  8. Spring Data JPA Repositories
  9. Database Schema Migration
  10. Database Schema Migration for CI/CD using Liquibase
  11. How Liquibase Works?
  12. Changelogs in Liquibase
  13. Preconditions in Changelogs
  14. Sample Empty Changelog
  15. Sample Precondition in Changelog
  16. Sample Changeset in Changelog
  17. Running Liquibase
  18. Liquibase Commands

pring REST Services

  1. REpresentational State Transfer
  2. Principles of RESTful Services
  3. Understanding REST
  4. REST Example – Create
  5. REST Example – Retrieve
  6. REST Example – Update
  7. REST Example – Delete
  8. REST Example – Client Generated ID
  9. REST Example – JSON
  10. @RestController Annotation
  11. HTTP Request Method Mapping
  12. Path Variables and Query Parameters
  13. RequestBody and ResponseBody
  14. JAX-RS vs Spring
  15. Java Clients Using RestTemplate
  16. RestTemplate Methods
  17. RestTemplate Example
  18. Testing with Postman

Scripting in Postman

  1. Postman Scripts
  2. Organization
  3. Execution Order
  4. Pre-Request Scripts
  5. Post-Request Scripts
  6. Console Output
  7. Tests
  8. Sample Assertions
  9. Multiple Test Example
  10. Test Results
  11. Variables
  12. Variable Scope
  13. Defining Global Variables
  14. Defining GlobalVariables
  15.  
  16. Using Environment Variables
  17. Dynamic Variables

Spring Security

  1. Securing Web Applications with Spring Boot 2
  2. Spring Security
  3. Authentication and Authorization
  4. Programmatic vs Declarative Security
  5. Adding Spring Security to a Project
  6. Spring Security Configuration
  7. Spring Security Configuration Example
  8. Authentication Manager
  9. Using Database User Authentication
  10. LDAP Authentication
  11. What is Security Assertion Markup Language (SAML)?
  12. What is a SAML Provider?
  13. Spring SAML2.0 Web SSO Authentication
  14. Setting Up an SSO Provider
  15. Adding SAML Dependencies to a Project
  16. SAML vs. OAuth2
  17. OAuth2 Overview
  18. OAuth – Facebook Sample Flow
  19. OAuth Versions
  20. OAuth2 Components
  21. OAuth2 – End Points
  22. OAuth2 – Tokens
  23. OAuth – Grants
  24. Authenticating Against an OAuth2 API
  25. OAuth2 using Spring Boot – Dependencies
  26. OAuth2 using Spring Boot – application.yml
  27. OAuth2 using Spring Boot – Main Class
  28. OAuth2 using Spring Boot – Single Page Application Client
  29. JSON Web Tokens
  30. JSON Web Token Architecture
  31. How JWT Works
  32. JWT Header
  33. JWT Payload
  34. JWT Example Payload
  35. JWT Example Signature
  36. How JWT Tokens are Used
  37. Adding JWT to HTTP Header
  38. How The Server Makes Use of JWT Tokens
  39. What are “Scopes”?
  40. JWT with Spring Boot – Dependencies
  41. JWT with Spring Boot – Main Class

Docker Introduction

  1. What is Docker
  2. Where Can I Run Docker?
  3. Installing Docker Container Engine
  4. Docker Machine
  5. Docker and Containerization on Linux
  6. Linux Kernel Features: cgroups and namespaces
  7. The Docker-Linux Kernel Interfaces
  8. Docker Containers vs Traditional Virtualization
  9. Docker Integration
  10. Docker Services
  11. Docker Application Container Public Repository
  12. Competing Systems
  13. Docker Command Line
  14. Starting, Inspecting, and Stopping Docker Containers
  15. Docker Volume
  16. Dockerfile
  17. Docker Compose
  18. Using Docker Compose
  19. Dissecting docker-compose.yml
  20. Specifying services
  21. Dependencies between containers
  22. Injecting Environment Variables
  23. runC Overview
  24. runC Features
  25. Using runC
  26. Running a Container using runC

Introduction to Kubernetes

  1. What is Kubernetes
  2. What is a Container
  3. Container – Uses
  4. Container – Pros
  5. Container – Cons
  6. Composition of a Container
  7. Control Groups
  8. Namespaces
  9. Union Filesystems
  10. Popular Containerization Software
  11. Microservices
  12. Microservices and Containers / Clusters
  13. Microservices and Orchestration
  14. Microservices and Infrastructure-as-Code
  15. Kubernetes Container Networking
  16. Kubernetes Networking Options
  17. Kubernetes Networking – Balanced Design

Traffic Routing Patterns

  1. Edge Proxy Server
  2. Request Handling
  3. Filters
  4. Filter Architecture
  5. API Gateway for Routing Requests
  6. API Gateway for Routing Requests (Contd.)
  7. API Gateway – Example
  8. Rate Limiting
  9. Rate Limiting – Business Cases
  10. Configuring Rate Limiting in NGINX
  11. Circuit Breaker
  12. Design Principles
  13. Design Principles (continued)
  14. Cascading Failures
  15. Bulkhead Pattern
  16. Circuit Breaker Pattern
  17. Thread Pooling
  18. Request Caching
  19. Request Collapsing
  20. Fail-Fast
  21. Fallback
  22. Circuit Breaker Solutions
  23. Load Balancing in Microservices
  24. Server-side load balance
  25. Client-side Load Balance
  26. Architecture
  27. Service Mesh
  28. Service Mesh (Contd.)
  29. Service Mesh Solutions
  30. Content Delivery Network (CDN)
  31. How does a CDN Work?
  32. Benefits of using a CDN
  33. CDN Solutions

Lab Exercises

Lab 1. Using the GitFlow Workflow
Lab 2. Monolith vs Microservices Design
Lab 3. A Simple RESTful API in Spring Boot
Lab 4. Use the Spring JDBCTemplate under Spring Boot
Lab 5. Use the Spring Data JPA under Spring Boot
Lab 6. Create a RESTful API with Spring Boot
Lab 7. Enable Basic Security
Lab 8. Creating a Docker Account and Obtain an Access Token
Lab 9. Getting Started with Docker
Lab 10. Load Balancing using Kubernetes
Lab 11. Getting Started with Istio

TENHO INTERESSE

Cursos Relacionados

Curso Ansible Red Hat Basics Automation Technical Foundation

16 horas

Curso Terraform Deploying to Oracle Cloud Infrastructure

24 Horas

Curso Ansible Linux Automation with Ansible

24 horas

Ansible Overview of Ansible architecture

16h

Advanced Automation: Ansible Best Practices

32h