Evolution & Feasibility¶
History of Monitoring in Tech Space¶
- Monitoring in the tech space has a long history, dating back to the early days of computing.
- As systems grew in complexity, the need for monitoring and observability increased.
- Initially, monitoring was a manual process that required human intervention.
- However, with the development of scripting and automation, monitoring became more efficient and scalable.
- The evolution of monitoring is illustrated in the timeline below.
Monitoring Over the Years¶
gantt
title Monitoring Evolution
dateFormat YYYY-MM-DD
section Manual Monitoring
A : 1970-01-01, 1980-12-31
section Scripted Monitoring
B : 1981-01-01, 1990-12-31
section Centralized Monitoring
C : 1991-01-01, 2000-12-31
section Distributed Monitoring
D : 2001-01-01, 2010-12-31
section Microservices Monitoring
E : 2011-01-01, 2020-12-31
section Cloud-Native Monitoring
F : 2021-01-01, 2030-12-31
section Continuous Profiling
G : 2021-01-01, 2030-12-31
section AI-Driven Monitoring
H : 2031-01-01, 2040-12-31
OTEL Brief¶
Open Standard for all MiSvc Telemetry.
- OpenTelemetry is needed for comprehensive observability in modern distributed systems.
- It provides a standardized approach to capturing distributed traces and metrics, enabling developers to gain insights into the performance and behavior of their applications across various microservices and cloud-native environments.
- With OpenTelemetry, organizations can achieve end-to-end visibility, troubleshoot issues, and optimize the performance of their applications, ultimately enhancing the overall user experience.
- OpenTelemetry is an open standard for observability data, providing a single set of APIs, libraries, agents, and instrumentation for capturing distributed traces and metrics.
- It enables developers to instrument their applications in a vendor-agnostic manner, allowing them to send telemetry data to the monitoring platform of their choice.
- OpenTelemetry aims to unify the collection of distributed traces and metrics for all applications, regardless of their programming language or framework.
Unique Aspects of OpenTelemetry over APMs¶
-
Vendor-Agnostic Approach: OpenTelemetry provides a vendor-agnostic approach to observability, allowing users to send telemetry data to various monitoring platforms without being tied to a specific vendor.
-
Standardization: OpenTelemetry is an open standard for observability data, ensuring consistency and interoperability across different systems and tools.
-
Community-Driven: OpenTelemetry is a community-driven project with contributions from various organizations and individuals, ensuring continuous improvement and innovation.
-
Instrumentation Flexibility: OpenTelemetry offers flexibility in instrumentation, supporting multiple programming languages and frameworks, making it easier to integrate with diverse applications.
-
Extensibility: OpenTelemetry is highly extensible, allowing users to customize and extend its capabilities based on their specific monitoring requirements.
OpenTelemetry SDK Language Support¶
Languages
├── JVM Languages
│ └── Java
├── Scripting Languages
│ ├── Python
│ ├── JavaScript
│ ├── Ruby
│ └── PHP
├── Compiled Languages
│ ├── Go
│ ├── .NET
│ ├── C++
│ └── Rust
└── Other Languages
├── Erlang
├── Swift
└── Objective-C