Kubernetes Service Meshes with Istio

This is the code repository for Kubernetes Service Meshes with Istio [Video], published by Packt. It contains all the supporting project files necessary to work through the video course from start to finish.

About the Video Course

Building microservice architectures is complex. Handling its complexities (such as circuit breaking, rate limiting, observability, or security) is usually left to development teams to implement.

Using well known open source frameworks is an option, but this will quickly lead to excessive library bloat and suddenly your services are not quite so micro anymore.

This course provides practical hands-on experience in using the Istio service mesh. Instead of implementing cross-cutting concerns within each service, you will see how a service mesh allows you to transparently inject and decorate the desired concerns into individual communication channels.

We discuss the conceptual Istio architecture with its main building blocks and how it works. Then demonstrate how to install Istio and use its traffic management, resilience, diagnosability, and security features.

By the end of this course, you will be ready to deploy Istio into production and run your next cloud-native microservice architecture.

What will you learn

This course is packed with step-by-step instructions and realistic examples that are directly applicable in practice. The different sections of this course will focus on the important topics of deploying and running cloud-native applications such as traffic management and routing, rollout scenarios, resiliency, observability and security and how these are addressed by the Istio service mesh.

  1. Explore the Istio architecture and its components
  2. Install the Istio service mesh in Kubernetes using Helm and manually
  3. Control ingress and egress traffic in the service mesh
  4. Apply path, header and weight-based routing strategies
  5. Perform Blue/Green and Canary deployments with Istio
  6. Implement service resiliency using timeouts, circuit breakers, bulkheads and retries
  7. Perform chaos testing by injecting faults and errors
  8. Secure the service mesh with mutual TLS and authentication and authorization policies
  9. Explore and leverage the diagnosability features of Istio

Instructions and Navigation

Assumed Knowledge

This video course is for cloud developers, architects, and ops professionals who would like to build, deploy, and run their systems and microservices in an easy, controlled, robust, observable, and secure way. Requirements: Prior knowledge of Docker and Kubernetes is required. Basic programming skills in any language will help you better understand some code samples.

Technical Requirements

This course has the following requirements:
OS: Windows 10, Mac OS or Linux
Browser: any modern browser
Code Editor: Visual Studio Code or comparable editor
Terminal: modern terminal and shell
Others: Docker (for Mac and Windows) and Minikube Installed

About the author

Mario-Leander Reimer is a chief technologist for QAware GmbH. He is a senior Java developer and architect with several years of experience in building complex distributed system architectures. He is continuously looking for innovations and ways to combine and apply state-of-the-art technology and open source software components in real-world customer projects. He studied computer science at Rosenheim and Staffordshire University and nowadays he is teaching cloud computing as a part time lecturer. He is a regular speaker at national and international conferences on various topics in software engineering.
Slidedecks: https://speakerdeck.com/lreimer/
GitHub: https://github.com/lreimer/
Twitter: https://twitter.com/LeanderReimer
Linkedin: https://www.linkedin.com/in/mario-leander-reimer-b2b67aa0/

Related Products