We manage a large AWS, Azure, and on-premises environment and have used Datadog for several years. Our observability setup has accumulated considerable technical debt: agents are managed differently across teams, log configurations are scattered across hosts and applications, APM and RUM instrumentation is owned inconsistently, tagging and monitors lack standardization, and many agents and libraries are outdated. Provisioning and upgrades also depend heavily on manual work and coordination between multiple teams.
We are considering a centralized Observability Foundation or Observability Platform that teams would consume through their normal provisioning and release workflows. Our infrastructure is heavily Terraform-based, so we are particularly interested in reusable modules and platform patterns for agent deployment, log collection, metadata and tagging, monitors, dashboards, OpenTelemetry and APM standards, synthetic tests, cloud integrations, security controls, and governance.
For teams that have done something similar at enterprise scale: what worked, what failed, and which capabilities can realistically be centralized? Which areas should remain application- or infrastructure-owned? How have you managed APM instrumentation ownership, library upgrades, agent versions, configuration drift, and federated governance across hundreds of services?
We also want to avoid deep vendor lock-in. Datadog is our current platform, but we would like application and infrastructure code to remain portable enough that moving toward Grafana, New Relic, Dynatrace, Elastic, Azure Monitor, or an OpenTelemetry-based stack would not require a major rewrite. What architectural mistakes and anti-patterns should we avoid, and would you choose native vendor tooling, OpenTelemetry, an internal platform, or a combination if starting today?
4 Answers
Be careful not to assume that centralizing every observability detail will scale. The platform team should own collectors, integrations, common telemetry conventions, security controls, and baseline monitors. Service teams should own instrumentation correctness, useful business metrics, service-level objectives, and alerts that require domain knowledge. OpenTelemetry can provide a useful portability layer for traces and metrics, but it does not eliminate the need for ownership, semantic conventions, upgrade testing, or cost controls.
Treat this as a platform product rather than a dashboard-cleanup exercise. Build a paved path where a service can declare a small amount of configuration and automatically receive standard tags, ownership metadata, baseline monitors, log collection, cost attribution, and runbook links. Start with a required tag and ownership schema, inventory the exceptions, and migrate one service category at a time. The compliant path needs to be easier than creating a custom setup. Every alert should have a clear owner, service identifier, and runbook; otherwise it probably should not page someone.
Before building a large internal system, compare the operational and licensing costs of your current setup with managed alternatives. In AWS environments, managed scraping and managed telemetry services can remove collector-management and configuration-drift problems, while Terraform modules and official deployment accelerators can make the setup reproducible. Prometheus-compatible metrics, OpenTelemetry instrumentation, and provider-neutral metadata can reduce lock-in, but self-hosting Grafana, Prometheus, or Loki still creates a substantial maintenance obligation. Run the numbers using your actual host, log, metric, and trace volumes instead of assuming either vendor tooling or open source will automatically be cheaper.
Terraform modules gave us the biggest improvement for agent deployment and core log configuration. Pin module and agent versions, keep configurations in version control, test them in a representative environment, and roll them out through a controlled pipeline. Centralize the defaults and guardrails, but allow narrowly defined extension points so application teams can add service-specific logs or monitors without forking the platform. Policy checks can catch missing tags, unowned monitors, unsupported versions, and invalid configurations before deployment.

Related Questions
Can't Load PhpMyadmin On After Server Update
Redirect www to non-www in Apache Conf
How To Check If Your SSL Cert Is SHA 1
Windows TrackPad Gestures