Überblick über Cloud Architekturen
Classroom Schulung | Deutsch | Anspruch
Schulungsdauer: 2 Tage
Ziele
Dieses Seminar gibt einen Überblick über Cloud Computing und dessen Möglichkeiten für die Software-Entwicklung. Hierzu wird auf die bei gängigen Cloud-Anbietern (z.B. AWS, GCP, Azure) angebotenen Dienst-Kategorien (IaaS, CaaS, PaaS, FaaS, SaaS) und deren Eigenschaften eingegangen.
Für Softwareentwickler relevante Technologien und Frameworks, die einen effektiven und effizienten Software-Entwicklungsprozess für Cloud-Anwendungen ermöglichen, werden hier vorgestellt.
Die Prinzipien für die Entwicklung von Cloud-Anwendungen und die Grundlagen der Technologien werden anhand eines Praxisbeispiels (Java + Python) auf der Cloud-Plattform Amazon Web Services (AWS) verdeutlicht. Diese Prinzipien lassen sich mit wenig Aufwand auf andere Cloud-Plattformen übertragen.
Zusammenfassung der wichtigsten Seminar Lerninhalte: 1. Cloud-Servicemodelle und deren Möglichkeiten sowie Vorteile und Nachteile kennen 2. Eigenschaften von Cloud Computing und deren Einfluss auf Software-Entwicklung kennen 3. Prinzipien für die erfolgreiche Entwicklung von Cloud-Anwendungen kennen (12-Factor-App) 4. Für die Software-Entwicklung relevante Grundlagen von Cloud-Technologien und Frameworks kennen (Docker + Kubernetes) 5. Vorteile von Cloud-Technologien und -Infrastruktur für den Software-Entwicklungsprozess kennen (CI/CD + IaC) 6. Herausforderungen und Lösungen für das Monitoring von Cloud-Anwendungen kennen 7. Architektur-Stile und Herausforderungen an Software-Architekturen für Cloud-basierte Anwendungen kennen
Zielgruppe
- Softwareentwickler
- Softwarearchitekten
- Anforderungsmanager
Voraussetzungen
Grundlegendes Verständnis über Computer-Architekturen.
Agenda
Tag 1
Einführung Cloud Computing
- Eigenschaften von Cloud Computing
- Klassifizierung von Cloud Computing
- Prinzipien für die Entwicklung von Cloud-Anwendungen (12-Factor-Apps)
Grundlagen - Technologien und Frameworks
- Docker
- Kubernetes
Hands-On (Praxisbeispiel)
- Vorstellung der Beispiel-Anwendung
- Beispiel-Anwendung auf der Amazon Elastic Kubernetes Service (Amazon EKS)
- AWS Lambda (FaaS)
Tag 2
Infrastructure
- Infrastructure as Code (IaC)
- Continuous Integration, Continuous Delivery, Continuous Deployment
- Ausblick: DevOps
Hands-On (Praxisbeispiel)
- IaC-Beispiel mit Terraform
- Deployment Pipeline für die Beispiel-App
Monitoring
- Monitoring von Cloud-Anwendungen
- Architekturen für Cloud-Anwendungen
- Kommunikation in verteilten Systemen
- Cloud-Architekturen und Software-Qualitätsattribute
- Cloud Design Patterns
Hands-On (Praxisbeispiel)
- 12-Factor-Apps - Wiederholung
- Analyse/Review der Beispiel-Anwendung
Ziele
Dieses Seminar gibt einen Überblick über Cloud Computing und dessen Möglichkeiten für die Software-Entwicklung. Hierzu wird auf die bei gängigen Cloud-Anbietern (z.B. AWS, GCP, Azure) angebotenen Dienst-Kategorien (IaaS, CaaS, PaaS, FaaS, SaaS) und deren Eigenschaften eingegangen.
Für Softwareentwickler relevante Technologien und Frameworks, die einen effektiven und effizienten Software-Entwicklungsprozess für Cloud-Anwendungen ermöglichen, werden hier vorgestellt.
Die Prinzipien für die Entwicklung von Cloud-Anwendungen und die Grundlagen der Technologien werden anhand eines Praxisbeispiels (Java + Python) auf der Cloud-Plattform Amazon Web Services (AWS) verdeutlicht. Diese Prinzipien lassen sich mit wenig Aufwand auf andere Cloud-Plattformen übertragen.
Zusammenfassung der wichtigsten Seminar Lerninhalte: 1. Cloud-Servicemodelle und deren Möglichkeiten sowie Vorteile und Nachteile kennen 2. Eigenschaften von Cloud Computing und deren Einfluss auf Software-Entwicklung kennen 3. Prinzipien für die erfolgreiche Entwicklung von Cloud-Anwendungen kennen (12-Factor-App) 4. Für die Software-Entwicklung relevante Grundlagen von Cloud-Technologien und Frameworks kennen (Docker + Kubernetes) 5. Vorteile von Cloud-Technologien und -Infrastruktur für den Software-Entwicklungsprozess kennen (CI/CD + IaC) 6. Herausforderungen und Lösungen für das Monitoring von Cloud-Anwendungen kennen 7. Architektur-Stile und Herausforderungen an Software-Architekturen für Cloud-basierte Anwendungen kennen
Zielgruppe
- Softwareentwickler
- Softwarearchitekten
- Anforderungsmanager
Voraussetzungen
Grundlegendes Verständnis über Computer-Architekturen.
Agenda
Tag 1
Einführung Cloud Computing
- Eigenschaften von Cloud Computing
- Klassifizierung von Cloud Computing
- Prinzipien für die Entwicklung von Cloud-Anwendungen (12-Factor-Apps)
Grundlagen - Technologien und Frameworks
- Docker
- Kubernetes
Hands-On (Praxisbeispiel)
- Vorstellung der Beispiel-Anwendung
- Beispiel-Anwendung auf der Amazon Elastic Kubernetes Service (Amazon EKS)
- AWS Lambda (FaaS)
Tag 2
Infrastructure
- Infrastructure as Code (IaC)
- Continuous Integration, Continuous Delivery, Continuous Deployment
- Ausblick: DevOps
Hands-On (Praxisbeispiel)
- IaC-Beispiel mit Terraform
- Deployment Pipeline für die Beispiel-App
Monitoring
- Monitoring von Cloud-Anwendungen
- Architekturen für Cloud-Anwendungen
- Kommunikation in verteilten Systemen
- Cloud-Architekturen und Software-Qualitätsattribute
- Cloud Design Patterns
Hands-On (Praxisbeispiel)
- 12-Factor-Apps - Wiederholung
- Analyse/Review der Beispiel-Anwendung