lucid tc | twingraph
Solutions · Cloud Observability

Your cloud, modeled as a living graph.

Observability tools dump metrics into dashboards. TwinGraph models the relationships — every service, container, pod, deploy, and dependency as a node with live state — and lets agents drive orchestration decisions back into your infrastructure.

Topology
GCP ServicesMQTT / Pub/SubTwinGraph ServerVertex AI AgentsCloud Run / Lambda
The problem

Dashboards show you what's broken. They don't show you why, or what depends on it, or what to do about it. Correlating across metrics, traces, and topology is still a human job — and at 3 AM that's the wrong time for it.

The TwinGraph angle

TwinGraph ingests telemetry over MQTT and Pub/Sub and models your cloud as a graph. Services, pods, deploys, owners, and SLOs all become nodes with live state. Vertex AI agents reason over the graph to surface anomalies, propose rollbacks, and call Cloud Run functions or AWS Lambdas to act.

How it works

A few steps. Real infrastructure.

01

Ingest telemetry

Pipe metrics and events into TwinGraph over MQTT or Google Pub/Sub.

02

Model topology

Services, pods, deploys, and owners become nodes with live edges.

03

Agent reasoning

Vertex AI agents correlate anomalies across the graph, not across tabs.

04

Act on it

Agents invoke Cloud Run functions or AWS Lambdas to resolve incidents.

Capabilities used
gRPC + TLSMQTTPub/SubVertex AI AgentsGCP Marketplace
Example code

Real cloud observability.

python · cloud-observability.pylive
import lucidtc_twingraph as tg

graph = tg.RemoteTwinGraph(
    twingraph_id="prod-cloud",
    server_address="twingraph.prod:50051",
    secure_channel=True,
    auth_token=TWINGRAPH_SERVER_AUTH_TOKEN,
)

# model a deploy
graph.add_twingraph_node(
    twingraph_node=tg.TwinGraphNode(
        node_id="deploy_checkout_v423",
        node_type="Deploy",
        payload={"sha": "a3f1", "region": "us-central1"},
    ),
    connection_type="RUNNING",
    source_twingraph_id="prod-cloud-node-service_checkout_1",
)

# Vertex AI agent reasons over the live graph
vertex_agent = tg.VertexAIAgentNode(
    node_id="sre_agent",
    project_id="my-gcp-project",
    location="us-central1",
    resource_id="3535403772811411456",
)
graph.add_twingraph_node(twingraph_node=vertex_agent)
Why TwinGraph
  • 01

    Graph-native correlation catches issues dashboards hide behind tabs.

  • 02

    Live state means alerts reflect what's happening now, not five minutes ago.

  • 03

    Agents can act, not just notify — closing the loop from detect to resolve.

See this running on your infrastructure.