Daniel Takai
Architektur für Websysteme
Serviceorientierte Architektur, Microservices, Domänengetriebener Entwurf
Inhalt
6
Teil I Geschäftssysteme
12
1 Einleitung
14
1.1 Buchmodell
14
1.2 Architektur und Entwurf
18
1.3 Serviceorientierte Architektur
22
1.4 Microservice-Architektur
28
1.5 Domänengetriebener Entwurf
34
1.6 Organisation und Kultur
41
2 Servicemanagement
48
2.1 Service Governance
48
2.2 Servicekatalog
50
2.3 Entwurfsstandard des Service
55
2.4 Entwurfsstandard des Open Host
62
2.5 Entwurfsstandard des Service Bus
67
3 Systemqualität
76
3.1 Qualitätsmodelle
76
3.2 Qualitätsszenarien
84
Teil II Wartbarkeit
88
4 Einleitung
90
4.1 Einführung in die Wartbarkeit
90
5 Konzeptionelle Integrität
96
5.1 Einführung in die Konzeptionelle Integrität
96
5.2 Qualitätsszenarien
100
5.3 Von der Allgemeinsprache
101
5.4 Systemkontext erforschen
104
5.5 Stakeholder Management
107
5.6 Systemziele bestimmen
110
5.7 Anforderungen erheben
112
5.8 Anwendungsfälle
116
5.9 Geschäftsmodelle implementieren
121
5.10 Handshaking mit Implementation Proposals
123
5.11 Das Conway-Manöver
125
5.12 Prototyping
127
6 Konsistenz
130
6.1 Einführung in die Konsistenz
130
6.2 Qualitätsszenarien
132
6.3 Frameworks wählen
133
6.4 Programmieren können
136
6.5 Ergebnisse kontrollieren
138
7 Testbarkeit
142
7.1 Einführung in die Testbarkeit
142
7.2 Qualitätsszenarien
146
7.3 Testmanagement
148
7.4 Sandboxing und Teststufen
153
7.5 Test Harness entwickeln
157
7.6 Test Doubles und Integration planen
159
7.7 Testdaten im Griff haben
162
7.8 Browsertests durchführen
164
8 Analysierbarkeit
166
8.1 Einführung in die Analysierbarkeit
166
8.2 Qualitätsszenarien
169
8.3 Dokumentation erstellen
170
8.4 Diagramme zeichnen
174
8.5 Statische Analyse
177
9 Änderbarkeit
182
9.1 Einführung in die Änderbarkeit
182
9.2 Qualitätsszenarien
186
9.3 Funktionspunkte analysieren
187
9.4 Continuous Deployment
191
9.5 Regeln für die Versionskontrolle
195
9.6 Regeln für das Build-Management
196
9.7 Regeln für das Release-Management
198
9.8 Regeln für das Lizenzmanagement
199
Teil III Performance
202
10 Einleitung
204
10.1 Einführung in die Performance
204
10.2 Qualitätsszenarien
208
11 Latenz
210
11.1 Einführung in die Latenz
210
11.2 Latenz messen
213
11.3 Für HTTP/2 planen
215
11.4 Content-Delivery-Netzwerke
220
11.5 Latenzdiagramme zeichnen
223
11.6 HTTP-Cache einsetzen
225
12 Service-Performance
228
12.1 Einführung in die Service-Performance
228
12.2 Metriken definieren
230
12.3 Culling
237
12.4 Tuning
238
12.5 Service-Cache abwägen
241
13 Kapazität
244
13.1 Einführung in die Kapazität
244
13.2 Lastsimulation
246
13.3 Speicherkapazität
251
13.4 Bottlenecks aufspüren
255
14 Skalierbarkeit
258
14.1 Einführung in die Skalierbarkeit
258
14.2 Geografische Skalierung
261
14.3 Storage skalieren
262
14.4 Asynchroner Entwurf
267
14.5 Cookie Cutter und Microservices
271
Teil IV Zuverlässigkeit
272
15 Einleitung
274
15.1 Einführung in die Zuverlässigkeit
274
15.2 Fehlerquellen
278
15.3 Qualitätsszenarien
282
16 Verfügbarkeit
284
16.1 Einführung in die Verfügbarkeit
284
16.2 Berechnung der Verfügbarkeit
288
16.3 Verfügbarkeit verbessern
290
16.4 N+M-Kapazität
291
16.5 Lastverteilung
292
17 Herstellbarkeit
294
17.1 Einführung in die Herstellbarkeit
294
17.2 Automation-Service
297
17.3 Bootstrapping- und Configuration-Service
299
17.4 Backup und Restore
302
18 Prüfbarkeit
308
18.1 Einführung in Prüfbarkeit und Monitoring
308
18.2 Architektur für Prüfbarkeit
310
18.3 Architektur für Monitoring
313
18.4 Alarm und Eskalation
317
19 Resilienz
320
19.1 Einführung in die Resilienz
320
19.2 Throttling
327
19.3 Vor DDoS schützen
328
19.4 Canary Deployments
330
19.5 Canary Requests
331
19.6 Circuit Breaker
333
19.7 Graceful Degradation
335
Teil V Informationssicherheit
338
20 Einleitung
340
20.1 Einführung in die Informationssicherheit
340
21 Identifizierung
342
21.1 Einführung in die Identifizierung
342
21.2 Cost per Identity
344
21.3 Faktoren der Sicherheit
345
21.4 Prozesse der Identifizierung
346
21.5 Timer
347
21.6 Ablauf der Identifizierung
348
21.7 Protokolle
349
21.8 Protokoll: Basic Auth
351
21.9 Protokoll: Kerberos
352
21.10 Protokoll: SAML
353
21.11 Protokoll: OAuth
357
21.12 Protokoll: OpenID
358
22 Authentifizierung als Service
360
22.1 Authentifizierung als Service beziehen
360
22.2 Service: Azure Active Directory
363
22.3 Service: SafeNet Authentication
364
22.4 Service: Mobile ID
365
23 Autorisierung
368
23.1 Einleitung
368
23.2 RBAC
369
23.3 ABAC
373
23.4 RBAC oder ABAC?
375
23.5 RABAC und Microservices
376
Literatur
378
Stichwortverzeichnis
378
© 2009-2023 ciando GmbH