Einführung in Cloud Computing für Softwareentwickler
Classroom Schulung | Deutsch | Anspruch
Schulungsdauer: 2 Tage
Ziele
Softwareentwicklern bietet die Cloud interessante neue Möglichkeiten bei der Entwicklung und effizienten Bereitstellung von Softwarelösungen. Um diese Potentiale zu nutzen, gilt es beim Design, der Entwicklung und Implementierung von Cloud-basierten Softwarelösungen und Applikationen einiges zu beachten.
Dieser Kurs vermittelt den Teilnehmern das notwendigen Wissen zur Einordnung von Cloud-Technologien und zeigt deren Potentiale im Software-Entwicklungsprozess, sowie die bei der Software-Entwicklung zu berücksichtigenden Prinzipen auf. Diese werden anhand von Beispielen aus einer Anwendung exemplarisch anhand einer Cloud Plattform (bspw. von Google, Amazon, Microsoft) vertieft. Darüber hinaus erfahren die Teilnehmer in Kleingruppenarbeit (mob programming), wie einfach eine moderne Cloud-Anwendung gestaltet werden kann.
Zielgruppe
Das Seminar richtet sich an
- Softwareentwickler und
- alle Interessierten, die sich einen Überblick über die Möglichkeiten der Softwareentwicklung in der Cloud verschaffen möchten.
Voraussetzungen
Erfahrung in der Software-Entwicklung
Agenda
- Was ist Cloud Computing?
- Eigenschaften von Cloud Computing
- Vorteile von Cloud Computing
- Abgrenzung von Cloud Computing
- Kernprinzipien der Cloud-Entwicklung
- Begriffsabgrenzung und Beispiele
- Infrastructure-as-a-Service (IaaS) – Definition, Eigenschaften und Beispiele
- Container-as-a-Service (CaaS )– Definition, Eigenschaften und Beispiele
- Platform-as-a-Service (PaaS) – Definition, Eigenschaften und Beispiele
- Function-as-a-Service (FaaS) – Definition, Eigenschaften und Beispiele
- Software-as-a-Service (SaaS) - Definition, Eigenschaften und Beispiele
- PaaS - Grundlegende Technologien
- Container vs. VMs
- Container-basierte PaaS-Angebote vs. Native PaaS-Angebote
- Docker
- Kubernetes
- Serverless Computing und FaaS
- Die Beispiel-Anwendung und ihre Architektur
- CaaS/PaaS – Hands on mit Google Cloud Platform (Mob programming)
- FaaS – Hands on mit Google Cloud Functions (Mob programming)
- Infrastructure and Everything as Code
- Continuous Integration
- Continuous Delivery
- 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?
Eingesetzte Ressourcen: Rechner für Teilnehmer mit Google Cloud SDK, Google Firebase Tools und git
Ziele
Softwareentwicklern bietet die Cloud interessante neue Möglichkeiten bei der Entwicklung und effizienten Bereitstellung von Softwarelösungen. Um diese Potentiale zu nutzen, gilt es beim Design, der Entwicklung und Implementierung von Cloud-basierten Softwarelösungen und Applikationen einiges zu beachten.
Dieser Kurs vermittelt den Teilnehmern das notwendigen Wissen zur Einordnung von Cloud-Technologien und zeigt deren Potentiale im Software-Entwicklungsprozess, sowie die bei der Software-Entwicklung zu berücksichtigenden Prinzipen auf. Diese werden anhand von Beispielen aus einer Anwendung exemplarisch anhand einer Cloud Plattform (bspw. von Google, Amazon, Microsoft) vertieft. Darüber hinaus erfahren die Teilnehmer in Kleingruppenarbeit (mob programming), wie einfach eine moderne Cloud-Anwendung gestaltet werden kann.
Zielgruppe
Das Seminar richtet sich an
- Softwareentwickler und
- alle Interessierten, die sich einen Überblick über die Möglichkeiten der Softwareentwicklung in der Cloud verschaffen möchten.
Voraussetzungen
Erfahrung in der Software-Entwicklung
Agenda
- Was ist Cloud Computing?
- Eigenschaften von Cloud Computing
- Vorteile von Cloud Computing
- Abgrenzung von Cloud Computing
- Kernprinzipien der Cloud-Entwicklung
- Begriffsabgrenzung und Beispiele
- Infrastructure-as-a-Service (IaaS) – Definition, Eigenschaften und Beispiele
- Container-as-a-Service (CaaS )– Definition, Eigenschaften und Beispiele
- Platform-as-a-Service (PaaS) – Definition, Eigenschaften und Beispiele
- Function-as-a-Service (FaaS) – Definition, Eigenschaften und Beispiele
- Software-as-a-Service (SaaS) - Definition, Eigenschaften und Beispiele
- PaaS - Grundlegende Technologien
- Container vs. VMs
- Container-basierte PaaS-Angebote vs. Native PaaS-Angebote
- Docker
- Kubernetes
- Serverless Computing und FaaS
- Die Beispiel-Anwendung und ihre Architektur
- CaaS/PaaS – Hands on mit Google Cloud Platform (Mob programming)
- FaaS – Hands on mit Google Cloud Functions (Mob programming)
- Infrastructure and Everything as Code
- Continuous Integration
- Continuous Delivery
- 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?
Eingesetzte Ressourcen: Rechner für Teilnehmer mit Google Cloud SDK, Google Firebase Tools und git