Skip to content

Advanced course on tools and practices aiming at designing, developing, deploying and maintain in production microservice architectures.

License

Notifications You must be signed in to change notification settings

nbicocchi/learn-microservices

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Learn Microservices

Prerequisites

The course requires a decent understanding of Java. A dedicated course can be found here.

Software

Books

  • Microservices Patterns; Richardson

Videos

Modules

M1 Introduction

  • Software production metrics
  • Monolithic and distributed architectures
  • Automation in software production (DevOps, DevSecOps)

M2 Microservices chassis

  • Synchronous vs Asynchronous approaches
  • Java microservices (Maven, Spring Boot)
  • Python microservices (FastAPI)

M3 Containerization and orchestration

  • Building docker images (single-layer, multi-layer)
  • Container orchestration with docker compose
  • Orchestration for the edge-cloud continuum (K8s, K3s, MicroK8s, KubeEdge)

M4 Synchronous Communication

  • Synchronous communications and their limitations
  • GraphQL and Protobuf as a REST alternatives
  • Latency-sensitive communication

M5 Infrastructure

  • Service discovery, routing, configuration
  • Edge-cloud hybrid routing strategies
  • Consensus algorithms (RAFT)

M6 Observability

  • Instrumentation and maintenance costs
  • Key observability stacks: Prometheus, ELK, Jaeger/Zipkin, Grafana
  • OpenTelemetry

M7 Resiliency

  • Client-side patterns
  • Server-side patterns

M8 Asynchronous Communication

  • Asynchronous messaging systems
  • Event-driven architectures
  • Event-sourcing architectures

M9 Distributed data management

  • The SAGA pattern
  • The CQRS pattern
  • The Conductor orchestration framework

M10 Security

  • JWT...

M11 MLOps

  • The MLOps model applied to edge-cloud contexts
  • Tracking ML experiments with MLFlow
  • Observing ML models in production with EvidentlyAI

About

Advanced course on tools and practices aiming at designing, developing, deploying and maintain in production microservice architectures.

Topics

Resources

License

Stars

Watchers

Forks

Contributors 11