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.
- 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.
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