Glossario dell'Architettura Software

Definizioni concise del modello C4, delle metriche DORA, degli ADR, del drift architetturale, della clean architecture e di altri termini che ogni team software dovrebbe conoscere. A cura di Archyl.

  • Modello C4 — Un approccio leggero alla visualizzazione dell'architettura che descrive i sistemi software su quattro livelli: Contesto di Sistema, Contenitore, Componente e Codice.
  • Diagramma di Contesto di Sistema — Diagramma C4 di livello 1 che mostra un sistema software e le sue interazioni con gli utenti e altri sistemi esterni.
  • Diagramma dei Contenitori — Diagramma C4 di livello 2 che mostra le unità distribuibili/eseguibili (applicazioni, servizi, database) che compongono un sistema software.
  • Diagramma dei Componenti — Diagramma C4 di livello 3 che scompone un contenitore in gruppi di funzionalità correlate (componenti) e nelle loro collaborazioni.
  • Diagramma del Codice — Diagramma C4 di livello 4 che mostra i dettagli a livello implementativo (classi, interfacce, funzioni) di un componente.
  • Architecture Decision Record (ADR) — Un breve documento che cattura una singola decisione architetturalmente significativa, il suo contesto e le sue conseguenze.
  • Drift Architetturale — Il divario crescente tra l'architettura documentata e il sistema che gira davvero in produzione.
  • Regola di Conformità — Un vincolo verificabile automaticamente che convalida il codice rispetto all'intento architetturale.
  • Architecture as Code — Descrivere l'architettura del sistema in un formato testuale e versionato, così da poterla revisionare, confrontare e convalidare come il codice sorgente.
  • Technology Radar — Un catalogo curato di tecnologie raggruppate in anelli (adopt / trial / assess / hold) che guida le scelte tecniche.
  • Metriche DORA — Quattro metriche di performance ingegneristica ampiamente usate: Frequenza di Deployment, Lead Time per le Modifiche, Tasso di Fallimento delle Modifiche e Tempo Medio di Ripristino.
  • Frequenza di Deployment — La frequenza con cui un team rilascia con successo codice in produzione. Una delle quattro metriche DORA.
  • Lead Time per le Modifiche — Il tempo che intercorre tra il commit di una modifica del codice e l'esecuzione di tale modifica in produzione.
  • Tasso di Fallimento delle Modifiche — La percentuale di deployment che causano un degrado in produzione e richiedono interventi correttivi.
  • Tempo Medio di Ripristino (MTTR) — Il tempo medio necessario per ripristinare il servizio dopo un incidente in produzione.
  • Domain-Driven Design (DDD) — Un approccio alla progettazione software che pone al centro il modello e il linguaggio del dominio di business.
  • Architettura Esagonale — Uno stile di architettura a livelli che isola la logica di dominio dall'infrastruttura tramite porte e adattatori.
  • Clean Architecture — Un'architettura a livelli in cui le dipendenze puntano verso l'interno, verso il dominio, resa popolare da Robert C. Martin.
  • Event Storming — Un workshop di modellazione collaborativa che usa foglietti adesivi rappresentanti eventi di dominio per mappare un processo di business.
  • Microservizi — Uno stile architetturale che struttura un'applicazione come un insieme di servizi piccoli, distribuibili in modo indipendente e organizzati intorno alle capacità di business.
  • Service Mesh — Un livello di infrastruttura dedicato a gestire la comunicazione tra servizi, tipicamente tramite proxy sidecar.
  • Contratto API — Una specifica formale di un'API (OpenAPI, proto gRPC, schema GraphQL) che produttori e consumatori si impegnano a rispettare.
  • Canale di Eventi — Uno stream di eventi denominato e tipizzato (spesso un topic Kafka o equivalente) attraverso cui i servizi pubblicano e si sottoscrivono in modo asincrono.
  • Mappa di Titolarità — Una mappatura dagli elementi del sistema (servizi, moduli, pipeline) al team o alla persona responsabile di essi.
  • Living Documentation — Documentazione generata o convalidata a partire dal sistema in esecuzione, così da rimanere accurata man mano che il sistema evolve.
  • MCP Server — Un server che implementa il Model Context Protocol affinché gli assistenti AI di coding possano interrogare il contesto del progetto tramite un'interfaccia di strumenti standardizzata.