Realtà di produzione (Diagramma vivente)

Reality trasforma il tuo diagramma C4 in una vista vivente di ciò che è realmente in esecuzione. Collega fonti di produzione in sola lettura — Kubernetes, Datadog, New Relic — e Archyl scopre i tuoi servizi reali e le loro dipendenze, poi le riconcilia con il tuo modello curato. Il tuo diagramma smette di essere un'istantanea e inizia a riflettere la produzione.
Reality è read-only e non distruttivo (sola lettura e senza effetti collaterali): la scansione non modifica mai la tua infrastruttura, e non altera mai da sola il tuo modello C4. Tutto ciò che viene scoperto è una proposta che approvi tu.
Come funziona
Reality mantiene tre piani nettamente separati:
- Model (modello) — la tua architettura C4 curata (l'intento). Lo modifichi solo tu.
- Reality (realtà) — uno specchio continuamente aggiornato di ciò che si osserva in produzione (i fatti).
- Binding (associazione) — il collegamento tra i due, che confermi tu.
Gli scanner scrivono sempre e solo sui piani Reality e Binding. Promuovere una risorsa scoperta nel tuo modello è sempre un clic esplicito.
Passo 1 — Collega una fonte nella tua organizzazione
Le credenziali risiedono nel marketplace della tua organizzazione, quindi configuri ogni fonte una volta sola e qualsiasi progetto può usarla.
Vai su Organization → Marketplace e collega una di queste:
Kubernetes
Una connessione in sola lettura all'API del tuo cluster.
- API Server URL — ad es.
https://10.0.0.1:6443 - Read-only ServiceAccount Token — crea un
ServiceAccountassociato alClusterRoleintegratoview, poi genera un token - Skip TLS Verification — imposta a
truesolo per cluster di sviluppo con certificati self-signed
Archyl non scrive mai sul tuo cluster — chiama solo endpoint di lettura (describe/list).
Datadog
- API Key e Application Key (con accesso in lettura ad APM)
- Site —
datadoghq.com,datadoghq.eu,us5.datadoghq.com, … (deve corrispondere alla regione del tuo account)
Datadog legge la sua Service Map APM, incluse le dipendenze esterne inferite (database, code, servizi di terze parti).
New Relic
- User API Key (
NRAK-…) — usata per leggere entità e relazioni - Account ID (opzionale)
- Region —
USoEU(deve corrispondere al tuo account)
New Relic legge le applicazioni APM e i servizi OpenTelemetry più le relative relazioni CALLS.
Passo 2 — Aggiungi la fonte a un progetto
Apri il diagramma di un progetto e clicca su Reality nella barra degli strumenti (in alto a destra). Il pannello Reality si apre sulla destra.
- Clicca su Add source.
- Scegli una delle tue integrazioni collegate.
- Aggiungi lo scope (ambito) del progetto — un namespace di Kubernetes o un environment di Datadog/New Relic (ad es.
production). Lascialo vuoto per includere tutto. - Clicca su Add & scan.
Un progetto può avere un numero qualsiasi di fonti — Kubernetes e Datadog, una sola, o diverse.
Passo 3 — Scansiona
Ogni fonte viene scansionata in modo indipendente. Usa l'icona di refresh (aggiornamento) su una fonte per rieseguire la scansione. La discovery è idempotente: una nuova scansione aggiorna ciò che è già presente invece di duplicarlo, e qualsiasi cosa scomparsa dalla produzione viene segnalata (mai eliminata).
Le fonti di observability possono avere un ritardo: i servizi di solito compaiono entro pochi minuti, ma le relationships (relazioni) sono calcolate dall'analisi delle tracce e possono richiedere 10–30 minuti di traffico costante per popolarsi.
Passo 4 — Riconcilia le risorse
La scheda Resources raggruppa ciò che è stato scoperto:
- Unmodeled in production (non modellato in produzione) — in esecuzione in produzione ma non ancora presente sul tuo diagramma. Per ciascuno, puoi:
- Bind — collegarlo a un elemento C4 esistente suggerito.
- Promote — trasformarlo in un nuovo elemento C4 (vedi sotto).
- Ignore — scartarlo (recuperabile).
- Drifted (deviato) — associato al tuo modello ma con uno stato di produzione divergente (ad es. non integro, o scomparso).
- In your model (nel tuo modello) — corrispondenze confermate tra produzione e C4.
- Orphan (orfano) — presente nel tuo modello ma senza alcuna controparte in produzione.
Usa il campo filter (filtro) per cercare per nome, tipo o namespace.
Promuovere un servizio al livello container
Il Promote crea un nuovo container C4 da un servizio scoperto. Poiché i container risiedono all'interno di un sistema, apri prima il sistema desiderato (entra nel livello container). Se nessun sistema è aperto, Promote è disabilitato con un suggerimento. Il nuovo container finisce nel sistema che stai visualizzando.
Passo 5 — Riconcilia le connessioni
La scheda Connections elenca le dipendenze scoperte (chi chiama chi). Una connessione è promovibile quando entrambi i suoi endpoint sono nel tuo modello (associati o promossi). Clicca su Promote per disegnarla come relazione reale sul tuo diagramma. Le connessioni promosse spariscono automaticamente dall'elenco delle proposte.
La lente Reality sul diagramma
Mentre il pannello Reality è aperto, il canvas attiva una skin live: gli elementi C4 supportati da una risorsa di produzione confermata mostrano un piccolo health dot (indicatore di stato) (e un conteggio di istanze) in alto a destra. Questo resta non distruttivo — è un overlay, non una modifica. I servizi promossi vengono renderizzati come nodi normali e puliti.
Sicurezza e limiti
- Read-only — Reality non scrive mai sui tuoi sistemi di produzione e non modifica mai automaticamente il tuo modello C4. Approvi tu ogni cambiamento.
- Isolamento per fonte — la scansione di una fonte non influisce mai sui dati di un'altra.
- Reversibile — le associazioni possono essere annullate, gli elementi ignorati sono recuperabili, e gli elementi promossi sono normali elementi C4 che puoi modificare o eliminare.
- Livelli di affidabilità — le relazioni sono etichettate per origine: observed (osservate, dalla telemetria, il segnale più forte) vs config-derived (derivate dalla configurazione del cluster). Le fonti di telemetria (Datadog, New Relic, Kubernetes + una service mesh) forniscono il grafo delle dipendenze più completo.