TI272
Information technology

Spring Cloud: designing a scalable microservices architecture

Adopt the right patterns to build reliable, scalable distributed systems


A microservices architecture is much more than just a technical breakdown: it stems from sound principles such as Domain-Driven Design, autonomous deployment, horizontal scalability and continuous integration. This training course guides you through the concrete implementation of these principles with the Spring Cloud stack. You'll discover the key patterns required for a distributed architecture: service discovery with Eureka, asynchronous communication via Kafka, exposure via an API Gateway, centralized configuration management, data sovereignty, targeted testing. Through hands-on workshops, you'll transform an existing monolithic application into a set of coherent, independently testable and deployable microservices. This course will enable you to master Spring Cloud tools (Gateway, Config, Netflix, Kafka) while assimilating the fundamental architecture decisions needed to evolve your projects in complex distributed environments.

Objectives

Acquire the knowledge needed to design, develop and orchestrate a best-practice microservices architecture, based on the Spring Cloud stack.

Is it for you ?

Developers and architects.

Prerequisite

This course requires a sound knowledge of the basics of Java programming (principles of object-oriented programming, generic types, annotations, lambda expressions), Spring and Spring boot and experience of working with Eclipse or IntelliJ.

Your benefits

  • Design a microservices architecture using bounded contexts and stateless services
  • Implement service discovery with Eureka including load balancing and health checks
  • Enable asynchronous communication between services using Kafka and Spring-Kafka
  • Expose and secure services through an API Gateway with routing and request handling
  • Centralize and secure application configuration using Spring Cloud Config
  • Content

    Introduction

    • Bounded contexts as a prerequisite for micro-services architecture.
    • Stateless operation to promote horizontal scalability.
    • Types of deliverables: stand-alone application or serverless function.
    • Data sovereignty.
    • Communication between micro-services.
    • Testing.

    Putting it into practice: refactoring a monolithic application into micro-services.

    See more + / -

    Service discovery with Spring cloud Netflix

    • Service discovery: introducing the concept.
    • The role of the Eureka server.
    • Self registration and self unregistration operations.
    • Registry propagation.
    • Health checks as a means of keeping the registry up to date.
    • Implementing load balancing.
    • Requesting an application with RestClient.

    Practical application: getting to grips with a Spring application (data access, REST API, testing).

    Publish / subscribe with the brokerApache Kafka

    • The role of the broker in a micro-services architecture.
    • Introducing Kafka.
    • Subscribing to a topic.
    • Sending messages to a topic.

    Putting it into practice: asynchronous communication between micro-services with Kafka and spring-kafka.

    Exposing microservices with Spring cloud API Gateway

    • The API Gateway as an entry point to a set of micro-services.
    • Routing rules.
    • API Gateway action on requests and responses (retries, security, etc.).
    • Data aggregation.

    Putting it into practice: creating an API Gateway with Spring Cloud Gateway to expose the micro-services developed above.

    Centralizing configuration with Spring Cloud Config

    • The role of a config server.
    • Storing and protecting properties.
    • Property encryption methods.
    • Coupling with a Eureka Server.
    • Declaring a config server in client applications.

    Putting it into practice: creating a config server with Spring cloud Config, coupling micro-services with it.

    💡 Useful information

    Our training sessions are offered in Montreal or Quebec City, in person or in virtual format. Dates and locations are provided when you select your session below. If you have any questions regarding registration, schedules, the language of instruction, or cancellation policies, please consult our FAQ .

    Duration
    2 days
    Schedule
    See training dates for details
    Regular fee
    $1,035
    Preferential fee A preferential rate is offered to public institutions, to members of certain professional organizations as well as to companies that do a certain amount of business with Technologia. To know more, please read the "Registration and rates" section on our FAQ page. Please note that preferential rates are not available for online training courses. Discounts cannot be combined with other offers.
    $930
    Private or personalized training

    Do you have several employees interested in the same training course? Whether in person at your offices or remotely in virtual mode, we offer private training courses tailored to your team's needs. Group rates are available. Contact us for more details or request a quote online.

    Request a quote

    Request in-company training

    Do you have several employees interested in the same training course? Whether in person at your offices or remotely in virtual mode, we offer private training courses tailored to your team's needs. Group rates are available. Contact us for more details or request a quote online.

    Tell us more
    Added to cart View my cart