(english version below)

Service Mesh Workshop: Erstellung, Management und Test eines Java Service Mesh mit Istio

Beschreibung

Der Schwerpunkt des Workshops liegt auf den Herausforderungen, die ein Service Mesh mit sich bringt. Zur Veranschaulichung werden mehrere auf MicroProfile und SpringBoot basierende Microservices zu einem Service Mesh mittels Istio verknüpft. Anhand konkreter Code-Beispiele wird das Zusammenwirken mit den notwendigen Istio-Regeln verdeutlicht. Für Aufgabenstellungen aus der Praxis, wie beispielsweise Config, Tracing, Resilience und Testing, werden entsprechende Szenarien beleuchtet und mit Best-Practices Empfehlungen versehen. Darüber hinaus zeigt der Workshop welche Möglichkeiten Istio noch bietet, um im täglichen Umgang mit verteilten Anwendungen keinen Schiffbruch zu erleiden.

Die Folien und die Codebeispiele zusammen mit den eingesetzten Kubernetes/Istio Skripten stehen den Teilnehmern zur Verfügung, ebenso wie ein Istio Cheat Sheet und eine Sammlung von Istio Best Practices.

Inhalt und Ablauf

I. Grundlagen

  • Einführung in den Service Mesh
  • Istio in Verbindung mit MicroProfile und SpringBoot

II. Aufbau des Service Mesh

  • Service Konfiguration und Deployment in Kubernetes
  • Istio’s Sidecar (Sidecar Injection, Zugriff auf den Envoy Proxy)
  • Istio’s Basis-Regeln zum Traffic-Management (Gateway, VirtualService, DestinationRule)
  • Visualisierungs-Möglichkeiten des Service Mesh (Kiali, Jaeger, Prometheus, Grafana)

III. Zusätzliche Funktionalitäten

  • Request-Tracing inklusive Limitierung der Trace-Datenmenge und Tracing on Demand
  • Metrics mit Prometheus und Grafana; Darstellung eigener Application-Metrics
  • Alternative Möglichkeiten der Resilienz (Service Mesh vs. Service-Implementierung)
  • Testen der Resilienz im Service Mesh

IV. Service Mesh Evolution und Betriebsführung

  • A/B Testing mit Traffic Shifting und Traffic Mirroring
  • Canary Releasing
  • EFK Logging Stack: Logging mit Elasticsearch, Fluentd and Kibana
  • Istio’s Best Practices

Zielgruppe und Anforderungen

Entwickler, die sich für Microservices interessieren und vielleicht schon erste Erfahrungen damit gesammelt haben.

Architekten, die sich entscheiden müssen, mit welchen Konzepten/Werkzeugen sie die Herausforderungen in einem Service Mesh meistern wollen.

Durchführung

Der Workshop kann on-site durchgeführt werden. Bitte nehmen Sie Kontakt auf für weitere Abstimmungen oder Anfragen.

Vorbereitungen auf Workshop

Eine ausführliche Installationsanweisung für die Teilnehmer des Workshops finden Sie hier: Vorbereitungen für Workshop

Englisch version:

Service Mesh Workshop: Create, Manage and Test a Java Service Mesh with Istio

Abstract

The workshop is focusing on the challenges of a service mesh. To demonstrate this, multiple MicroProfile and SpringBoot based microservices will be combined together with Istio to form a service mesh. Based on concrete code samples we will learn how the necessary Istio rules work together with these services. We will explicitly show different real world requirements such as configuration, tracing, resilience and testing and combine them with best practices. In addition, the workshop shows what other features Istio offers to avoid wrecking in everyday use of distributed applications.

All participants will receive the slides and code samples, together with the relevant Kubernetes/Istio scripts. A special handout will be an Istio cheat sheet and a collection of Istio best practices.

Content

I. Fundamentals

  • Introduction to Service Mesh
  • Istio in combination with MicroProfile and SpringBoot

    II. Create a Service Mesh

  • Service configuration and deployment in Kubernetes
  • Istio’s sidecar (sidecar injection, access to Envoy proxy)
  • Basic Istio rules for traffic management (Gateway, VirtualService, DestinationRule)
  • Different ways to display a Service Mesh (Kiali, Jaeger, Prometheus, Grafana)

    III. Additional functionality

  • Request tracing and limit trace data, tracing on demand
  • Metrics with Prometheus and Grafana; displaying own application metrics
  • Alternatives of resilience (Service Mesh vs. service implementation)
  • Testing resilience in a Service Mesh

    IV. Service Mesh evolution and operations

  • A/B testing with traffic shifting and traffic mirroring
  • Canary releasing
  • EFK logging stack: logging with Elasticsearch, Fluentd and Kibana
  • Istio’s best practices

Target audience and prerequisites

Developers with interests in Microservices and maybe with first experiences in handling more services.

Architects who have to decide which tools and concepts they want to use to manage the challenges of a Service Mesh.

Procedure

All practical parts of the workshop will be shown by demos. Everybody who wants to work hands on can do this with the available code samples and scripts. The necessary installations will be presented two weeks before the workshop (laptop with Java IDE, kubectl, Docker Desktop, Istio).

Prepare for workshop

A detailed installation description for the audience can be found here: Prepare for workshop