Zusammenfassung

Das Entwerfen, Entwickeln und Bereitstellen von effizienten Softwarelösungen hat sich durch die Cloud grundlegend geändert. Um erfolgreich deren Potentiale zu nutzen, müssen wichtige Grundlagen beherrscht und beachtet werden. Den Teilnehmer wird ein Überblick über Cloud Computing gegeben um anschließend selbständig verwandte Technologien einordnen und deren Potentiale zu erkennen zu können. Neben dem theoretischen Einstieg in dei Thematik, wird das Erlente an einem praktischen Beispiel verdeutlicht, welches verschiedene Service Modelle umfasst (IaaS, FaaS, CaaS, PaaS). Konzepte wie Continuous Integration (CI), Continuous Delivery/Deployment (CD) und Infrastructure-as-Code (IaC) sind insbesondere beim Cloud Computing wichtiger Bestandtteil des Entwicklungsprozess und werden ebenfalls theoretisch wie auch praktisch behandelt.

Dauer: 2 Tage

Zielgruppe

  • Softwareentwickler
  • Alle Interessierte, die sich einen Überblick über die Möglichkeiten der Softwareentwicklung in der Cloud verschaffen möchten.

Gliederung

  • Was ist Cloud Computing?
  • Begriffsabgrenzung und Beispiele (IaaS, CaaS, PaaS, FaaS, SaaS)
  • Container Technologie als Enabler für Cloud Computing (Docker, Kubernetes)
  • Serverless Computing und FaaS
  • Die Beispiel-Anwendung, ihre Architektur und die nötigen Cloud Dienste
  • CaaS/PaaS - Hands-on mit Amazon Web Services (AWS)
  • FaaS - Hands-on mit AWS Lambda
  • Infrastructure-as-Code (IaC) am Beispiel Terraform
  • Continuous Integration (CI) and Continuous Delivery/Deployment (CD)
  • Hands on - Deployment der Beispielanwendung (Gitlab CI/CD)
  • Monitoring von Cloud-Applikationen
  • Software-Architekturen für Cloud-Lösungen
  • Review: Ist unsere Beispielanwendung eine 12-factor app?