Four-Project Series

Distributed Tracing with Jaeger, Kubernetes, and Istio you own this product

prerequisites
intermediate Java and Spring Boot • basics of Jaeger• basics of Istio
skills learned
create a RESTful microservice with Spring Boot • instrument tracing inside multiple microservices with OpenTracing API and Jaeger SDK • trace propagation across process boundaries through HTTP header
Huabing Zhao
4 weeks · 4-6 hours per week average · BEGINNER

pro $24.99 per month

  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose one free eBook per month to keep
  • exclusive 50% discount on all purchases

lite $19.99 per month

  • access to all Manning books, including MEAPs!

team

5, 10 or 20 seats+ for your team - learn more


In this series of liveProjects, you’ll deploy distributed tracing to help an eCommerce company manage its new microservices infrastructure. You’ve just been hired by eShop, a rapidly growing company that adopted microservices due to the flexibility they provide developers. eShop is finding that managing and troubleshooting its ever-increasing number of microservices is a challenge, and so your task is to use distributed tracing to develop a high-level picture of requests across these microservices. You’ll implement distributed tracing using Jaeger, Kubernetes, and Istio. Each liveProject in this series can be tackled individually, or as part of an extended learning experience.

These projects are designed for learning purposes and are not complete, production-ready applications or solutions.

here's what's included

Project 1 Tracing in a Single Microservice
In this liveProject, you’ll instrument tracing inside a single microservice. You’ll use Spring Boot to first construct your microservice, and then use the OpenTracing API and Jaeger client library to generate traces and send data to the backend Jaeger server. What we create in this project will form a foundation for later projects in the series.
Project 2 Tracing for Several Functions
In this liveProject, you’ll instrument tracing in multiple functions of a call flow inside a single microservice. By instrumenting multiple trace functions, the generated traces are far more meaningful than just a single function. Once you’ve established your tracing code, you’ll use a thread-local mechanism to pass the current active span to the next function so that the spans can be pieced together. Finally, you’ll generate a trace having spans in it representing each function the request goes through.
Project 3 Tracing for Several Microservices
In this liveProject, you’ll restructure the demo application as multiple microservices and instrument distributed tracing for each of them. You’ll combine spans from those microservices to create an end-to-end trace of the system—perfect for monitoring your app activity. Finally, you’ll explore using baggage to pass context data through the call graph.
Project 4 Distributed Tracing with Istio
In this liveProject, you’ll use the Istio service mesh to automatically generate tracing spans for the microservices in the eCommerce application. Istio installs a sidecar proxy for each microservice that runs in the service mesh. That proxy intercepts the HTTP requests between microservices, generating a span for each request. This method avoids the need to write large amounts of tracing code, and is an excellent choice when working with legacy systems or small development teams.

book resources

When you start each of the projects in this series, you'll get full access to the following book for 90 days.

choose your plan

team

monthly
annual
$49.99
$499.99
only $41.67 per month
  • five seats for your team
  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose another free product every time you renew
  • choose twelve free products per year
  • exclusive 50% discount on all purchases
  • Distributed Tracing with Jaeger, Kubernetes, and Istio project for free

project author

Huabing Zhao
Huabing Zhao works as a senior engineer at Tencent Cloud. He has a solid experience in the information and telecommunication technology industry for more than 10 years.Throughout his career, he has built a number of large-scale, cross-country software systems, most of them are still running in production. He loves open source and has been contributing to various open source projects. He is a member of Istio, previous Project Team Leaderof ONAP, the author of the Hugo clean-white theme and the open source project Aeraki. He has strong interests in various technical areas including Cloud Native, Artificial Intelligence, Cryptocurrencies, Smart Home, etc.

Prerequisites

This liveProject is for experienced Java developers who are also confident users of Docker. To begin this liveProject, you will need to be familiar with the following:


TOOLS
  • Intermediate Java
  • Intermediate Spring Boot
  • Intermediate Docker
  • Basics of Jaeger
TECHNIQUES
  • Basics of OpenTracing

you will learn

In this liveProject, you’ll get hands-on experience tracing instrumentation and adding it to the application code inside a single microservice.


  • Create a RESTful microservice with Spring Boot
  • Instrument tracing inside a function with OpenTracing API and Jaeger SDK
  • Build a Docker image for deployment
  • Run Jaeger with Docker

features

Self-paced
You choose the schedule and decide how much time to invest as you build your project.
Project roadmap
Each project is divided into several achievable steps.
Get Help
While within the liveProject platform, get help from other participants and our expert mentors.
Compare with others
For each step, compare your deliverable to the solutions by the author and other participants.
book resources
Get full access to select books for 90 days. Permanent access to excerpts from Manning products are also included, as well as references to other resources.