In this workshop, we split a domain into multiple microservices using domain-driven design. Then we decide on the integration technology and put the application into production on Kubernetes. Finally, we take care of monitoring, tracing and logging.

The service mesh Istio helps with this. Thus, the workshop uses a simple example to show how to bring a concrete microservices application from architecture to implementation to production.

Instead of hands-on exercises, the workshop shows concrete examples and code for all technologies and approaches. They are available for download along with the slides and documentation in three booklets and can be a starting point for implementing your own microservices.

Prior knowledge

Basic understanding of software architecture and development

Learning Objectives

  • Structuring a microservice system with domain-driven design
  • Operational aspects (monitoring, tracing, logging)
  • Features of service meshes
  • Basics of Kubernetes


  • Introduction
  • Structuring a system of microservices with Domain-driven Design
  • Microservices: concepts
  • Micro / macro architecture
  • Building microservices with Docker
  • Communication: synchronous or asynchronous?
  • Deployment with Kubernetes
  • Kubernetes: Pods, services, and Ingress
  • Implementation of operational aspects (monitoring, tracing, logging, resilience)
  • Features of Service Meshes