Обучение Microservices Design and Architecture, 5 дни

795.00  excl. VAT

Duration: 5 days;

Standard Price: EUR 795 w/o VAT. EU registered businesses in EU countries other than Bulgaria will not be charged VAT.;

Location: TBA;

Minimum number of participants: 6

Maximum number of participants: 10

Description

Training objectives:

  • Learn an overview of the aspects and practices that should be addressed/used when planning and designing a microservices architecture;
  • Learn the architectural patterns and practices used throughout the entire development phases;
  • Learn the patterns and practices used to monitor, troubleshoot and maintain a microservices architecture;

Structure and presentations:

The training duration is 5 days, organized in 6 hours per day. The day consists of several sessions, and each session will consist in a theoretical and (where applicable) practical (hands-on) part. Depending on the presented topic, the ratio between the theoretical and the practical parts varies between ~70/30% and ~50/50%. We will have a break at each ~50 minutes. Some sessions may take more or less than 50 minutes, depending on their complexity and on the questions and discussions.

Disclaimer:

If the discussions and the hands-on sessions will prolong more than anticipated, some sessions will be postponed on the following day. The training intent is to cover the sessions thoroughly, not in a rushed mode. Please note that the specified durations include just the hands-on examples performed by the trainer. In case you want the participants to work in a hands-on mode, the duration of the training will be approximately 30% longer.

Course outline:

An overview of the training sessions, organized in 6 hours/day:

Day 1

Training overview

Planning and design

  • Project life-stages overview
  • Project influences overview
  • Start with the end in mind
  • The ‘project map’ – zoomable business domain & architecture overview

○ From monoliths to microservices

  • Enterprise architectures overview
  • Migrating to microservices
  • Microservices architecture – high level overview, architectural patterns, deployment environments

○ Microservices patterns overview

○ Services decomposition

  • Decomposing an application into microservices, architectural styles
  • Defining an application’s microservices architecture
  • Designing APIs first → defining & using a schema for the business domain model

Day 2

○ Inter-process communication

  • Overview of interprocess communication in a microservices architecture
  • Communicating using the synchronous ‘Remote Procedure Invocation’ pattern
    • Using service discovery and registry
  • Communicating using the ‘Asynchronous messaging’ pattern
  • Creating an API specification for a messaging-based service API
  • Choosing a messaging technology

○ Application patterns

  • Database architecture – shared and individual
  • Maintaining data consistency – Sagas, consistency types (strong, eventual &
  • causal)
    • Sagas in depth
  • Data querying – API composition and CQRS
  • Transactional messaging patterns

Day 3

○ Testing

  • Testing overview, strategy, types of tests
  • Consumer driven contract testing
  • Unit and integration tests
  • Component tests
  • End-to-end tests
  • Load tests

○ Deployment

  • CI & CD flow – deployment pipelines and environments

Day 4

○ Application infrastructure patterns

  • Overview – security, services configurability and observability
  • Securing a microservices architecture
  • Externalized configuration – using the Spring Cloud Config Server
  • Cross cutting concerns – logging, metrics, health-checks, distributed tracing
  • Stability and reliability patterns
    • Retry
    • Circuit breaking
    • Bulkheads
    • Client-side load balancing

Day 5

○ Microservices hands-on workshop: The attendees will be invited to work in teams of 3 persons (each one with their own role), for either half or the entire 5th day. We prefer & recommend this approach, as it lets attendees work and research for a longer period, without a constant context switch from presentation to coding.

○ Training wrap-up & retrospective