Overview
This instructor-led, live training (online or onsite) is aimed at developers wishing to implement end-to-end distributed tracing to monitor microservices interactions in complex enterprise environments.
By the end of this training, participants will be able to:
- Install and configure OpenTracing-compatible tracing software.
- Use distributed tracing to overcome the shortcomings of per-process logging and metric monitoring.
- Reconstruct transaction history in complex systems.
- Resolve issues related to microservice application performance and latency.
- Deploy a distributed tracing system that is consistent across different platforms.
Format of the Course
- Interactive lecture and discussion.
- Lots of exercises and practice.
- Hands-on implementation in a live-lab environment.
Course Customization Options
- This course can be delivered for all languages supported by OpenTracing: Go, JavaScript, Java, Python, Ruby, PHP, Objective-C, C++, C#.
- To request a customized training, please contact us to arrange.
- To learn more about OpenTracing, please visit: https://opentracing.io/
Requirements
- An understanding of microservices architecture concepts.
- Programming experience in any language.
Audience
- Developers
Course Outline
Introduction
- Networking and observability in distributed systems
- The growing importance of distributed tracing instrumentation.
The Problem with Existing Tracing Solutions
- Communication package maintenance, inconsistencies across platforms, etc.
How OpenTracing Standardizes Distributed Tracing
Setting up an OpenTracing Software
- Jaeger, Zipkin, AppDash, etc.
Overview of OpenTracing Features and Architecture
- OpenTracing API: Tracer and Span
The Tracing Process
- Services, packages, application-specific business logic.
- Transaction destiny, reference, type, timestamps, etc.
A ‘Hello World’ Example
Identifying a Misbehaving System
- Analyzing Tags, Spans, Scope, Threads, and Logs
- Determining “how” an error occurred
Debugging a Distributed System
- Filtering performance monitoring
- Analyzing service dependencies
- Root cause analysis
- Optimizing code
Configuring Environment Variables
- Adjusting frequency of events
Case Study: Ensuring Compliance in Legacy Systems
Monitoring Live Environments
Integrating OpenTracing with RPC and other frameworks
- Server-side and client-side tracing
Best Practices
Troubleshooting
Summary and Conclusion