---
title: "OpenTelemetry, Kubernetes, and Fir: Putting it All Together"
description: "Modern cloud-native applications span distributed microservices and dynamic environments, making performance diagnosis and failure analysis dependent on observability. The post explains how Fir, Heroku’s next-generation platform, combines Kubernetes infrastructure with OpenTelemetry to provide standardized visibility while hiding Kubernetes complexity behind Heroku’s interface. Fir runs on AWS EKS, uses OCI images and Cloud Native Buildpacks, and includes a Heroku OpenTelemetry Collector that gathers telemetry from applications, the Heroku router, and the Heroku API. OpenTelemetry’s APIs, SDKs, Collector, and OTLP support logs, metrics, and traces, with drains routing data to dashboards, CLI logs, or external observability platforms. The text also distinguishes OTLP gRPC and HTTP transports, noting gRPC efficiency and features versus HTTP’s firewall compatibility, and presents Fir’s open standards as a way to support scaling, hybrid environments, and reduce lock-in."
---

# OpenTelemetry, Kubernetes, and Fir: Putting it All Together

[Heroku](https://yomu.fyi/company/heroku) · Ken W. Alger · Jul 9, 2025

**Type:** Explainer

## Summary

Modern cloud-native applications span distributed microservices and dynamic environments, making performance diagnosis and failure analysis dependent on observability. The post explains how Fir, Heroku’s next-generation platform, combines Kubernetes infrastructure with OpenTelemetry to provide standardized visibility while hiding Kubernetes complexity behind Heroku’s interface. Fir runs on AWS EKS, uses OCI images and Cloud Native Buildpacks, and includes a Heroku OpenTelemetry Collector that gathers telemetry from applications, the Heroku router, and the Heroku API. OpenTelemetry’s APIs, SDKs, Collector, and OTLP support logs, metrics, and traces, with drains routing data to dashboards, CLI logs, or external observability platforms. The text also distinguishes OTLP gRPC and HTTP transports, noting gRPC efficiency and features versus HTTP’s firewall compatibility, and presents Fir’s open standards as a way to support scaling, hybrid environments, and reduce lock-in.

## Context

Modern cloud-native architectures use distributed microservices across dynamic environments, so diagnosing performance issues, bottlenecks, and failures requires comprehensive observability. The text also frames Kubernetes complexity and vendor lock-in as relevant considerations for teams adopting Fir and integrating it with existing observability systems.

## Approach / What changed

Fir combines a Kubernetes foundation running on AWS EKS with OCI images, Cloud Native Buildpacks, and native OpenTelemetry support. Its Heroku OpenTelemetry Collector gathers data from applications, the Heroku router, and the Heroku API, then sends it through configurable space- or application-level drains to dashboards, CLI logs, or third-party observability platforms. Applications can add SDK instrumentation for custom metrics and distributed traces.

## Takeaways

- Fir runs on AWS EKS and uses Kubernetes for automated scaling, self-healing, and resource management without exposing Kubernetes directly to end users.
- Fir provides built-in OpenTelemetry logs and metrics for dynos and applications, while SDK instrumentation enables custom metrics and distributed traces.
- OTLP supports both gRPC and HTTP transports; gRPC is more efficient and feature-rich, while HTTP 1.1 may work better across some firewalls or with certain language SDKs.

**Tags:** [Cloud Native Buildpacks](https://yomu.fyi/topic/cloud-native-buildpacks), [Kubernetes](https://yomu.fyi/topic/kubernetes), [OpenTelemetry](https://yomu.fyi/topic/opentelemetry)

- Source: [Heroku](https://www.heroku.com/blog/opentelemetry-kubernetes-fir-putting-it-all-together)
- Source URL: https://www.heroku.com/blog/opentelemetry-kubernetes-fir-putting-it-all-together
- Ingested by Yomu: 2026-09-10T04:03:43.065Z

[Read original post](https://www.heroku.com/blog/opentelemetry-kubernetes-fir-putting-it-all-together)
