News
Microsoft Embracing OpenTelemetry for Azure Monitor Application Insights
Microsoft on Monday described efforts to bring OpenTelemetry measures to Azure Monitor Application Insights, and eventually to other Azure services, as well.
The idea behind Microsoft's support for OpenTelemetry is to provide "consistent APIs/SDKs across languages" for users of Azure Monitor Application Insights when monitoring the performance of hosted applications. OpenTelemetry specifically focuses on a vendor-agnostic way of surfacing traces, metrics and logs for cloud-native applications.
Such an approach is needed to standardize telemetry data collection, according to an OpenTelemetry document:
Traditionally, telemetry data has been provided by either open-source projects or commercial vendors. With a lack of standardization, the net result is the lack of data portability and the burden on the user to maintain the instrumentation.
Early-Stage Support
Microsoft is still at an early stage in implementing OpenTelemetry standards in Azure Monitor Application Insights. The two ways of using OpenTelemetry -- manual and automatic -- are still getting filled out.
On the manual instrumentation side, Microsoft has exporters in "C#, JavaScript (Node.js), and Python" on its roadmap support plans for Azure Monitor Application Insights.
On the automatic instrumentation side, Microsoft currently just supports Java 3.X, which reached the "general availability" commercial-release stage in November 2020. C# and Python automatic instrumentations currently are undergoing testing by the OpenTelemetry community.
Automatic instrumentation is a more convenient way to harvest telemetry information. However, it's deemed "less configurable" than the manual approach.
Microsoft additionally is working on having Azure Monitor Application Insights use the OpenTelemetry Protocol (OTLP), which would remove the current dependency on having specific languages being supported. Here's how Microsoft explained the OTLP benefit:
Our objective is to provide a path for any OpenTelemetry supported language to send to Azure Monitor via OTLP. This will enable customers to observe applications written in languages beyond our supported languages.
For now, and until OpenTelemetry support is more advanced, Microsoft still recommends using its current Azure Monitor Application Insights SDKs if they require getting a "feature-rich experience":
If you are developing a new application and want to onboard to Azure Monitor Application Insights with the most feature-rich experience, we recommend using the existing Application Insights SDKs for C# (ASP.NET or ASP.NET Core) and JavaScript (Node.js) or Python-OpenCensus.
General Azure Support
Microsoft's OpenTelemetry support is expected to extend to other Azure services, beyond Azure Monitor Application Insights, at some point.
"We are committed to OpenTelemetry as the future of telemetry instrumentation, and over time we expect Azure services and platform to adopt it more broadly," the announcement indicated.
OpenTelemetry is an "incubating project" of the Cloud Native Computing Foundation (CNCF), a Linux Foundation organization that supports portability for cloud-native applications.
Microsoft, a Platinum member of the CNCF, claims to be one of the "largest contributors to OpenTelemetry." A CNCF list of OpenTelemetry contributors bears out that claim, with Microsoft listed as the No. 2 developer contributor, just behind Splunk. Other contributors topping the long OpenTelemetry developer list include names like Google, Amazon and Red Hat.
About the Author
Kurt Mackie is senior news producer for 1105 Media's Converge360 group.