JAVAX-MP

New Microservice Design Patterns Implemented with Spring Cloud in a Kubernetes Environment

Using Microservice Design Patterns with Spring Boot Services and Introduction to Selected Spring Cloud Projects
Form of participation
Form of training
Length of training
  • 1 day (1×8 Lessons)
  • daily 9:00 - 17:00
Available languages
  • Hungarian
Dates

Training price

149 000 Ft
+ VAT/person
Please choose the date and form of participation!
Would you like a custom made solution, group training on this topic?
Find out more about our customised training services here.

Description

The course provides an overview of microservice design patterns, the associated Spring Cloud projects, and a conceptual introduction to Kubernetes.

Due to the course length, it is primarily theoretical, with source code examples and deployment to a Kubernetes environment presented in a demo format.

The course compares monolithic, modularized, and microservice architectures and discusses how to transition from a monolithic system to a microservice approach.

Spring Cloud projects are covered in detail in the Key Spring Cloud Projects in Practice (JAVAX-SPCL2) course, which is much more hands-on.

Outline

  • Comparison of monolithic, modular, and microservice applications
  • Characteristics, advantages, and disadvantages of microservice applications
  • Introduction to microservice design patterns
  • Transaction script
  • Domain Driven Design: bounded context, aggregate, Ubiquitous language
  • Clean architecture
  • CQRS
  • API composition
  • Backend for frontend
  • Protocols and formats
    • XML, JSON, Protocol Buffers, Avro
    • REST
    • GraphQL
    • gRPC
    • Protocol translation
  • Circuit breaker
  • API gateway
  • Messaging, Kafka
  • Transaction management: transactional outbox, sagas, choreography, orchestration
  • Contract-based testing
  • Security: OAuth 2, authentication and authorization
  • Externalized configuration, deployment infrastructure-based configuration
  • Observability
    • Metrics
    • Tracing
    • Logging
  • Deployment, containerization, orchestration, Kubernetes
  • Service registry, deployment infrastructure-based service registry
  • Sidecar containers, concept of service mesh
Outline (PDF)

Prerequisites

A solid knowledge of Java programming and familiarity with software architectures are required.

As some of the course materials are in English, basic English reading skills (at documentation level) are necessary. The training is delivered in Hungarian, based on Hungarian-language slides.