Kurs
digicode: AWSS08
Developing Serverless Solutions on AWS – Intensive Training
Kurs-Facts
- Anwenden ereignisgesteuerter Best Practices auf das Design einer serverlosen Anwendung unter Verwendung geeigneter AWS-Services
- Identifizieren der Herausforderungen und Kompromisse bei der Umstellung auf serverlose Entwicklung und Abgabe von Empfehlungen, die für deine Entwicklungsorganisation und -umgebung geeignet sind
- Erstellen von serverlosen Anwendungen unter Verwendung von Mustern, die verwaltete AWS-Services miteinander verbinden, und Berücksichtigung von Service-Merkmalen, einschliesslich Service-Kontingenten, verfügbaren Integrationen, Aufrufmodell, Fehlerbehandlung und Ereignisquellen-Nutzlast
- Vergleich und Gegenüberstellung der verfügbaren Optionen zum Schreiben von Infrastruktur als Code, einschliesslich AWS CloudFormation, AWS Amplify, AWS Serverless Application Model (AWS SAM) und AWS Cloud Development Kit (AWS CDK)
- Anwenden von Best Practices für das Schreiben von Lambda-Funktionen, einschliesslich Fehlerbehandlung, Protokollierung, Wiederverwendung von Umgebungen, Verwendung von Schichten, Zustandslosigkeit, Idempotenz und Konfiguration von Gleichzeitigkeit und Speicher
- Anwenden von Best Practices für den Aufbau von Beobachtbarkeit und Überwachung in deiner serverlosen Anwendung
- Anwenden bewährter Sicherheitspraktiken auf serverlose Anwendungen
- Identifizieren der wichtigsten Skalierungsüberlegungen in einer serverlosen Anwendung und Zuordnen jeder Überlegung zu den Methoden, Tools oder Best Practices, um sie zu verwalten
- Verwendung von AWS SAM, AWS CDK und AWS-Entwickler/innen-Tools zur Konfiguration eines CI/CD-Workflows und zur Automatisierung der Bereitstellung einer serverlosen Anwendung
- Erstellen und aktives Pflegen einer Liste von Serverless-Ressourcen, die dich bei der laufenden Serverless-Entwicklung und beim Engagement in der Serverless-Community unterstützen
Lerne, wie du AWS-Frameworks verwenden kannst, um eine serverlose Anwendung in praktischen Übungen bereitzustellen, die von einfacheren zu komplexeren Themen übergehen. Die AWS-Dokumentation wird während des gesamten Kurses verwendet, um authentische Methoden für das Lernen und die Problemlösung ausserhalb des Klassenzimmers zu entwickeln.
Kursinhalt:
Tag 1
Modul 0: Einführung
- Einführung in die Anwendung, die du erstellen wirst
- Zugang zu den Kursressourcen (Student Guide, Lab Guide und Online-Kursergänzung)
Modul 1: Serverlose Denkweise
- Best Practices für die Erstellung moderner serverloser Anwendungen
- Ereignisgesteuertes Design
- AWS-Services, die ereignisgesteuerte serverlose Anwendungen unterstützen
Modul 2: API-gesteuerte Entwicklung und synchrone Ereignisquellen
- Merkmale von standardmässigen Request/Response-API-basierten Webanwendungen
- Wie Amazon API Gateway in serverlose Anwendungen passt
- Übung zum Ausprobieren: Einrichten eines HTTP-API-Endpunkts, der mit einer Lambda-Funktion integriert ist
- Hochrangiger Vergleich von API-Typen (REST/HTTP, WebSocket, GraphQL)
Modul 3: Einführung in Authentifizierung, Autorisierung und Zugriffskontrolle
- Authentifizierung vs. Autorisierung
- Optionen für die Authentifizierung bei APIs mit API Gateway
- Amazon Cognito in serverlosen Anwendungen
- Amazon Cognito Benutzerpools vs. föderierte Identitäten
Modul 4: Serverlose Bereitstellungs-Frameworks
- Überblick über die imperative vs. deklarative Programmierung für Infrastruktur als Code
- Vergleich der Frameworks CloudFormation, AWS CDK, Amplify und AWS SAM
- Funktionen von AWS SAM und der AWS SAM CLI für lokale Emulation und Tests
Modul 5: Verwendung von Amazon EventBridge und Amazon SNS zur Entkopplung von Komponenten
- Entwicklungsüberlegungen bei der Verwendung von asynchronen Ereignisquellen
- Funktionen und Anwendungsfälle von Amazon EventBridge
- Ausprobieren der Übung: Erstellen eines benutzerdefinierten EventBridge-Busses und einer Regel
- Vergleich von Anwendungsfällen für Amazon Simple Notification Service (Amazon SNS) vs. EventBridge
- Übung zum Ausprobieren: Konfiguriere ein Amazon SNS-Thema mit Filterung
Modul 6: Ereignisgesteuerte Entwicklung mit Warteschlangen und Streams
- Entwicklungsüberlegungen bei der Verwendung von Polling-Ereignisquellen zum Auslösen von Lambda-Funktionen
- Unterscheidungen zwischen Warteschlangen und Streams als Ereignisquellen für Lambda
- Auswahl geeigneter Konfigurationen bei der Verwendung von Amazon Simple Queue Service (Amazon SQS) oder Amazon Kinesis Data Streams als Ereignisquelle für Lambda
- Übung zum Ausprobieren: Konfigurieren einer Amazon SQS-Warteschlange mit einer Dead-Letter-Warteschlange als Lambda-Ereignisquelle
Praktische Übungen
- Praktische Übung 1: Bereitstellen einer einfachen serverlosen Anwendung
- Praktische Übung 2: Nachrichten-Fan-Out mit Amazon EventBridge
Tag 2
Modul 7: Gute Lambda-Funktionen schreiben
- Wie der Lambda-Lebenszyklus deinen Funktionscode beeinflusst
- Bewährte Praktiken für deine Lambda-Funktionen
- Konfigurieren einer Funktion
- Funktionscode, Versionen und Aliasnamen
- Ausprobieren der Übung: Konfigurieren und Testen einer Lambda-Funktion
- Lambda-Fehlerbehandlung
- Behandlung von Teilausfällen mit Warteschlangen und Streams
Modul 8: Schrittfunktionen für die Orchestrierung
- AWS-Schrittfunktionen in serverlosen Architekturen
- Ausprobieren und üben: Step Functions Zustände
- Das Callback-Muster
- Standard- vs. Express-Workflows
- Direkte Integrationen von Step Functions
- Übung zum Ausprobieren: Fehlerbehebung bei einem Standard Step Functions Workflow
Modul 9: Beobachtbarkeit und Überwachung
- Die drei Säulen der Beobachtbarkeit
- Amazon CloudWatch Logs und Logs Insights
- Effektives Schreiben von Protokolldateien
- Ausprobieren der Übung: Interpretieren von Protokollen
- Verwendung von AWS X-Ray für die Beobachtbarkeit
- Übung zum Ausprobieren: Aktivieren von X-Ray und Interpretieren von X-Ray-Traces
- CloudWatch-Metriken und eingebettetes Metrikformat
- Übung zum Ausprobieren: Metriken und Alarme
- Übung zum Ausprobieren: ServiceLens
Praktische Übungen
- Praktische Übung 3: Workflow-Orchestrierung mit AWS Step Functions
- Praktische Übung 4: Beobachtbarkeit und Überwachung
Tag 3
Modul 10: Sicherheit von serverlosen Anwendungen
- Bewährte Sicherheitsverfahren für serverlose Anwendungen
- Anwendung von Sicherheit auf allen Ebenen
- API-Gateway und Anwendungssicherheit
- Lambda und Anwendungssicherheit
- Schutz von Daten in serverlosen Datenspeichern
- Auditing und Rückverfolgbarkeit
Modul 11: Handhabung der Skalierung in serverlosen Anwendungen
- Überlegungen zur Skalierung für serverlose Anwendungen
- Verwendung von API Gateway zur Verwaltung der Skalierung
- Skalierung der Lambda-Gleichzeitigkeit
- Wie verschiedene Ereignisquellen mit Lambda skaliert werden
Modul 12: Automatisieren der Bereitstellungspipeline
- Die Bedeutung von CI/CD bei serverlosen Anwendungen
- Tools in einer serverlosen Pipeline
- AWS SAM-Funktionen für serverlose Bereitstellungen
- Bewährte Praktiken für die Automatisierung
- Nachbereitung des Kurses
Praktische Übungen
- Praktische Übung 5: Absicherung serverloser Anwendungen
- Praktische Übung 6: Serverloses CI/CD auf AWS
Dieser Kurs umfasst Präsentationen, praktische Übungen, Demonstrationen, Videos, Wissenstests und Gruppenübungen.
Dieser Kurs richtet sich an folgende Jobrollen:
- Entwickler/innen
- DevOps
Warum sollte ich ausgerechnet an diesem Kurs teilnehmen? Welchen Nutzen bringt mir diese Weiterbildung? Warum dieser Kurs für die jeweilige Jobrolle relevant ist und was du von der Teilnahme an diesem Kurs erwarten kannst, findest du in der Kursbeschreibung unter «Zusatzinfo».
Wir empfehlen, dass die Teilnehmer/innen dieses Kurses die folgenden Voraussetzungen erfüllen:
- die folgenden Serverless-Digital-Schulungen: AWS Lambda Foundations und Amazon API Gateway for Serverless Applications
und den folgenden Kurs besucht haben (oder über gleichwertige Kenntnisse verfügen):
«Developing Serverless Solutions on AWS» ist ein weiterer der drei spezifischen Entwickler/innen-Kurse, die auf AWS angeboten werden. Während die Reihenfolge zwischen diesem Kurs und «Advanced Developing on AWS» (Kurs drei) umstritten ist, besteht kein Zweifel daran, dass dieser Kurs wichtige serverlose Technologien auf AWS behandelt. Wir befassen uns mit dem AWS-Lambda-Service, erforschen Sicherheitsdienste, die für eine sichere Interaktion mit den von dir auf AWS erstellten Lösungen unerlässlich sind, ereignisgesteuerte Entwicklung, Orchestrierung, Überwachung und Skalierung von serverlosen Lösungen. Dieser Kurs ist eine Fortsetzung des Kurses «Developing on AWS – Associate Level», in dem du mit den grundlegenden Konzepten der Entwicklung auf AWS vertraut gemacht wurdest. Der Detaillierungsgrad der in diesem Kurs besprochenen Services ist etwas umfangreicher als im Kurs «Developing on AWS». Der Schwerpunkt liegt jedoch nach wie vor auf dem Verständnis der Konzepte der einzelnen besprochenen Services. Ein gewisses Mass an Wissen ist erforderlich, um die Möglichkeiten, die AWS als Plattform bietet, zu begreifen. Wir möchten dir helfen, dieses spezielle Verständnisniveau zu erreichen. Wir gehen davon aus, dass du diesen Kurs besuchst, nachdem du den Kurs «Developing on AWS» absolviert oder auf andere Weise Kenntnisse über AWS-Serverless-Services erworben hast. Der Schwerpunkt dieses Kurses liegt nicht auf der Codierung, sondern auf dem Verständnis des Verhaltens der AWS-API, unabhängig von der verwendeten Programmiersprache. Wir möchten betonen, dass bei AWS alles mit dem Kurs «Architecting on AWS» beginnt. Das Verständnis der AWS-Kernarchitektur ist zwar offen für Interpretationen und darf nicht wörtlich genommen werden, aber es ist von entscheidender Bedeutung, wenn wir versuchen, neue Lösungen zu entwickeln. Dieser Kurs bildet da keine Ausnahme. Unabhängig davon, wie du den Prozess der Erstellung von serverlosen Lösungen auf AWS nennen möchtest, ist eines klar: Es gibt viele bewegliche Teile. Selbstlernen ist nicht unmöglich, kann aber auf eine Art und Weise anspruchsvoll sein, die du vielleicht nicht erwartest. Deshalb sind wir hier, um die Lernerfahrung einfacher, schneller und sogar angenehmer zu machen! Unsere erfahrenen Ausbilder/innen führen dich durch die Kursinhalte und tun ihr Möglichstes, um dir zu helfen, die Hindernisse zu überwinden, auf die du sonst mit Sicherheit stossen würdest. Nimm an diesem 3-tägigen Kurs teil und nutze die Möglichkeiten der Erstellung von serverlosen Lösungen auf AWS.