Der nachfolgende Text wurden mit KI erstellt und kann Fehler enthalten. Fehler gefunden? Bei GitHub editieren
Wichtige Keytakeaways
- Für jedes Qualitätsszenario braucht die Architektur eine konkrete Antwort, die man geben kann, ohne rot zu werden.
- Weil im Shop keine IT-Experten arbeiten und das System nach 30 Minuten wieder laufen muss, scheidet ein Server im Laden aus und die Lösungsstrategie heißt Cloud.
- Eine Deployment-Sicht deckt Risiken auf, die die Bausteinsicht verbirgt, etwa die Frage, ob die Cloud mit Kasse und Rechnungswesen im Laden reden kann.
- Die Amazon-SLAs zählen einen Ausfall erst, wenn mehr als eine Availability Zone ausfällt, deshalb sind mindestens zwei EC2-Instanzen hinter einem Load Balancer oder mehrere Container-Instanzen Pflicht.
- Ob Monolith auf EC2 oder Container auf EKS, ist für die Qualitätsszenarien fast egal, die Microservices-Frage ist hier zweitrangig.
- Mandantenfähigkeit von Anfang an ist ein bewusster Trade-off zwischen höheren Entwicklungskosten heute und niedrigeren Betriebskosten später.
Behandelte Kernfragen
- Wie leitet man aus Qualitätsszenarien konkrete Technologie- und Infrastrukturentscheidungen ab?
- Was passiert mit einem Cloud-System, wenn der Router im Laden ausfällt, und wie viel Geld ist die Absicherung wert?
- Was garantieren die SLAs von EC2, EKS und RDS wirklich, und was bekommt man bei einem Verstoß?
- Kann das Cloud-System das Kassensystem und das Rechnungswesen im Laden erreichen?
- Soll man Mandantenfähigkeit einbauen, bevor ein zweiter Kunde da ist, oder lieber eine zweite Instanz betreiben?
- Wann ist eingebaute Flexibilität sinnvoll, und wann gilt “You ain’t gonna need it”?
Glossar wichtiger Begriffe
- Qualitätsszenario: Eine konkrete, messbare Erwartung des Kunden an eine Qualität des Systems.
- Deployment View: Eine Sicht in arc42, die zeigt, auf welcher Infrastruktur die Bausteine des Systems laufen.
- Availability Zone: Ein Rechenzentrum innerhalb einer Cloud-Region wie EU-West-1, das unabhängig von den anderen ausfällt.
- SLA: Service Level Agreement, der vertragliche Text, der Verfügbarkeit definiert und bei Verstößen meist nur eine Dienstgutschrift vorsieht.
- Mandantenfähigkeit: Die Fähigkeit, innerhalb eines Systems mehrere Kunden, hier mehrere Fahrradläden, getrennt zu verwalten.
- ADR: Architecture Decision Record, eine Notiz, die eine Entscheidung mit Alternativen und Begründung festhält.
Genannte Technologien
- Amazon EC2: Virtuelle Maschinen in der Amazon-Cloud, Option für einen Deployment-Monolithen.
- Amazon EKS: Kubernetes-Service von Amazon, Option für je einen Container pro fachlichem Baustein.
- Elastic Load Balancer: Verteilt Anfragen auf mehrere EC2-Instanzen in verschiedenen Availability Zones.
- Amazon RDS: Relationaler Datenbank-Service, etwa mit Oracle oder MySQL, als Antwort auf das Szenario Datenverlust.
- Amazon Simple Email Service: Dienst für den E-Mail-Versand aus der Cloud.
- arc42: Template für Architekturdokumentation mit Solution Strategy und Deployment View.