Tools · Module 2 · Architecture and Delivery

Architecture and Decision Tools

The lesson treats the tools for describing an architecture and recording why it looks as it does: the C4 model, Structurizr, CALM, the declarative reference architecture model of AI Platform and Security, the Structurizr workspace with trust-zone properties of The Transformed Security Architect, and the Architecture Decision Record with its validators. Participants learn how much must be modelled and recorded at each usage mode.

Lesson 4 of 25Chapter 475 minutes

Read the chapterThe whitepaperThe slides

All courses / Tools / Module 2 / Chapter 4

Learning objectives

After the lesson the participant can:

Key concepts

Diagram decay
The drift between a diagram drawn in a graphical tool and the system it shows, because updating the diagram is a separate manual act. Architecture as Code answers it with one text model under version control from which diagrams are generated.
Declarative reference architecture model
An artefact of AI Platform and Security, Chapter 4, that declares the layers, patterns and control plane as code with a pinned version. A team records deviations in an AI Decision Record but does not remove the gateway, registry, evaluation service or control plane.
Workspace with trust-zone properties
A Structurizr workspace from The Transformed Security Architect, Chapter 5, in which trust zone, data class, usage mode, identity, owner and policy point are element and relationship properties, so a pipeline rule can fail a pull request that creates an unprotected crossing.
Architecture Decision Record
A short text document, after Nygard, that captures one decision with its context and consequences in a numbered file under version control. The number ADR-NNNN is permanent even if the record is later deprecated or superseded.
Market overlay
An artefact of AI Platform and Security that applies jurisdiction-specific constraints on top of the pinned reference model. Nordvik Region runs its reduced variant as an overlay on a pinned base, recorded in AIDR-0002.

Interactive exercises

Do them here and get feedback at once. Choose a card and then where it belongs, or drag it.

Interactive exercise 1 · Sort

Architecture and decision tools by kind

Sort each tool of Chapter 4 into the kind that its entry or family table gives it.

Interactive exercise 2 · Scenario

Extending the decision record template

Choose how the team should adopt the Architecture Decision Record template, following the chapter's entry.

Teaching plan

15 minPresent Figure 4.1, from model to decision record, and the three model languages. Note that Structurizr Lite, the standalone CLI and the cloud service have reached end of life.
15 minRead the excerpt of the Hansa Mutual workspace: the claims-triage agent with its trust zone, data class, usage mode and identity. Ask what the missing direct relationship to the core claims system proves.
10 minWalk through the ADR template and what validate_adrs.py requires. Present the table of decisions recorded per usage mode.
25 minExercise: participants write one ADR and annotate three elements of their own architecture with security properties.
10 minPairs review each other's record: is the review date set, are the deciders named, could a script read every added field?

Discussion

  1. The chapter says CALM's adoption is observable but its standing in regulated sectors is expected, not established. How should that label affect a choice of model language today?
  2. A reader adopting the ADR template should add only fields a script will read. Which fields in your own decision records does nothing read, and what do they cost?
  3. For Modes 0 to 3 the series asks only for a short record and an inventory entry. Where does that lighter requirement become a risk in practice?

Written exercise

Exercise · 25 minutes

One decision record and three annotated elements

Take one recent architecture choice in your own organisation, or Hansa Mutual's choice that the claims-triage agent has no direct write path to the core claims system. Write it as an Architecture Decision Record in the template of Architecture as Code: identifier, title, status, date, last reviewed, next review due, deciders, context, decision and consequences. Then list three elements of the architecture the decision touches and give each the properties of the trust-zone workspace: trust zone, data class, usage mode, identity, owner and, for each crossing between zones, the named policy point. Mark any property you cannot fill in.

Deliverable: One completed ADR and a table of three elements with their security properties and any missing values flagged.

Self-test

Choose an answer to see whether it is right, or open the answer below each question.

  1. Which rule holds for every adaptation of the declarative reference architecture model, according to AI Platform and Security, Chapter 4?

    Show the answer

    C. A team records deviations in an AI Decision Record but keeps the gateway, the registry, the evaluation service and the control plane
    The file is a template for the form, not a prescription of the contents, with one fixed rule: deviations are recorded, but the gateway, registry, evaluation service and control plane stay because later controls depend on them.

  2. What does the validator validate_adrs.py of Architecture as Code check?

    Show the answer

    A. That each ADR front matter is complete and its status is one of the four lifecycle statuses
    The validator requires the scalar fields such as adr_id, title, status, date, last_reviewed and next_review_due, and accepts only the four lifecycle statuses. It is the one ADR script of four that a chapter describes.

  3. For which usage modes does the chapter's table require the full AI Decision Record always, for each system or agent?

    Show the answer

    D. Mode 4 Built AI applications and Mode 5 Autonomous production agents
    Modes 0 to 3 need a short record and an inventory entry. Modes 4 and 5 need the full record always, and for Mode 5 again whenever permissions widen, because the organisation operates all the layers.