Course : Creating a Microservices Architecture in Java

Creating a Microservices Architecture in Java






INTER
IN-HOUSE
CUSTOM

Training at your location, our location or remotely

Ref. RUL
  3d - 21h00
Would you like to transpose this course—without changes—for your company?

Download in PDF format

Share this course by email






Teaching objectives
At the end of the training, the participant will be able to:
Defining a microservices-based architecture
Developing and consuming REST services
Setting up microservices using a Java framework
Deploying microservices in Docker containers
Administering and monitoring microservices

Course schedule

1
Introduction

  • A look at upgrades in software and organization.
  • Pros and cons of monolithic applications.
  • Agile methodologies and DevOps practices.
  • Continuous integration and continuous deployment processes.

2
Microservices architectures

  • Defining a microservices architecture.
  • Characteristics of microservices.
  • The emergence of microservices architectures.
  • The main players.
  • Several examples from the web's biggest companies.

3
Communications in a microservices architecture

  • Choosing the collaboration style: REST request/reply vs Publish-Subscribe Messaging.
  • Basic principles and refreshers on HTTP.
  • Implementing REST services with Java.
  • The principle of HATEOAS.
  • Documenting a REST service with Swagger.
  • Testing a REST service.
Hands-on work
Defining a Rest API with Swagger and implementing services with Jersey. Testing a REST service with SoapUI.

4
Developing a microservice in Java

  • Overview of "all-in-one" Java frameworks.
  • Comparison of SpringBoot and Dropwizard.
  • Developing an application with Dropwizard or SpringBoot.
  • Packaging a production-ready application.
Hands-on work
Developing an application with Dropwizard or SpringBoot.

5
Executing a micrcoservice using containers

  • Overview of Docker.
  • How containers work with Docker.
  • Designing custom images.
  • Configuring and starting containers.
Hands-on work
Creating a custom container with Docker.

6
Deploying a microservices architecture

  • Deployment optimization techniques.
  • Implementing a multi-container application with Docker Compose.
  • Infrastructure solutions for microservices (Kubernetes, Mesos, Swarm).
  • Cloud solutions (Cloud Foundry, Heroku).
Hands-on work
Implementing a multi-container architecture with Docker Compose.

7
Administration and monitoring

  • Centralizing logs.
  • Monitoring microservices.
  • Metrics and Health Check.
Hands-on work
Setting up an application's metrics to visualize them.