Einleitung
- Warum Spring Boot & AWS?
- Wer sollte dieses Buch lesen?
- Voraussetzungen für die praktischen Beispiele
- Was kannst du von diesem Buch erwarten?
- In Kontakt treten
- Ressourcen
- Über die Autoren
- Teil I: Bereitstellung mit AWS
1. Erste Schritte mit AWS
- Vorbereitung
- Inspektion der “Hello World” Todo App
- Veröffentlichung der “Hello World”-App auf Docker Hub
- Einführung in AWS-Ressourcen
- Untersuchung der CloudFormation-Vorlagen
- Überprüfung der Bereitstellungsskripte
- Überprüfung der AWS-Konsole
2. Ein Überblick über AWS-Dienste
- AWS CloudFormation
- AWS Cloud Development Kit (CDK)
- Amazon CloudWatch
- Amazon Cognito
- Amazon DynamoDB
- Amazon Elastic Compute Cloud (EC2)
- Amazon Elastic Container Registry (ECR)
- Amazon Elastic Container Service (ECS)
- Amazon MQ
- Amazon Relational Database Service (RDS)
- Amazon Route 53
- Amazon Simple Email Service (SES)
- Amazon Simple Queue Service (SQS)
- Amazon Simple Storage Service (S3)
- Amazon Virtual Private Cloud (VPC)
- AWS Certificate Manager
- AWS Identity and Access Management (IAM)
- AWS Lambda
- AWS Secrets Manager
- AWS Systems Manager (SSM)
- Elastic Load Balancing (ELB)
3. Verwalten von Berechtigungen mit IAM
- Benutzer, Gruppen und Rollen
- Root-User vs. einzelne Benutzer
- Richtlinien definieren
- Erstellen von AWS-Zugangsschlüsseln für jeden Benutzer
- Programmgesteuerte Verwaltung von IAM-Ressourcen
- Best Practices für die Verwaltung von Berechtigungen mit IAM
4. Die Evolution automatisierter Bereitstellungen
- Eine Anekdote über manuelle Bereitstellungen
- Self-Service-Bereitstellungen mit der AWS-Konsole
- Skriptfähige Bereitstellungen mit der AWS CLI
- Deklarative Bereitstellungen mit CloudFormation
- Programmierbare Deployments mit CDK
5. Erste Schritte mit CDK
- Erstellung unserer ersten CDK-App
- Eine Spring Boot App mit einem CDK Construct einsetzen
- Warum nicht hier stoppen?
6. Entwurf eines CDK-Projekts
- Das Gesamtbild
- Arbeiten mit CDK
- Docker Repository CDK App
- Die CDK-App für das Netzwerk
- Die Service CDK App
- Hands-On Erfahrung mit den CDK-Apps
7. Aufbau einer Continuous Deployment Pipeline
- GitHub Actions Konzepte
- Einrichtung einer neuen Umgebung
- Bereitstellen eines gemeinsamen Netzwerks
- Einsetzen einer Anwendungsumgebung
- Aufbau eines Continuous Deployment Workflows
- Unterstützung von High-Frequency Deployments mit Amazon SQS und AWS Lambda
Anhang: Konfiguration von HTTPS und einer benutzerdefinierten Domain mit Route 53 und ELB
- Domain Name System (DNS)
- HTTPS und Transport Layer Security (TLS)
- Registrierung oder Übertragung einer Domain
- Erstellung eines SSL-Zertifikats mit CDK
- Erstellung eines HTTPS-Listeners mithilfe der NetworkApp
- Verknüpfung einer benutzerdefinierten Domain mit dem ELB
- Teil II: Spring Boot & AWS
8. Die Todo Beispielsanwendung
- Funktionen
- Anwendungsarchitektur
- Domänenmodell
- Grundsetup der Anwendung
9. Lokale Entwicklung
- Die Herausforderungen der lokalen Cloud-Entwicklung
- LocalStack - Unsere lokale AWS Cloud
- Lokales Amazon RDS & Amazon Cognito
- Alles Zusammenführen
10. Erstellung der Benutzerregistrierung und Anmeldung mit Amazon Cognito
- Was ist OAuth2?
- OAuth 2.0 Terminologie
- OpenID Connect 1.0 (OIDC)
- Alternativen zu OAuth2 & OpenID Connect
- Verwendung von Amazon Cognito für die Benutzerverwaltung
- Verwendung von Amazon Cognito als Identitätsanbieter mit Spring Security
- Lokale Entwicklung aktivieren
11. Verbindung zu einer Datenbank mit Amazon RDS herstellen
- Einführung in den AWS Relational Database Service (RDS)
- Einrichten von IAM-Berechtigungen
- Erstellen einer Datenbank-CDK-App
- Strategien zur Initialisierung der Datenbankstruktur
- Konfiguration der Datenbank in der Todo-App
- Nutzung der Datenbank zur Speicherung und Abruf von Todos
- Lokale Entwicklung ermöglichen
12. Teilen von Todos mit Amazon SQS und Amazon SES
- Verwendung von Amazon SQS für asynchrone Workloads
- E-Mails senden mit Amazon SES
- Aktivieren der lokalen Entwicklung
13. Push-Benachrichtigungen mit Amazon MQ
- Was sind eigentlich Push-Benachrichtigungen?
- Push-Benachrichtigungen für Live-Updates
- AWS Dienste zur Implementierung von Push-Benachrichtigungen
- Einrichten eines Message Brokers mit CDK
- Implementierung der Push-Benachrichtigungen-Funktion in der Todo-App
- Lokale Entwicklung ermöglichen
14. Verfolgung von Benutzeraktionen mit Amazon DynamoDB
- Anwendungsfall: Verfolgung von Benutzeraktionen
- Amazon RDS vs. Amazon DynamoDB
- Implementierung der Funktion zur Benutzernachverfolgung für die Todo-App
- Lokale Entwicklung ermöglichen
- Teil III: Produktionsbereitschaft mit AWS
15. Strukturiertes Logging mit Amazon CloudWatch
- Logging mit AWS
- CloudWatch Logging Terminologie
- Status Quo: Logging unstrukturierter Text
- Logging und Abfrage von strukturierten Daten
16. Metriken mit Amazon CloudWatch
- Einführung in die Überwachung von Metriken mit Amazon CloudWatch
- Senden von Metriken von AWS-Diensten
- Senden von Metriken aus unserer Spring Boot-Anwendung
- Überwachung von Metriken mit Amazon CloudWatch
17. Alarmierung mit Amazon CloudWatch
- Einführung in die Alarmierung mit Amazon CloudWatch
- Alarme mit dem AWS CDK erstellen
- Behandeln von Alarmen und Incidents
18. Synthetic Monitoring mit Amazon CloudWatch
- Einführung in Amazon CloudWatch Synthetics
- Aufzeichnen eines Canary-Skripts für die Todo-App
- Einfachheit bewahren
- Automatisierung der Canary-Bereitstellung mit CDK
- Alarmierung bei Canary-Ausfall
- Abschließende Gedanken
Erobere die Cloud
- Zusätzliche Ressourcen
- Anhang
- Technischer GitHub Actions IAM Nutzer
- Bereitstellungsanleitung
