Engineering the Future of Software
29–31 Oct 2018: Tutorials & Conference
31 Oct–1 Nov 2018: Training
London, UK

Putting microservices on a diet with Istio

Mario-Leander Reimer (QAware GmbH)

Who is this presentation for?

Developers, Architects, Ops

Prerequisite knowledge

Basic knowledge about the key abstractions of Kubernetes is beneficial as well as having implemented microservices before.

What you'll learn

- Rough understanding of the overall architecture and main components of Istio - Applying different traffic management features to a microservice mesh - Adding diagnosability (logs, metrics, traces) to microservices using Istio - Doing mutual TLS between microservices with Istio

Description

In a microservice world things become more complex. Platforms such as Kubernetes address a lot of the complexity, they handle resource isolation and utilization, networking and deployments nicely. But still, a lot of the involved complexity such as load balancing, rollout scenarios, circuit breaking, retries, rate limiting, observability, tracing and transport security is still left up to the development teams.

Of course you can address all of these challenges in your microservices programmatically using popular open source components such as Hystrix, Ribbon, Eureka, the EFK Stack, Prometheus or Jaeger. But unfortunately, this approach can quickly lead to excessive library bloat, and suddenly your microservices are not quite so micro anymore.

All this might seem acceptable if you are on a single, consistent development stack like Java EE or Spring Boot. But tackling these complexities becomes even more challenging if you are dealing with multiple stacks and multiple frameworks. Or you might even deal with legacy applications that you can’t modify to retrofit these requirements.

Istio to the rescue. It is a so called service mesh that addresses many of the cross-cutting communication concerns in a microservice architecture. Think of Istio as AOP (aspect oriented programming) for microservice communication. Instead of implementing everything directly within your services, Istio transparently injects and decorates the desired concerns into the individual communication channels.

This session provides an overview of the Istio system and how it addresses the inherent complexities in microservice architectures. We will briefly discuss the conceptual architecture and the main building blocks of Istio. Then we will dive right into several showcases that are deployed on a live Kubernetes cluster to demonstrate the different traffic management features, as well as diagnosability and security.

Photo of Mario-Leander Reimer

Mario-Leander Reimer

QAware GmbH

M.-Leander Reimer has studied computer science at Rosenheim and Staffordshire University and is now working as a principal software architect for QAware GmbH. He is a senior Java developer and architect with several years of experience in designing and implementing complex distributed system architectures. He is continuously looking for innovations and ways to combine state of the art technology and open source software components to be successfully applied in real world customer projects.

Leave a Comment or Question

Help us make this conference the best it can be for you. Have questions you'd like this speaker to address? Suggestions for issues that deserve extra attention? Feedback that you'd like to share with the speaker and other attendees?

Join the conversation here (requires login)