Read in English · Leer en español · Lire en français
Abschnitt 11.1 von 11.8 · Fortgeschritten · 28 Min. Lesezeit
Architekturbewertung und ATAM
Videolektion
5 Min. · auf Englisch gesprochen, mit UntertitelnNur anhören (Audio)
Transkript lesen
Jede Architektur ist eine Wette. Diese Lektion zeigt, wie Sie diese Wette prüfen, bevor das Geld gebunden ist, mit der Architecture Tradeoff Analysis Method, kurz ATAM.
Bevor eine Stadt eine neue Brücke baut, prüfen unabhängige Ingenieure den Entwurf. Sie fragen, was bei Hochwasser, bei Sturm und unter den schwersten Lkw geschieht. Sie zeigen, wo eine Entscheidung, die Geld spart, eine andere Gefahr verschärft. Sie entwerfen die Brücke nicht neu und geben ihr keine Note. Sie sagen den Eigentümern, wo die echten Risiken liegen, solange Änderungen noch günstig sind. Die Architekturbewertung leistet dasselbe für Software.
Eine Bewertung stellt eine enge, praktische Frage: Welche Architekturentscheidungen gefährden, gemessen an dem, was dieses System leisten muss, diese Ziele? Sie arbeitet mit Entscheidungen, nicht mit Code, und kann daher schon an einem Whiteboard-Entwurf beginnen. Am wertvollsten ist sie vor einer großen Festlegung, etwa einem Anbietervertrag oder einer Cloud-Migration. Kommt sie zu spät, kann man ihre Ergebnisse nur noch bedauern.
ATAM wurde im Jahr 2000 von Rick Kazman, Mark Klein und Paul Clements vom Software Engineering Institute, kurz SEI, beschrieben. Ein Bewertungsteam aus drei bis fünf Personen von außerhalb des Projekts führt sie durch. Unabhängigkeit zählt: Bewerter, die das System entworfen haben, finden weniger Risiken. Sie arbeiten mit den Entscheidungsträgern, etwa dem Architekten und dem Auftraggeber, und mit einem größeren Kreis von Stakeholdern, von der Entwicklung bis zu Betrieb, Sicherheit und Support. ATAM vergibt keine Punktzahl und keine Bestehensgrenze. Sie findet, wo Entscheidungen die Geschäftsziele gefährden und wo sie Abwägungen zwischen Qualitäten erzwingen.
Die Methode läuft in vier Phasen, mit neun Schritten in zwei Bewertungssitzungen. In Phase null klären die Leitungen über einige Wochen Umfang, Kosten und Team und sammeln die Architekturdokumente. Phase eins dauert etwa einen Tag mit den Entscheidungsträgern. Die Schritte eins bis sechs stellen die Methode, die geschäftlichen Treiber und die Architektur vor, bauen dann den Utility Tree auf und analysieren. Nach einer Pause von zwei bis drei Wochen kommen in Phase zwei für etwa zwei Tage die weiteren Stakeholder hinzu. Sie sammeln eigene Szenarien und stimmen darüber ab, und diese werden dann analysiert. Phase drei ist etwa eine Woche Nacharbeit: der Abschlussbericht, mit Risikothemen, die zu Backlog-Einträgen und Entscheidungsdokumenten werden.
Das Herzstück der Methode ist die Analyse. Die Bewerter nehmen die priorisierten Szenarien und die Architekturansätze, die sie adressieren. Sie bitten den Architekten, jedes Szenario durch den Entwurf zu spielen, und bohren nach. Wie viele synchrone Aufrufe liegen auf diesem Pfad? Was passiert, wenn dieser Knoten ausfällt? Jede Antwort wird eingeordnet. Ein Risiko ist eine Entscheidung oder eine fehlende Entscheidung, die das Erreichen eines wichtigen Ziels verhindern kann. Ein Nicht-Risiko ist eine tragfähige Entscheidung, festgehalten mit ihren Annahmen. Ein Sensitivitätspunkt ist eine Eigenschaft, von der eine Qualität entscheidend abhängt. Ein Trade-off-Punkt ist ein Sensitivitätspunkt für mehr als eine Qualität, sodass die Verbesserung der einen die andere verschlechtert. Risiken und Trade-off-Punkte werden zu Risikothemen gruppiert, jedes mit einer gemeinsamen Ursache. Und jedes Thema nennt die geschäftlichen Treiber, die es gefährdet, dieselben Treiber, die die Szenarien geprägt haben.
Hier ist eine verdichtete ATAM der Essenslieferplattform, mit viertausend Restaurants und neuntausend Kurieren. Das Unternehmen will innerhalb von achtzehn Monaten zur Freitagsspitze von fünfzig auf hundert Bestellungen pro Sekunde wachsen. Die Bestelllatenz muss beim neunundneunzigsten Perzentil unter drei Sekunden bleiben, doch allein der Zahlungsanbieter braucht zweieinhalb Sekunden. Nach Littles Gesetz sind das zweihundertfünfzig gleichzeitig laufende Anfragen für zweihundert Worker. Risiko R1. Läuft der Anbieter in ein Timeout, lässt der aktuelle Entwurf die Bestellung scheitern: Risiko R2. Später aus einer Queue zu autorisieren würde helfen, aber dann würden manche angenommenen Bestellungen bei der Zahlung scheitern. Das ist Trade-off-Punkt T1. Nicht alles ist ein Risiko. Outbox, Kafka mit drei Replikaten und idempotente Consumer bedeuten keine verlorenen Bestellungen: Nicht-Risiko N1, mit festgehaltener Annahme. In Phase zwei stimmten Stakeholder stark für ein Szenario, das im Baum fehlte: Ein Restaurant-Tablet, das zur Spitzenzeit zehn Minuten offline ist, muss trotzdem jede Bestellung erhalten. Risiko R5, ein blinder Fleck. Die Risiken bilden zwei Themen: Drittanbieter auf synchronen kritischen Pfaden sowie Wiederherstellungs- und Zustellgarantien, die der den Restaurantketten versprochenen Verfügbarkeit hinterherhinken.
Eine vollständige ATAM ist teuer: In der groben Veranschaulichung des Kurses sind es rund sechzig Personentage. Für ein System, dessen Ausfall Millionen kosten würde, ist das eine günstige Versicherung. Für ein kleines Team ist es unverhältnismäßig, also richten Sie die Methode an der Tragweite aus. Eine reduzierte ATAM lässt sich in einem Tag oder weniger durchführen. Ergebnisse, die nicht zu Entscheidungsdokumenten, Backlog-Einträgen und Fitness Functions mit Verantwortlichen werden, sind innerhalb eines Quartals vergessen.
Der vollständige Abschnitt beschreibt alle neun Schritte und wie die Cost Benefit Analysis Method Geld auf den Tisch legt. Als Nächstes, in Abschnitt elf Punkt zwei, geht es um leichtgewichtige Reviews und Risk-Storming. Bis gleich.
Was Sie wissen müssen
- Die Architekturbewertung prüft, ob die wesentlichen Entscheidungen eines Systems es ihm ermöglichen, seine Geschäftsziele und Qualitätsanforderungen zu erfüllen, und ist vor größeren oder unumkehrbaren Festlegungen am wertvollsten.
- ATAM (Kazman, Klein und Clements, SEI, 2000) umfasst neun Schritte über Vorbereitung, zwei Bewertungssitzungen und Nachbereitung, mit einem unabhängigen Bewertungsteam, den Entscheidungsträgern des Projekts und einem größeren Kreis von Stakeholdern.
- Ihre Ergebnisse sind Risiken, Nicht-Risiken (mit ihren Annahmen), Sensitivitätspunkte, Trade-off-Punkte und Risikothemen, die mit den geschäftlichen Treibern verknüpft sind, die sie gefährden; eine Bestehensgrenze vergibt sie nicht.
- Der Utility Tree, den die Entscheidungsträger in Schritt 5 aufbauen, wird mit den Szenarien verglichen, die die Stakeholder in Schritt 7 sammeln und bewerten; Lücken zwischen beiden decken blinde Flecken auf.
- CBAM baut auf ATAM auf: Es gewichtet den Nutzen, den jede Architekturstrategie priorisierten Szenarien hinzufügt, und teilt ihn durch ihre Kosten, um das Kosten-Nutzen-Verhältnis zu vergleichen, wobei Randbedingungen das Verhältnis weiterhin übersteuern können.
- Eine vollständige ATAM kostet Dutzende Personentage, daher sollte die Methode an der Tragweite ausgerichtet werden, und ihre Ergebnisse müssen zu Entscheidungsdokumenten, Backlog-Einträgen und Fitness Functions mit Verantwortlichen werden.
Warum eine Architektur bewerten
Jede Architektur ist eine Wette. Wenn ein Team einen Event Broker, eine Datenbank pro Service oder eine einzige Cloud-Region wählt, sagt es voraus, dass diese Entscheidungen die Performance, Verfügbarkeit, Sicherheit und Kosten liefern, die das Unternehmen braucht. Abschnitt 1.3 hat gezeigt, warum solche Wetten zählen: Die Kosten, eine strukturelle Entscheidung zu ändern, wachsen mit allem, was darauf aufgebaut ist, und einige der teuersten Fehlschläge der Softwaregeschichte waren Fehler der Anordnung, nicht einzelner Codezeilen. Die Architekturbewertung ist die bewusste Prüfung dieser Wette, bevor oder während das Geld ausgegeben wird.
Eine Bewertung stellt eine enge, praktische Frage: Welche Architekturentscheidungen gefährden, gemessen an dem, was dieses System leisten muss, diese Ziele? Sie ist weder ein Code-Review noch ein Schönheitswettbewerb zwischen Stilen noch ein Audit der Dokumentationsqualität. Sie arbeitet mit Entscheidungen und deren Folgen für Qualitätsmerkmale und kann daher lange vor dem ersten Code stattfinden, an einem Whiteboard-Entwurf oder an einer Reihe von Entscheidungsdokumenten, und sie lässt sich bei einem System wiederholen, das seit Jahren läuft.
Eine Bewertung hat auch Nutzen über die Ergebnisse hinaus. Stakeholder, die sich selten begegnen (Product Owner, Betrieb, Sicherheit, Finanzen, Entwicklung), müssen sich einigen, was am wichtigsten ist, und das legt oft widersprüchliche Annahmen offen. Der Architekt muss den Entwurf so klar erklären, dass Außenstehende ihn hinterfragen können, was die Dokumentation verbessert. Und die Organisation erhält eine Aufzeichnung bekannter Risiken, die sie bewusst akzeptiert hat, was etwas ganz anderes ist als Risiken, die niemand bemerkt hat.
Wann bewerten
Der beste Zeitpunkt für eine Bewertung ist, wenn genug entschieden ist, damit es etwas zu prüfen gibt, aber bevor diese Entscheidungen teuer rückgängig zu machen sind. In der Praxis gibt es mehrere natürliche Zeitpunkte, und reife Organisationen nutzen für jeden einen anderen Umfang der Bewertung.
Zeitpunkte für eine Bewertung
| Auslöser | Was geprüft wird | Typischer Umfang |
|---|---|---|
| Eine Kandidatenarchitektur liegt vor, vor dem Bau im großen Maßstab | Ob die wichtigsten Stile und Taktiken die priorisierten Qualitätsszenarien erfüllen können | Vollständige oder reduzierte ATAM bei großen oder langlebigen Systemen; sonst ein leichtgewichtiges Review |
| Vor einer großen Festlegung | Ein Anbietervertrag, eine Cloud-Migration, eine Finanzierungsentscheidung oder ein Plattformwechsel, die teuer rückgängig zu machen wären | Formal, oft mit externen Bewertern, weil die Entscheidung eine Einwegtür ist |
| Deutliche Änderung der geschäftlichen Treiber | Neue Märkte, eine Fusion, ein zehnfaches Wachstumsziel, neue Regulierung | Den Utility Tree neu durchgehen und die geänderten Szenarien analysieren |
| Angesammelte Änderungen und Drift | Ob das gebaute System noch der angestrebten Architektur und ihren Gründen entspricht | Regelmäßiges leichtgewichtiges Review plus automatisierte Fitness Functions |
| Übernahme oder Due Diligence | Ob ein bestehendes System die Pläne des Käufers tragen kann | Zeitlich begrenzte Bewertung eines bestehenden Systems, oft kombiniert mit Codeanalyse |
| Nach einem schweren Vorfall | Ob der Vorfall eine architektonische Schwäche offengelegt hat und nicht nur einen einmaligen Fehler | Gezielte Analyse der betroffenen Szenarien |
Zu frühes Bewerten verschwendet Aufwand an Entscheidungen, die noch nicht real sind; zu spätes Bewerten macht aus Ergebnissen bloßes Bedauern. Eine nützliche Regel aus Fairbanks’ risikogetriebenem Modell (Abschnitt 1.8) gilt auch hier: Investieren Sie in die Bewertung im Verhältnis zum Risiko. Ein internes Werkzeug zweier Teams braucht keinen zweitägigen Workshop; eine nationale Zahlungsplattform schon.
ATAM: Ursprung, Zweck und Beteiligte
Die Architecture Tradeoff Analysis Method (ATAM) ist die bekannteste Bewertungsmethode. Rick Kazman, Mark Klein und Paul Clements vom Software Engineering Institute (SEI) der Carnegie Mellon University beschrieben sie im technischen Bericht ATAM: Method for Architecture Evaluation (CMU/SEI-2000-TR-004, August 2000). Sie ging aus der früheren Software Architecture Analysis Method (SAAM) hervor, die Kazman und Kollegen 1994 veröffentlichten und die sich vor allem auf Änderbarkeit konzentrierte. ATAM wird auch in Software Architecture in Practice von Bass, Clements und Kazman beschrieben, inzwischen in der vierten Auflage (2021).
Ihr Zweck wird oft missverstanden. ATAM vergibt keine Punktzahl und keine Bestehensgrenze für eine Architektur, und sie beweist nicht, dass ein System seine Anforderungen erfüllen wird. Sie zeigt, wo Architekturentscheidungen die Geschäftsziele gefährden und wo sie Abwägungen zwischen Qualitäten erzwingen, damit die Verantwortlichen entscheiden können, was zu tun ist. Der Name der Methode betont Abwägungen, weil die meisten interessanten Risiken dort liegen, wo eine Qualität auf Kosten einer anderen erkauft wird.
Drei Gruppen nehmen teil. Das Bewertungsteam, meist drei bis fünf Personen von außerhalb des Projekts, führt die Methode durch: eine Teamleitung, eine Bewertungsleitung, die moderiert, Protokollführende, die Szenarien und Abläufe festhalten, und Fragende mit Fachwissen zu bestimmten Qualitäten. Die Entscheidungsträger des Projekts sind der Architekt, die Projekt- oder Produktleitung und der Auftraggeber oder Kunde, der auf die Ergebnisse reagieren kann. Die Architektur-Stakeholder sind alle anderen Beteiligten: Entwicklung, Test, Betrieb, Sicherheit, Integration, Support und Vertretungen der Nutzer. Unabhängigkeit zählt: Bewerter, die das System entworfen haben oder dem Architekten unterstellt sind, finden weniger Risiken.
Die Phasen von ATAM
Die neun Schritte
- 1. ATAM vorstellenDie Bewertungsleitung erklärt die Methode, die Rollen der Beteiligten und die Ergebnisse, damit niemand die Sitzung für ein Audit oder ein Design-Review seiner persönlichen Arbeit hält.
- 2. Die geschäftlichen Treiber vorstellenEine leitende Vertretung des Geschäfts erläutert in geschäftlichen Begriffen die Ziele des Systems, die Randbedingungen, die Stakeholder und die wichtigsten Qualitäten. Diese geschäftlichen Treiber sind der Maßstab für alles Weitere.
- 3. Die Architektur vorstellenDer Architekt beschreibt die Architektur auf angemessener Ebene: Kontext, Hauptstrukturen, Laufzeitverhalten, Deployment und wie sie die Treiber adressiert. Ein typisches Zeitlimit von etwa einer Stunde erzwingt Fokus.
- 4. Architekturansätze identifizierenDer Architekt benennt die verwendeten Architekturansätze (Stile, Muster und Taktiken wie ein Broker, Replikation oder Caching), und das Bewertungsteam katalogisiert sie, ohne sie schon zu analysieren.
- 5. Den Utility Tree der Qualitätsmerkmale erstellenDie Entscheidungsträger erstellen oder verfeinern einen Utility Tree und bewerten jedes Blattszenario nach geschäftlicher Bedeutung und technischer Schwierigkeit.
- 6. Die Architekturansätze analysierenFür die Szenarien mit der höchsten Priorität fragen die Bewerter, welche Ansätze jedes davon adressieren, und hinterfragen sie mit qualitätsspezifischen Fragen; dabei halten sie Risiken, Nicht-Risiken, Sensitivitätspunkte und Trade-off-Punkte fest.
- 7. Szenarien sammeln und priorisierenIn Phase 2 schlägt der größere Kreis der Stakeholder eigene Szenarien vor und stimmt über sie ab. Das Ergebnis wird mit dem Utility Tree verglichen; wichtige Szenarien, die im Baum fehlen, sind bereits für sich ein Befund.
- 8. Die Architekturansätze erneut analysierenDie am höchsten bewerteten neuen Szenarien werden wie in Schritt 6 analysiert, nun mit dem Wissen der anwesenden Stakeholder.
- 9. Die Ergebnisse vorstellenDas Bewertungsteam stellt Ansätze, Szenarien, Utility Tree, Risiken, Nicht-Risiken, Sensitivitätspunkte, Trade-off-Punkte und Risikothemen vor und setzt jedes Thema in Bezug zu den geschäftlichen Treibern, die es gefährdet.
Das Vokabular der Analyse
Das Herzstück der Methode sind die Schritte 6 und 8. Für jedes wichtige Szenario bitten die Bewerter den Architekten, durchzuspielen, wie die Architektur reagiert, und sie bohren mit Fragen nach, die aus jeder Qualität stammen: Wie viele synchrone Aufrufe liegen auf diesem Pfad, was passiert mit laufenden Anfragen, wenn dieser Knoten ausfällt, wo ist diese Zugangsberechtigung gespeichert, was begrenzt die Queue? Jede Antwort wird mit fünf Begriffen eingeordnet, die weit über ATAM hinaus zum Standardvokabular geworden sind.
Die Ergebnisse der Analyse
| Ergebnis | Bedeutung | Beispiel einer Essenslieferplattform |
|---|---|---|
| Risiko | Eine Entscheidung oder eine fehlende Entscheidung, die verhindern kann, dass ein wichtiges Szenario oder Geschäftsziel erreicht wird | Die Kartenautorisierung liegt im synchronen Bestellpfad, daher verlangsamt ein langsamer Zahlungsanbieter jede Bestellung |
| Nicht-Risiko | Eine Entscheidung, die für das Szenario als tragfähig beurteilt wird, festgehalten mit den Annahmen, von denen sie abhängt | Transactional Outbox und idempotente Consumer erfüllen das Szenario „keine verlorenen Bestellungen“, sofern der Broker jede Partition dreifach repliziert |
| Sensitivitätspunkt | Eine Eigenschaft von Komponenten oder Verbindungen, die für eine Qualitätsantwort entscheidend ist | Die Bestelllatenz reagiert empfindlich auf die Zahl synchroner Hops und auf die p99-Antwortzeit des Anbieters |
| Trade-off-Punkt | Eine Eigenschaft, die für mehr als eine Qualität ein Sensitivitätspunkt ist, sodass die Verbesserung der einen die andere verschlechtert | Das Intervall der Kurier-Standortmeldungen: Kürzer verbessert die Aktualität der Karte, leert aber die Handyakkus und erhöht mobile Daten- und Erfassungskosten |
| Risikothema | Eine Gruppe von Risiken mit einer gemeinsamen Ursache, verknüpft mit den geschäftlichen Treibern, die sie gefährdet | Drittanbieterdienste liegen auf synchronen kritischen Pfaden und gefährden das Ziel, das Bestellvolumen ohne Konversionsverluste zu verdoppeln |
Wie die Analyse ihre Ergebnisse erzeugt
Nicht-Risiken verdienen mehr Aufmerksamkeit, als sie gewöhnlich bekommen. Festzuhalten, dass eine Entscheidung wegen einer bestimmten Annahme tragfähig ist (drei Replikate, eine vertraglich zugesicherte Antwortzeit eines Lieferanten, Traffic unterhalb einer bestimmten Grenze), macht aus einer vagen Beruhigung etwas, das sich später prüfen lässt. Ändert sich die Annahme, wird das Nicht-Risiko zum Risikokandidaten. Sensitivitäts- und Trade-off-Punkte sind nach der Bewertung ähnlich wertvoll: Sie sagen künftigen Maintainern, welche Parameter sie nur mit Vorsicht ändern sollten, und sie sind natürliche Orte für die automatisierten Prüfungen aus Abschnitt 11.3.
Der Utility Tree noch einmal
Abschnitt 2.8 hat den Utility Tree als Werkzeug zur Priorisierung von Qualitätsanforderungen eingeführt. Er entstand in ATAM und spielt innerhalb der Methode zwei unterschiedliche Rollen. In Schritt 5 bauen die Entscheidungsträger den Baum von oben nach unten auf: Nutzen, dann Qualitätsmerkmale, dann Verfeinerungen, dann konkrete Szenarien mit Bewertung (geschäftliche Bedeutung, technische Schwierigkeit). Die (H,H)-Blätter werden zur Tagesordnung für Schritt 6, weil sie am wichtigsten und am schwersten zu erreichen sind; dort verstecken sich Risiken am ehesten.
In Schritt 7 sammelt der größere Kreis der Stakeholder Szenarien von unten nach oben und stimmt über sie ab, ähnlich wie in einem Quality Attribute Workshop. Der Vergleich beider Sichten ist einer der aufschlussreichsten Momente einer Bewertung. Tauchen die wichtigsten Szenarien der Stakeholder bereits im Baum auf, verstehen die Entscheidungsträger den Zweck ihres Systems. Fehlt ein Szenario, das viele Stimmen erhält, etwa ein Betriebsszenario über Restaurant-Tablets, die offline gehen, haben die Entscheidungsträger einen blinden Fleck, und die Architektur womöglich auch. Solche Szenarien werden in den Baum aufgenommen und in Schritt 8 analysiert.
Ausgearbeitetes Beispiel
Ausgearbeitetes Beispiel: eine verdichtete ATAM der Essenslieferplattform
Die Plattform aus den Kapiteln 2 und 4 verbindet Kunden, 4000 Restaurants und 9000 Kuriere. Die geschäftlichen Treiber sind, das Bestellvolumen innerhalb von 18 Monaten zu verdoppeln (von 50 auf 100 Bestellungen pro Sekunde zur Freitagsspitze), ohne Konversionen zu verlieren, und nationale Restaurantketten zu gewinnen, die vertraglich zugesicherte Verfügbarkeit verlangen. Die Architektur: Microservices pro Bounded Context (Bestellungen, Restaurant, Disposition, Benachrichtigung), jeweils mit eigener PostgreSQL-Datenbank; ein API-Gateway; synchrones REST für die Bestellaufgabe, einschließlich der Kartenautorisierung bei einem externen Zahlungsanbieter; ein Kafka-Broker mit Transactional Outbox für Bestellereignisse; Kurierpositionen, die alle 4 Sekunden gesendet und in Redis gehalten werden; eine Cloud-Region über drei Availability Zones, mit nächtlichen Backups, die in eine zweite Region kopiert werden. Der Utility Tree der Phase 1 übernahm die sechs Szenarien aus Abschnitt 2.8.
| Bestelllatenz (H,H) | p95 unter 1,5 s und p99 unter 3 s bei 100 Bestellungen/s. Ansätze: Gateway, vier synchrone Hops, Kartenautorisierung in der Anfrage. Gemessene Latenz des Anbieters: p95: 900 ms, p99: 2,5 s |
|---|---|
| Analyse | Allein der Anbieter verbraucht den größten Teil des p99-Budgets, sodass 500 ms für vier Hops und Datenbank-Schreibvorgänge bleiben. Nach Littles Gesetz (Abschnitt 2.4) bedeuten 100 Bestellungen/s bei 2,5 s 250 gleichzeitig laufende Anfragen; der Pool von 200 Workern des Bestellservice ist gesättigt, sobald der Anbieter langsamer wird. Risiko R1; Sensitivitätspunkt S1: Zahl der synchronen Hops und p99 des Anbieters |
| Verfügbarkeit des Checkouts (H,H) | Zahlungsanbieter läuft zur Spitzenzeit in Timeouts: Bestellungen werden angenommen und in die Queue gestellt, keine geht verloren, Kunde wird innerhalb von 10 s informiert. Der aktuelle Entwurf lässt die Bestellung scheitern, wenn die Autorisierung in ein Timeout läuft. Risiko R2 |
| Vorgeschlagene Option | Asynchron autorisieren: die Bestellung als ausstehend annehmen, aus einer Queue autorisieren. Verbessert Latenz und Verfügbarkeit, aber manche angenommenen Bestellungen scheitern später bei der Zahlung, und Restaurants dürfen keine unbezahlten Bestellungen zubereiten. Trade-off-Punkt T1: wo im Bestellablauf die Zahlung bestätigt wird |
| Keine verlorenen Bestellungen (Teil von H,H) | Outbox in derselben lokalen Transaktion wie die Bestellung, Kafka mit drei Replikaten, idempotente Consumer. Nicht-Risiko N1, sofern Replikationsfaktor 3 und Producer-Bestätigungen von allen synchronen Replikaten (In-Sync Replicas) gelten |
| Ausfall einer Region (H,M) | RTO 15 min, RPO 1 min. Nächtliche Backups ergeben ein RPO von bis zu 24 Stunden und eine Wiederherstellung, die in Stunden gemessen wird. Risiko R3 |
| Aktualität der Verfolgung (M,M) | Kartenposition nie älter als 5 s. 9000 Kuriere alle 4 s ergeben 2250 Schreibvorgänge/s, für Redis problemlos. Trade-off-Punkt T2: das Aktualisierungsintervall (Aktualität gegen Akku, Daten und Kosten) |
| Kontoübernahme (H,M) | Rate Limiting nach IP-Adresse am Gateway erkennt kein Credential Stuffing, das über Tausende von Adressen verteilt ist. Risiko R4 |
| Brainstorming in Phase 2 | Stakeholder aus Restaurants und Betrieb stimmten stark für ein Szenario, das im Baum fehlte: Ein Restaurant-Tablet, das zur Spitzenzeit 10 Minuten offline ist, muss beim erneuten Verbinden jede Bestellung erhalten. Push-Benachrichtigungen werden einmal und ohne Bestätigung gesendet. Risiko R5 und ein blinder Fleck im Baum |
| Risikothemen | Thema A (R1, R2, R4): Abhängigkeiten von Drittanbietern und am Rand des Systems liegen ohne Isolation auf synchronen kritischen Pfaden; gefährdet die Verdopplung des Volumens ohne Konversionsverluste. Thema B (R3, R5): Wiederherstellungs- und Zustellgarantien hinken der Verfügbarkeit hinterher, die Restaurantketten versprochen wird; gefährdet die Verträge mit den Ketten |
| Was danach geschah | Entscheidungsdokumente zur asynchronen Autorisierung mit einem Status „ausstehend“ (T1 wird akzeptiert, Restaurants werden erst nach der Autorisierung benachrichtigt), zu einer Warm-Standby-Region, zur bestätigten Zustellung von Bestellungen an Tablets und zur Erkennung von Credential Stuffing beim Identity Provider. Die Annahmen von N1 wurden zu einer automatisierten Konfigurationsprüfung |
Die Ergebnisse betreffen Entscheidungen, nicht Personen oder Codequalität, und jedes lässt sich auf ein Szenario und einen geschäftlichen Treiber zurückführen.
Zwei der fünf Risiken stammten aus Szenarien, die der Architekt nicht priorisiert oder nicht bedacht hatte; genau dafür gibt es den Schritt mit den Stakeholdern.
Trade-off-Punkte sind keine Probleme, die beseitigt werden müssen: T1 wurde bewusst akzeptiert und dokumentiert, mit seinen Folgen für Restaurants und Kunden.
CBAM: Geld auf den Tisch legen
ATAM sagt Ihnen, wo die Risiken liegen; sie sagt Ihnen nicht, welche Abhilfen ihr Geld wert sind. Die Cost Benefit Analysis Method (CBAM), am SEI von Rick Kazman, Jai Asundi und Mark Klein entwickelt (erstmals 2001 veröffentlicht), baut auf den Szenarien einer ATAM auf, um diese wirtschaftliche Begründung zu liefern.
In groben Zügen nehmen die Stakeholder die priorisierten Szenarien und ordnen für jedes mehreren Antwortniveaus einen Nutzen (auf einer Skala von 0 bis 100) zu: schlechtester Fall, aktueller Stand, Ziel und bester Fall. Die Architekten schlagen Architekturstrategien vor und schätzen die Antwort, die jede erreichen würde. Der Nutzengewinn jeder Strategie wird an der Nutzen-Antwort-Kurve des Szenarios abgelesen und mit der Priorität des Szenarios gewichtet; über alle Szenarien summiert ergibt das den Nutzen der Strategie. Nutzen geteilt durch Kosten ergibt ein Kosten-Nutzen-Verhältnis (Value for Cost, VFC), und die Strategien werden im Rahmen des verfügbaren Budgets in der Reihenfolge ihres VFC gewählt und dann gegen Intuition und Randbedingungen auf Plausibilität geprüft.
Eine Mini-CBAM für das Risiko eines Regionsausfalls
| Strategie | Erwartete Antwort | Nutzengewinn x Gewicht | Jährliche Kosten | Kosten-Nutzen-Verhältnis |
|---|---|---|---|---|
| Aktuell: nächtliche Backups | RTO etwa 6 h, RPO bis zu 24 h | Nutzen 10 (Basiswert) | bereits bezahlt | n/a |
| A: Warm-Standby-Region, asynchrone Datenbankreplikation | RTO 10 min, RPO unter 1 min | (90 - 10) x 0.3 = 24 | £180k | 24 / 180 = 0.13 |
| B: Pilot Light (Daten repliziert, Rechenleistung bei Bedarf gestartet) | RTO 40 min, RPO unter 1 min | (60 - 10) x 0.3 = 15 | £70k | 15 / 70 = 0.21 |
Strategie B bringt mehr Nutzen pro Pfund, verfehlt aber die Wiederherstellungszeit von 15 Minuten, die die Restaurantverträge verlangen. Die Zahlen informieren die Entscheidung; sie treffen sie nicht. Der eigentliche Wert von CBAM liegt darin, dass es explizite, vergleichbare Schätzungen von Nutzen und Kosten erzwingt und offenlegt, wann eine Randbedingung und nicht ein Verhältnis entscheiden sollte. Seine Schwäche ist, dass Nutzen und Kosten Einschätzungen sind; Teams sollten sie variieren und prüfen, ob sich die Rangfolge ändert, genau wie Abschnitt 1.6 es für gewichtete Entscheidungsmatrizen empfiehlt. Abschnitt 11.8 zeigt, wie man aus solchen Schätzungen einen Business Case macht.
Kosten und Praxis
Eine vollständige ATAM kostet viel Arbeitszeit. Als grobe Veranschaulichung: Ein vierköpfiges Bewertungsteam, das jeweils zwei Tage in die Vorbereitung steckt (8 Personentage), eine eintägige Phase 1 mit drei Entscheidungsträgern (7), eine zweitägige Phase 2 mit zehn zusätzlichen Stakeholdern (34) und eine Woche Nacharbeit durch zwei Personen (10) ergeben rund 60 Personentage, bevor irgendetwas behoben ist. Für ein System, dessen Ausfall Millionen kosten würde oder das ein Jahrzehnt laufen soll, ist das eine günstige Versicherung. Für ein kleines Produktteam ist es unverhältnismäßig.
Mehrere Praktiken halten Bewertungen lohnend. Skalieren Sie die Methode: Bass, Clements und Kazman beschreiben eine leichtgewichtige Architekturbewertung, eine reduzierte ATAM für interne Teams, die sich in einem Tag oder weniger durchführen lässt, und manche Organisationen führen nur die Schritte 2 bis 6 mit einer Handvoll Personen durch. Bereiten Sie gründlich vor: Der größte Teil der Kosten einer schlechten Bewertung entsteht dadurch, dass man erst im Raum feststellt, dass niemand die Architektur beschreiben kann. Halten Sie die Bewerter unabhängig, aber informiert. Vereinbaren Sie vorab, wem die Ergebnisse gehören und wie sie weiterverfolgt werden, idealerweise als Entscheidungsdokumente und Backlog-Einträge mit Verantwortlichen. Und wiederholen Sie die Bewertung: Die Ergebnisse sind eine Momentaufnahme, und die Risiken ändern sich mit dem System und dem Geschäft.
Fachleute sind sich uneinig, welchen Platz die Methode heute hat. Kritiker sehen in ihr ein schwergewichtiges Relikt großer, vorab geplanter Projekte, das schlecht zu Teams passt, die viele Male am Tag deployen. Befürworter entgegnen, dass die Konzepte (Szenarien, Sensitivitäts- und Trade-off-Punkte, Risikothemen) genau das sind, was agilen Teams fehlt, wenn sie die Bewertung auslassen, und dass sich die Methode verkleinern lässt. Beide haben einen Punkt: Das volle Zeremoniell passt zu Systemen mit hoher Tragweite und langer Lebensdauer und zu großen Festlegungen, während das Vokabular und die Gewohnheit szenariogetriebenen Fragens überall hingehören. Abschnitt 11.2 behandelt das leichtere Ende.
Häufige Fragen
Lässt sich ATAM auf ein bereits bestehendes System anwenden?
Ja. Die Schritte sind dieselben; die Architektur wird aus Dokumentation, Code und den Menschen, die das System betreiben, rekonstruiert, und Messungen am laufenden System ersetzen Schätzungen. Ein bestehendes System zu bewerten ist vor einer großen Erweiterung, einer Migration oder einer Übernahme üblich.
Bedeutet eine ATAM ohne Befund, dass das System seine Anforderungen erfüllen wird?
Nein. ATAM untersucht eine Stichprobe von Szenarien auf der Ebene von Designentscheidungen. Sie verringert die Wahrscheinlichkeit unangenehmer Überraschungen, kann aber Messung, Tests und Betriebserfahrung nicht ersetzen. Ihre Ergebnisse sollten nach Möglichkeit in Tests und Fitness Functions überführt werden.
Wer sollte die Architektur vorstellen?
Der Architekt oder Lead Engineer, der sie am besten kennt. Aufgabe des Bewertungsteams ist es, Fragen zu stellen, nicht vorzutragen, und Aufgabe des Architekten ist es, zu erklären und zu erkunden, nicht zu verteidigen.
Prüfen Sie Ihr Verständnis
Was ist der Unterschied zwischen einem Sensitivitätspunkt und einem Trade-off-Punkt?
Ein Sensitivitätspunkt ist eine Eigenschaft, die für eine Qualitätsantwort entscheidend ist. Ein Trade-off-Punkt ist eine Eigenschaft, die zugleich für mehrere Qualitäten ein Sensitivitätspunkt ist, sodass ihre Änderung der einen hilft und der anderen schadet.
Warum hält ATAM Nicht-Risiken fest, und was muss mit ihnen festgehalten werden?
Um zu zeigen, welche Entscheidungen untersucht und als tragfähig beurteilt wurden. Auch die Annahmen, von denen sie abhängen, müssen festgehalten werden, damit das Nicht-Risiko erneut geprüft werden kann, wenn sich eine Annahme ändert.
Was bedeutet es, wenn Stakeholder in Phase 2 stark für ein Szenario stimmen, das im Utility Tree fehlt?
Die Entscheidungsträger haben einen blinden Fleck in Bezug auf das, was zählt, und die Architektur adressiert dieses Szenario womöglich nicht. Es wird in den Baum aufgenommen und in Schritt 8 analysiert.
Wie wird in CBAM das Kosten-Nutzen-Verhältnis einer Strategie berechnet?
Ihr Nutzen, also der nach Priorität gewichtete Nutzengewinn über die betroffenen Szenarien, wird durch ihre Kosten geteilt.
Quellen und weiterführende Literatur
Haben Sie eine Frage zu diesem Abschnitt? ArchitectBot, der KI-Lernassistent des Kurses, antwortet zuerst aus dem Kurs.
Fragen: „Wir stehen kurz davor, einen Dreijahresvertrag mit einem Cloud-Anbieter für unsere Zahlungsplattform zu unterschreiben. Wie würde ich eine reduzierte ATAM in zwei Tagen durchführen, um zuerst die größten Architekturrisiken zu finden?“