The Reality of Multi-Cloud Architecture
Modern enterprise environments are rarely confined to a single cloud provider. Organizations leverage AWS for compute and legacy workloads while running analytics and containerized services in Google Cloud Platform (GCP).
However, operating in multi-cloud introduces severe operational challenges:
Strategy 1: The OpenTelemetry Collector as an Edge Proxy
Rather than installing proprietary vendor agents directly on every virtual machine and container, deploy OpenTelemetry Collectors as regional edge gateways in each cloud:
otel-collector-config.yaml
receivers:
otlp:
protocols:
grpc:
http:
processors:
batch:
memory_limiter:
check_interval: 1s
limit_percentage: 75
transform:
error_mode: ignore
statements:
- set(attributes["cloud.provider"], "aws") where resource.attributes["cloud.platform"] == "aws_ec2"
exporters:
otlp/newrelic:
endpoint: "otlp.nr-data.net:4317"
headers:
api-key: "${NEW_RELIC_LICENSE_KEY}"
service:
pipelines:
traces:
receivers: [otlp]
processors: [memory_limiter, transform, batch]
exporters: [otlp/newrelic]
Strategy 2: Universal Tag Standardization
Unified multi-cloud dashboards require consistent metadata keys. Enforce these mandatory tags across both AWS and GCP resources:
| Metadata Key | Description | Example Values |
|---|---|---|
| env | Deployment environment | prod, staging, dev |
| service | Microservice / application name | payment-api, auth-svc |
| owner | Engineering team responsible | payments-sre, core-platform |
| cloud | Cloud provider | aws, gcp |
| region | Geographic cloud region | ap-southeast-2, australia-southeast1 |
Strategy 3: Multi-Cloud Golden Signals Dashboard
Once telemetry is aggregated into a central observability backend, you can construct cross-cloud service maps showing transaction flows starting from an AWS API Gateway, hitting an internal Kafka queue, and terminating in a GCP Cloud SQL database.

