Middleware - Cloud Computing - Cheatsheet.pdf

Middleware - Cloud Computing - Cheatsheet
Middleware - Cloud Computing - Cheatsheet Definition und Eigenschaften von Middleware Definition: Middleware ist Software, die als Vermittler zwischen Anwendungsprogrammen und Betriebssystemen oder Datenbanken dient, um Kommunikation und Datenmanagement zu erleichtern. Details: Ermöglicht Interoperabilität zwischen verschiedenen Systemen und Anwendungen Bietet Dienste wie Transaktions-Management, ...

© StudySmarter 2024, all rights reserved.

Middleware - Cloud Computing - Cheatsheet

Definition und Eigenschaften von Middleware

Definition:

Middleware ist Software, die als Vermittler zwischen Anwendungsprogrammen und Betriebssystemen oder Datenbanken dient, um Kommunikation und Datenmanagement zu erleichtern.

Details:

  • Ermöglicht Interoperabilität zwischen verschiedenen Systemen und Anwendungen
  • Bietet Dienste wie Transaktions-Management, Messaging und Authentifizierung
  • Wird oft in verteilten Systemen und Cloud-Computing-Umgebungen genutzt
  • Kann in verschiedene Typen unterteilt werden: Daten-Middleware, Message-Oriented Middleware (MOM), Remote Procedure Call (RPC) Middleware, etc.
  • Beispielsysteme: Apache Kafka, RabbitMQ, IBM WebSphere

Servicemodelle: IaaS, PaaS, SaaS

Definition:

Servicemodelle beschreiben unterschiedliche Bereitstellungsarten von Cloud-Diensten: IaaS (Infrastructure as a Service), PaaS (Platform as a Service), SaaS (Software as a Service).

Details:

  • IaaS: Bereitstellung von grundlegenden IT-Ressourcen wie virtuelle Maschinen, Speicher und Netzwerke.
  • PaaS: Bereitstellung von Hardware und Software-Tools über das Internet, um Anwendungen zu entwickeln und bereitzustellen.
  • SaaS: Bereitstellung von Softwareanwendungen über das Internet, Nutzer greifen über den Browser zu.
  • Beispiele: IaaS - AWS EC2, PaaS - Google App Engine, SaaS - Gmail
  • Vor- und Nachteile je Modell: Skalierbarkeit, Kosten, Flexibilität etc.

Sicherheitsmechanismen und -protokolle

Definition:

Sicherheitsmechanismen und -protokolle sind Verfahren und Techniken, die die Integrität, Vertraulichkeit und Verfügbarkeit in Cloud-Computing-Umgebungen gewährleisten.

Details:

  • Authentifizierung: Überprüfung der Identität von Benutzern oder Systemen mittels Techniken wie Passwort, Biometrie, oder Zwei-Faktor-Authentifizierung.
  • Autorisierung: Bestimmung, welche Ressourcen und Aktionen einem authentifizierten Benutzer erlaubt sind.
  • Verschlüsselung: Schutz von Daten durch Codierung, um unbefugten Zugriff zu verhindern, z.B. Nutzung von AES und RSA.
  • Netzwerksicherheit: Einsatz von Firewalls, Intrusion Detection Systems (IDS) und Virtual Private Networks (VPNs) zur Absicherung der Kommunikationskanäle.
  • Sicherheitsprotokolle: Standards wie TLS/SSL zur sicheren Übertragung von Daten über Netzwerke.
  • Anomaly Detection: Erkennung ungewöhnlicher Aktivitäten, oft durch maschinelles Lernen unterstützt.
  • Auditing: Überwachung und Protokollierung von Systemaktivitäten zur Nachverfolgung und Analyse sicherheitsrelevanter Ereignisse.
  • Cloud-spezifische Mechanismen: z.B. Multi-Tenancy Isolation und Identitäts- und Zugriffsmanagement (IAM).

Enterprise Service Bus (ESB): Architektur und Komponenten

Definition:

Middleware, die die Kommunikation zwischen verschiedenen Services in einer verteilten Anwendungsarchitektur erleichtert.

Details:

  • Architekturprinzipien: lose Kopplung, Skalierbarkeit, Interoperabilität.
  • Zentrale Komponenten:
    • Bus: Vermittlungsschicht für Nachrichten.
    • Adapter: Verbindet unterschiedliche Systeme mit dem ESB.
    • Service Container: Hostet und verwaltet Services.
    • Orchestrierung: Koordiniert komplexe Service-Interaktionen.
    • Sicherheit: Authentifizierung und Autorisierung.
    • Monitoring: Überwachung und Management.
  • Implementierungen: Apache Camel, MuleSoft, WSO2.

Hypervisoren und ihre Funktionsweisen

Definition:

Hypervisoren: Softwareschicht, um virtuelle Maschinen (VMs) zu erstellen und zu verwalten.

Details:

  • Zwei Typen: Typ 1 (Bare-Metal) und Typ 2 (Hosted).
  • Typ 1 läuft direkt auf der Hardware, Typ 2 auf einem Host-Betriebssystem.
  • Ressourcenverwaltung: CPU, Speicher, I/O.
  • Virtuelle Netzwerke und Speicherbereiche bereitstellen und isolieren.
  • VMs unabhängig und sicher betreiben.
  • Performanz und Sicherheit als Hauptkriterien.
  • \textbf{Hauptaufgabe:} Effiziente und sichere Ressourcenverteilung \textit{zwischen virtuellen Maschinen}.

Container-Orchestrierung mit Kubernetes

Definition:

Verwaltung und Koordination von Containern auf mehreren Hosts zur Optimierung von Bereitstellung, Skalierung und Betrieb.

Details:

  • Kubernetes, oft als K8s abgekürzt, ist ein Open-Source-System zur Automatisierung der Container-Orchestrierung.
  • Komponenten:
    • Master-Node: Koordination des Clusters
    • Worker-Nodes: Ausführung der Container
  • Wichtige Konzepte:
    • Pods: Kleinste deploybare Einheit
    • Services: Netzwerkzugriff für Pods
    • Deployments: Verwaltung von Pod-Replikas
  • Container Scheduling: Entscheidungsfindung, auf welchen Nodes Container laufen sollen.
  • Self-healing: Automatische Neustrukturierung von Pods bei Ausfällen.
  • Load Balancing: Verteilung der Netzwerklast auf mehrere Pods.

Erweiterte Dienste in Cloud-Umgebungen: AI/ML, Big Data, IoT

Definition:

Erweiterte Dienste in Cloud-Umgebungen bieten spezialisierte Funktionen zur Verarbeitung, Analyse und Steuerung großer Datenmengen sowie zur Implementierung intelligenter und vernetzter Systeme.

Details:

  • AI/ML: Bereitstellung von Algorithmen und Rechenleistung zur Entwicklung und Ausführung von maschinellen Lernmodellen. Nutzt skalierbare Rechenressourcen der Cloud.
  • Big Data: Verarbeitung und Analyse großer Datenmengen mittels verteilter Datenspeicher und -verarbeitungssysteme (z.B. Hadoop, Spark)
  • IoT: Verwaltung von Geräten und Sensoren, die Daten erzeugen und/oder Aktionen in der physischen Welt ausführen. Cloud-Dienste bieten Infrastruktur für Datensammlung und -analyse, sowie Gerätemanagement.
  • Integration und Skalierbarkeit oft über REST APIs und Microservices realisiert

Continuous Integration/Continuous Deployment (CI/CD) in Microservices-Architekturen

Definition:

Automatisierungsprozesse zur Integration und Bereitstellung von Software in kleinen, unabhängig deploybaren Services

Details:

  • Continuous Integration (CI): Regelmäßiges Zusammenführen und Testen des Codes
  • Continuous Deployment (CD): Automatisches Verteilen der getesteten Software in die Produktionsumgebung
  • CI/CD-Pipelines: Abfolge von Schritten zur Automatisierung von Build, Test und Deployment
  • Microservices-Architekturen: Kleine, unabhängig voneinander deploybare Services
  • Versionierung und Repositories: Verwaltung von Quellcode und Abhängigkeiten
  • Automatisierte Tests: Erhöhung der Codequalität und Vermeidung von Regressionen
Sign Up

Melde dich kostenlos an, um Zugriff auf das vollständige Dokument zu erhalten

Mit unserer kostenlosen Lernplattform erhältst du Zugang zu Millionen von Dokumenten, Karteikarten und Unterlagen.

Kostenloses Konto erstellen

Du hast bereits ein Konto? Anmelden