Middleware - Cloud Computing - Cheatsheet
Definition und Vorteile von Cloud Computing
Definition:
Cloud Computing: Bereitstellung von IT-Ressourcen (Speicher, Rechenleistung, Datenbanken etc.) über das Internet.
Details:
- Kosteneffizienz: Bezahle nur für genutzte Ressourcen. Keine hohen Anfangsinvestitionen.
- Skalierbarkeit: Dynamische Anpassung der Ressourcen an den Bedarf.
- Zugänglichkeit: Zugriff auf Dienste und Daten weltweit über das Internet.
- Flexibilität: Nutze verschiedene Dienste und Plattformen nach Bedarf.
- Wartung: Updates und Wartung werden vom Anbieter übernommen.
- Sicherheit: Anbieter bieten oft hohe Sicherheitsstandards und -maßnahmen an.
Cloud-Servicemodelle: IaaS, PaaS, SaaS
Definition:
IaaS, PaaS und SaaS sind Cloud-Servicemodelle, die unterschiedliche Ebenen der IT-Infrastruktur als Dienstleistung bereitstellen.
Details:
- IaaS (Infrastructure as a Service): Virtuelle Maschinen, Speicher, Netzwerke.
- PaaS (Platform as a Service): Entwicklungsumgebungen, Middleware, Datenbanken.
- SaaS (Software as a Service): Anwendungssoftware über das Internet.
Grundlagen der Virtualisierung
Definition:
Virtualisierung ermöglicht das Erstellen und Managen von virtuellen Maschinen (VMs), die als eigenständige Systeme auf Host-Hardware laufen.
Details:
- Host- und Gast-Betriebssystem: Host steuert Hardware, Gast läuft auf der virtuellen Maschine.
- Hypervisor: Software zur Verwaltung und Verteilung von Hardware-Ressourcen auf VMs.
- Typ-1-Hypervisor (Bare-Metal): Läuft direkt auf der Hardware (z.B., VMware ESXi).
- Typ-2-Hypervisor (Hosted): Läuft auf einem Betriebssystem (z.B., VMware Workstation).
- Vorteile: Effizientere Nutzung von Ressourcen, Isolation, einfache Verwaltung und Skalierbarkeit.
- Überkopfkosten: Leistungsverlust durch Virtualisierungsschicht.
Virtualisierungslösungen: VMware und KVM
Definition:
Virtualisierungslösungen, die in Cloud-Computing-Umgebungen weit verbreitet sind.
Details:
- VMware: Kommerzieller Hypervisor, bietet komplette Virtualisierung, hohe Leistung und zahlreiche Verwaltungswerkzeuge.
- KVM (Kernel-based Virtual Machine): Open-Source-Hypervisor, in den Linux-Kernel integriert, fokussiert auf Performance und Flexibilität.
- Beide unterstützen verschiedene Gastbetriebssysteme und bieten Snapshots, Migration und Ressourcenmanagement.
- VMware meist in Enterprise-Umgebungen, KVM oft in Cloud- und Entwicklungsumgebungen.
- VMware: Esxi, vCenter, vSphere.
- KVM: qemu, libvirt.
Load Balancing Algorithmen
Definition:
Verteilung eingehender Anfragen auf mehrere Server, um die Auslastung zu optimieren und die Verfügbarkeit zu gewährleisten.
Details:
- Round Robin: abwechselnde Zuweisung von Anfragen an Server.
- Weighted Round Robin: Server erhalten Gewichtungen, die mehr Anfragen an leistungsstärkere Server leiten.
- Least Connections: Anfragen an Server mit den wenigsten aktiven Verbindungen.
- IP Hash: Zuweisung basierend auf der IP-Adresse des Clients.
- Least Response Time: Anfragen an den Server mit der kürzesten Antwortzeit.
- Consistent Hashing: Verteilte Hash-Tabelle, Zuweisungskette bleibt bei Änderungen stabil.
Cloud-spezifische Bedrohungen und Risiken
Definition:
Details:
- Datenschutzverletzungen: Zugriff auf sensible Daten durch Unbefugte.
- Datenverlust: Risiko durch unvorhergesehene Ereignisse, wie z.B. Naturkatastrophen oder technische Ausfälle.
- Account- oder Dienstübernahme: Angriffe auf Zugangsdaten, die zu unbefugtem Zugriff führen.
- DDoS-Attacken: Überlastung von Diensten durch massenhafte Anfragen.
- Unsichere Schnittstellen und APIs: Exploits durch Schwachstellen in der Kommunikation.
- Insider-Bedrohungen: Angriffe von Personen innerhalb der Organisation.
- Schwachstellen in der gemeinsamen Ressourcennutzung: Sicherheitslücken durch geteilte Infrastruktur.
- Rechtliche und Regulierungsprobleme: Einhaltung von Datenschutzgesetzen und -vorschriften.
Nachrichtensysteme und Integrationstechnologien
Definition:
Nachrichtensysteme ermöglichen die asynchrone Kommunikation zwischen verteilten Systemen. Integrationstechnologien vereinfachen die Verbindung und Interaktion verschiedener Softwaresysteme.
Details:
- Message-Broker: Verteilt Nachrichten zwischen Systemen
- Message Queue: Hält Nachrichten bis zur Verarbeitung
- Protokolle: MQTT, AMQP, STOMP
- Integrationsmuster: Enterprise Service Bus (ESB), Publish/Subscribe (Pub/Sub)
- Middleware: Unterstützt Kommunikation und Datenübertragung
- SOA (Service-Oriented Architecture): Ermöglicht lose gekoppelte Dienste
- API-Gateways: Verwalten und sichern API-Verkehr
- Spring Integration, Apache Camel: Frameworks für Integration
- Cloud-basierte Integrationen: AWS SQS, Azure Service Bus
API-Management in microservices-orientierten Architekturen
Definition:
API-Management: Verwaltung und Steuerung von APIs zur Erhöhung der Effizienz, Sicherheit und Skalierbarkeit in einer Microservices-Architektur.
Details:
- API-Gateway: Schnittstelle für alle APIs, verwaltet Anfragen und leitet sie an die entsprechenden Microservices weiter.
- Authentifizierung und Autorisierung: Absicherung der APIs gegen unbefugte Zugriffe.
- Lastverteilung: Balanciert die eingehenden Anfragen auf verschiedene Instanzen der Microservices.
- Monitoring und Logging: Überwachung von API-Nutzung zur Optimierung der Performance und Fehlerbehebung.
- Rate Limiting: Begrenzung der Anfragen pro Zeitspanne zur Vermeidung von Überlastung.
- Versionierung: Verwaltung verschiedener API-Versionen zur Unterstützung kontinuerlicher Weiterentwicklung.
- Orchestrierung: Koordination der Interaktionen zwischen verschiedenen Microservices.