Cloud Computing
Theorie, Definitionen, Modelle und REST-Grundlagen – strukturiert für Prüfungsvorbereitung und schnelles Nachschlagen.
Agiles Arbeiten – Kanban-Board
MethodikKanban ist eine Methode des agilen Arbeitens. Aufgaben wandern als Karten von links nach rechts durch ein Board mit definierten Spalten. Durch ein WIP-Limit (Work in Progress) wird verhindert, dass zu viele Aufgaben gleichzeitig bearbeitet werden – das fördert den Wissenstransfer und reduziert Engpässe.
Definition Cloud Computing
NISTCloud Computing baut auf verschiedenen Rechenparadigmen auf, die sich in Architektur und Verteilung unterscheiden:
| 1 CPU | Mehrere CPUs (PC) | Cluster Computing | Grid Computing |
|---|---|---|---|
| Einzelner Prozessor in einem System | Mehrere CPUs in einem physischen System (SMP) | Verteilte Systeme mit gleicher CPU-Architektur | Verteilte Systeme mit verschiedenen CPU-Architekturen |
Cloud Computing kann als Weiterentwicklung dieser Paradigmen verstanden werden: viele verteilte Ressourcen werden als homogener Pool abstrahiert und über das Netzwerk verfügbar gemacht.
Bildliche Darstellung der Cloud-Definition
Schaubild: Nutzer greifen über das Netzwerk auf einen gemeinsamen Ressourcenpool zu, der dynamisch bereitgestellt und gemessen wird.
Die 5 Eigenschaften (NIST)
PrüfungsrelevantDas NIST-Modell definiert fünf wesentliche Eigenschaften, die ein System aufweisen muss, um als Cloud Computing zu gelten:
👋 = selbst machbar (On Demand), ⏱️ = zeitlich schnell/genau (Rapid Elasticity), ◁ ◆ ◇ ■ □ ● = viele verschiedene Services und freie Skalierung.
Ressourcen bei Bedarf, ohne menschlichen Eingriff des Anbieters
Zugriff über das Netzwerk von beliebigen Geräten
Ressourcen werden mehreren Kunden geteilt (Multi-Tenancy)
Schnelles Skalieren nach oben und unten, auf- und abrufbar
Messbare Ressourcennutzung – pay-per-use, transparent für Anbieter und Nutzer
Beispiel-Services einer Cloud
Geschichte & Meilensteine
Service-Modelle: IaaS / PaaS / SaaS
PrüfungsrelevantIaaS: Der Anbieter liefert Infrastruktur (VM, Speicher, Netzwerk). Der Kunde verwaltet OS, Middleware, Runtime und Applikation.
PaaS: Der Anbieter liefert zusätzlich Plattform/Runtime. Der Kunde fokussiert auf Code und Daten.
SaaS: Der Anbieter liefert die komplette Anwendung. Der Kunde nutzt und konfiguriert sie nur fachlich.
Je nach Modell verantwortet der Cloud-Anbieter mehr oder weniger Schichten des Systems. Die Abgrenzung erfolgt nach dem sogenannten Schichtenmodell:
| Ebene | Bezeichnung | Cloud-Modell | Verantwortung |
|---|---|---|---|
| User Interface | Darstellung | SaaS | Anbieter liefert fertiges UI |
| Interaktion | API (Extern) | SaaS | Externe Schnittstelle inklusive |
| Logik | Anwendung | SaaS | Anbieter stellt Plattform bereit |
| Information | Daten, Metadaten | SaaS | Daten-Management oft inklusive |
| Konnektivität | Integration | PaaS | Middleware & Schnittstellen |
| Steuerung | API (Intern) | IaaS | Steuerung der Ressourcen |
| Logik-Hardware | Virtualisierung | IaaS | Hypervisor, Container-Runtime |
| Physis | Hardware | IaaS | Immer beim Anbieter |
| Location | Rechenzentrum | IaaS | Immer beim Anbieter |
Zuständigkeiten: On-Prem / IaaS / PaaS / SaaS
Prüfungsrelevant| Säule | On-Prem | IaaS | PaaS | SaaS |
|---|---|---|---|---|
| Applikation | Kunde | Kunde | Kunde | Anbieter |
| Sicherheit | Kunde | Gemeinsam | Gemeinsam | Gemeinsam |
| Datenbank | Kunde | Kunde | Gemeinsam | Anbieter |
| OS | Kunde | Kunde | Anbieter | Anbieter |
| Virtualisierung | Kunde | Anbieter | Anbieter | Anbieter |
| Server | Kunde | Anbieter | Anbieter | Anbieter |
| Speicher | Kunde | Anbieter | Anbieter | Anbieter |
| Netzwerk | Kunde | Anbieter | Anbieter | Anbieter |
| Rechenzentrum | Kunde | Anbieter | Anbieter | Anbieter |
Deployment-Modelle
Öffentliche Cloud
Von beliebigen Personen nutzbar. Infrastruktur gehört dem Anbieter. Keine internen/exklusiven Anwendungen – alles öffentlich zugänglich.
Private Cloud
Anbieter und Nutzer sind im selben Unternehmen. Vollständige Kontrolle über Daten und Infrastruktur. Keine geteilten Ressourcen mit Dritten.
Hybrid Cloud
Mehrere eigenständige Cloud-Infrastrukturen mit einheitlichen Schnittstellen. Bsp: Private Cloud ↔ Azure. Erfordert klare Strategie: was wird wo gespeichert.
Virtuelle Private Cloud
Private Cloud auf fremder Hardware. Logisch isoliert, physisch geteilt. Kombination aus Kontrolle und externer Infrastruktur.
Skycloud
Cloud aus mehreren Cloud-Anbietern nach verschiedenen Kriterien. Maximale Redundanz und Anbieterunabhängigkeit. Siehe eigener Abschnitt.
Typische Hybrid-Cloud-Anwendungen:
1) Sensible Daten in Private Cloud, skalierbares Frontend in Public Cloud.
2) Backup/Disaster-Recovery in Public Cloud bei On-Prem-Primärsystem.
3) Lastspitzen per Cloud Bursting in Public Cloud abfangen.
Unterschied: On-Premise vs Virtual Private Cloud
| Kriterium | On-Premise | Virtual Private Cloud (VPC) |
|---|---|---|
| Hardware-Standort | Eigene Räume/Rechenzentrum | Beim Cloud-Anbieter |
| Isolation | Physisch exklusiv | Logisch isoliert (virtuelles Netzwerk) |
| Skalierung | Langsam (Beschaffung) | Schnell (on demand) |
| Betriebsaufwand | Hoch (Strom, Kühlung, Hardware) | Geringer, Fokus auf Konfiguration |
| Kostenmodell | CAPEX-lastig | OPEX / Pay-per-use |
Skycloud
Cloud of CloudsSkycloud bezeichnet die gleichzeitige Verwendung mehrerer Cloud-Anbieter über ein gemeinsames Automatisierungssystem – typischerweise ein Ansible-Skript.
Ziel ist es, Daten und Dienste in mehreren Clouds parallel verfügbar zu halten. Fällt ein Anbieter aus, übernehmen die anderen automatisch (Failover). Die Auswahl der Cloud-Anbieter kann nach verschiedenen Kriterien erfolgen: Kosten, Latenz, Datenschutz, geografische Region.
Skycloud ist damit die konsequenteste Umsetzung von Anbieterunabhängigkeit und Ausfallsicherheit im Cloud-Bereich.
| Vergleich | Skycloud-Lösung | Mehrere CSP ohne Skycloud-Ansatz |
|---|---|---|
| Steuerung | Zentral orchestriert | Getrennte Einzellösungen |
| Failover | Geplant und automatisiert | Oft manuell |
| Portabilität | Hohe Anbieterunabhängigkeit | Häufig lock-in pro Teilsystem |
| Betrieb | Einheitliche Betriebslogik | Uneinheitliche Betriebsprozesse |
Vor- und Nachteile der Cloud
| ✓ Vorteile | ✗ Nachteile |
|---|---|
| Skalierbarkeit – Ressourcen bei Bedarf hoch- und runterskalieren | Datenhoheit – Daten liegen beim Anbieter, rechtliche Risiken |
| Automatisierbarkeit – Infrastruktur als Code, automatische Skalierung | Latenz – Netzwerkabhängigkeit kann zu Verzögerungen führen |
| Verfügbarkeit – SLAs mit 99,9%+ Uptime durch redundante Rechenzentren | Energieverbrauch – große Rechenzentren verbrauchen enorme Mengen Strom |
| Hardware-Wartung entfällt – keine eigene Server-Hardware nötig | Vendor Lock-in – Abhängigkeit vom Anbieter und dessen Preispolitik |
| Reduzierte Hardware-Kosten – CAPEX wird zu OPEX | Kosten – bei dauerhafter Nutzung langfristig teurer als on-premise |
| Geringerer Energieverbrauch – effizientere Auslastung durch Shared Resources |
Praxispartner: Prozess mit Cloud-Verbesserung
Beispielprozess: Dokumentenfreigabe zwischen Innendienst und Außendienst.
Problem ohne Cloud: Dateien liegen lokal, Versionen sind verteilt, Außendienst hat keinen Echtzeitzugriff.
Verbesserung durch Cloud: Zentrales Objekt-Storage + rollenbasierter Zugriff + Versionierung + Webzugriff. Ergebnis: schnellere Freigaben, weniger Medienbrüche, nachvollziehbare Änderungen.
REST-Schnittstellen
APIREST (Representational State Transfer) ist ein Architekturstil für Web-basierte Schnittstellen. Zwei Applikationen tauschen Informationen über standardisierte HTTP-Methoden aus:
Eine REST-konforme Schnittstelle muss 5 Bedingungen erfüllen:
URLs & curl – Grundlagen
Aufbau einer URL:
& trennen)
Die wichtigsten curl-Befehle:
-G landen die Daten im Request-Body (→ wird als POST interpretiert). Mit -G werden sie als Query-Parameter an die URL angehängt (→ GET).Beispiel: Registrierung an einer Trainings-API (anonymisiert)
Philipp Walz → Philipp%20Walz). Immer verwenden wenn der Wert Leerzeichen oder Sonderzeichen enthalten kann.AWS Preiskalkulator
Der AWS Pricing Calculator erlaubt die Schätzung von Kosten für AWS-Dienste, bevor man sie einsetzt. Dienste können einzeln hinzugefügt und konfiguriert werden.