Warum ist Netflix ein Paradebeispiel dafür das man Cloud Computing effizient nutzen kann?
Durch den Einsatz von
Virtualisierung
und Containerisierung
hat Netflix seine Anwendungen in die Cloud verlagert und damit die Abhängigkeit von seinen eigenen physischen Servern verringert.
Was ist einer der wichtigsten Vorteile der Cloud Technologien?
Die Fähigkeit:
Daten und Prozesse auf eine
Vielzahl von Rechenressourcen zu verteilen
Anstatt für jeden Nutzer separate Hardware bereitzustellen
Was versteht man unter dem Begriff Virtualisierung?
Bei der Virtualisierung werden
Ressourcen und Prozesse
voneinander und von der physichen Maschine isoliert.
So kann User A und User B seine Prozesse ausführen ohne das der andere es bemerkt.
Welche Vorteile bietet Virtualisierung?
Daten und Programme können auf mehrere Computer verteilt werden, die zusammenarbeiten.
Außerdem passt Virtualisierung gut zum Cloud-Prinzip der „geteilten Verantwortung“. Das bedeutet:
Der Cloud-Anbieter kümmert sich um die echte Hardware und die grundlegende Infrastruktur.
Die Nutzer kümmern sich selbst um ihr Betriebssystem, Programme und Anwendungen.
Benne beide Virtualisierungsansätze, die beide für die Cloud von großer Bedeutung sind.
VM
Containerisierung
Was ist eine VM?
VM virtualisieren die Hardware
machen es möglich Programme von der echten Hardware zu trennen.
Dafür wird ein Hypervisor verwendet
Für Welche Arten von Anwendungen sind VM´s geeignet in bezug auf Dauer der Nutzung und größe der Anwendung?
VM sind nicht ideal für kleinere Anwendungen, die häufig gestartet und gestoppt werden müssen,
Da ganze Rechner gebootet und heruntergefahren werden müssen, würde der Zeitaufwand für diese Vorgänge zu unverhältnismäßig hohen Kosten im Vergleich zur eigentlichen Runtime der Anwendungen führen.
Außerdem würde eine VM für eine relativ einfache Anwendung mit geringem Ressourcenbedarf unverhältnismäßig viel Speicherplatz benötigen, da sie komplette Computersysteme darstellt.
Was ist ein Hypervisor und welche arten gibt es?
Er ermöglicht die trennung von Programmen und Hardware in der VM
Durch verbindung der echten Hardware mit den virtuellen Maschinen.
Es gibt 2 Arten von Hypervisoren
Typ 1 (Bare-Metal-Hypervisor)
Dieser läuft direkt auf der Hardware des Computers. Dadurch ist er schneller und sicherer.
Typ 2 (gehosteter Hypervisor)
Dieser läuft zuerst auf einem Betriebssystem wie Windows oder macOS. Er ist einfacher einzurichten und zu benutzen.
Was ist Containierisierung? Was unterscheidet diese von einer VM?
Die Containerisierung ist eine geeignetere Form der Virtualisierung für kleine Anwendungen,
die häufig gestartet und gestoppt werden, ein häufiges Szenario in Cloud-Umgebungen.
Im Gegensatz zu VM, die die Hardware virtualisieren, virtualisieren ContainerShow explanation for Container das Betriebssystem.
benötigen weniger Speicherplatz, da im Gegensatz zu VM keine kompletten Systeme abgebildet werden müssen.
Was ist ein Docker?
Docker ist eine Open-Source-Software zur Containerisierung und gehört zu den am weitesten verbreiteten Lösungen
Containertechnologien ermöglichen es, mehrere Anwendungen auf einem einzelnen Server auszuführen
und gleichzeitig die Ressourcen gemeinsam zu nutzen,
während eine vollständige Isolation der Anwendungen gewährleistet bleibt.
Was versteht man untert einer Software-Abhängigkeit?
Dabei handelt es sich um externe Funktionalitäten, wie Bibliotheken oder Pakete,
die nicht in der Standardinstallation der Software enthalten sind.
Was sind Docker Images?
Docker Images sind eine Möglichkeit, eine Softwareanwendung und ihre Abhängigkeiten in einer einzigen Datei zu bündeln.
Dies vereinfacht die Bereitstellung von Anwendungen auf mehreren Rechnern,
da Entwicklungsteams nur ein einziges Docker Image erstellen müssen, das auf beliebig vielen Rechnern laufen kann.
Was ist ein Docker Compose?
ein Tool, mit dem Sie Multi-Container-Anwendungen definieren und ausführen können.
Anstatt jeden Container einzeln über lange Terminal-Befehle zu starten, können Sie die gesamte Anwendungsarchitektur (inklusive Datenbanken, Webservern und Netzwerken)
in einer zentralen Konfigurationsdatei festlegen
Was ist ein Docker Swarm?
Ein Docker Swarm ist eine Funktion von Docker, mit der mehrere Computer gemeinsam Docker-Container verwalten können — fast so, als wären sie ein einziger großer Server.
Stell dir vor:
Ein einzelner Docker-Host = eine Küche
Ein Container = ein Gericht
Docker Swarm = ein Restaurantleiter, der mehrere Küchen koordiniert
Dadurch können Anwendungen auf mehrere Rechner verteilt werden, automatisch neu starten und bei Ausfällen weiterlaufen.
Aus welchen Elementen besteht ein Docker Swarm?
Ein Node ist einfach ein Rechner im Swarm.
Es gibt zwei Arten:
Der „Chef“.
Aufgaben:
verwaltet den Swarm
entscheidet wo Container laufen
speichert die Konfiguration
überwacht den Zustand
Du kannst mehrere Manager haben für Ausfallsicherheit.
Die „Arbeiter“.
führen Container aus
bekommen Anweisungen vom Manager
Worker treffen keine Entscheidungen selbst.
Benne die drei Storage Lösungen welche als Speichertechnicken für Cloud-Lösungen unerlässlich sind.
Block Storage,
File Storage,
Object Storage.
Wann wird Block-Storage im Allgemeinen verwendet?
Block Storage wird im Allgemeinen verwendet, wenn
Daten schnell abgerufen und häufig aktualisiert werden müssen.
Ein typisches Szenario sind Cloud-basierte verteilte Datenbanken.
Was ist der zweite weitverbreitete Datentyp in der Cloud?
Wie funktioniert dieser und wofür wird dieser verwendet?
Der zweite weitverbreitete Datentyp in der Cloud ist File Storage.
Ähnlich wie das Dateisystem lokaler Rechner speichert die Cloud-Variante Dateien in Ordnern mit einer hierarchischen Struktur, um sie nach Funktionen zu ordnen
File Storage wird häufig verwendet, wenn die bekannte und für Menschen intuitive Struktur von Dateisystemen für einen Anwendungsfall hilfreich ist
Was ist das Networks File System?
Dies ist ein weitverbreitetes Netzwerkprotokoll für Dateiübertragungen, das ermöglicht,
mit Netzwerk-Storage so zu interagieren, als wäre es ein lokales Dateisystem.
Was ist der Server Message Block?
(SMB)-Protokoll
Dieses Netzwerkprotokoll erleichtert die gemeinsame Nutzung von Dateien, Druckern und anderen Kommunikationsmitteln zwischen Computern in einem Netzwerk und
ermöglicht den Zugriff auf freigegebene Ordner und Dateien.
Das SMB-Protokoll ist ein Protokoll der Anwendungsschicht, das auf dem TCP/IP-Protokoll aufbaut.
Welche ist die modernste der drei Speicherarten im Cloud Computing?
Object Storage
Object Storage ist eine effektive Lösung für die Speicherung großer Datenobjekte,
die nur selten geändert werden müssen, und
ermöglicht gleichzeitig einen Zugriff mit geringer Latenz von mehreren Standorten aus.
Wofür ist beim Docker Swarm der Manager-Knoten zuständig?
Aufrechterhaltung des Zustands des Schwarms,
die Zuweisung von Aufgaben an die Arbeiter
und die Planung neuer Aufgaben zuständig
Was sind beim Docker Swarm die Aufgeben der Arbeiterknoten?
die Arbeiterknoten führen Aufgaben aus, die ihnen von einem Managerknoten zugewiesen wurden.
Es sollte beachtet werden, dass es eine Vielzahl von Cloud-Anbietern gibt, sodass es unrealistisch ist, alle Anbieter und ihre Angebote zu kennen. Drei davon sollten jedoch bekannt sein:
Welche sind dies?
Amazon Web Services,
Microsoft Azure und
Google Cloud Platform
Welche verschieden Dienste zu Datenspeicherung biete AWS an?
Simple Storage Service (S3),
Elastic Block Store (EBS) und
Elastic File System (EFS) sowie
der Relational Database Service Aurora und
die NoSQL-Multimodel-Datenbank DynamoDB.
für die Abkürzung für die Datenbanktransaktionsprinzipien
Atomarität (engl. Atomicity),
Konsistenz (engl. Consistency),
Isolation und
Dauerhaftigkeit (engl. Durability). Sie gewährleisten fehlerfreie und zuverlässige Schreib- und Lesezugriffe auf die Datenbank.
Welche Dienste zur Datenspeicherung bietet Google Cloud Platform an?
Persistent Disk
Filestore
Cloud Storage
Cloud SQL
Firestore
Bigtable
Auch Microsoft Azure bietet verwaltete Block-, File- und Object-Storage-Lösungen sowie Datenbanken an, von denen einige auf den grundlegenden Speicherdiensten basieren.
Was ist der Unterschied zwischen MA und anderen Anbietern in bezug zu den Speicherdiensten?
Während andere Anbieter diese grundlegenden Speichertypen als klar unterscheidbare Dienste anbieten,
sind die Konzepte von Azure stärker miteinander verwoben.
Benne die Speicherlösungen die MA anbietet.
Azure Storage Account
Azure Disk Storage und Azure Elastic SAN
Azure Data Lake Storage Gen2
Azure SQL Database
Azure Synapse Analytics
Azure Cosmos DB
Was ist der Hauptunterschied zwischen Block Storage und Object Storage?
Wie lautet der Name des grundlegenden Block Storage-Angebots auf der Azure Plattform?
Was sind serviceorientierte Architekturen?
Microservice-Architekturen oder SOA bestehen aus lose gekoppelten, kleineren Einheiten,
die bestimmte Funktionen innerhalb einer Gesamtanwendung übernehmen
und häufig als Container voneinander isoliert werden.
Welche Vorteile bieten sich durch Mircoservices auch serviceorientierte Architekturen?
Die einzelnen Dienste sind klein und überschaubar,
sodass sie leichter zu pflegen sind und neue Teammitglieder schneller eingearbeitet werden können.
Dies führt zu kürzeren Entwicklungszyklen und die Teams können, vorausgesetzt die Schnittstellen funktionieren wie gewohnt, unabhängig voneinander Dienste entwickeln.
Neue Entwicklungen führen auch zu weniger Ausfallzeiten,
da nur einzelne Dienste neu gestartet werden müssen und nicht die gesamte Anwendung.
Anwendungsprogrammierschnittstellen (engl. Application Programming Interfaces [APIs]) sind für moderne Microservice-Architekturen unerlässlich.
Was sind die wesentlichen Aufgaben von APIs?
Sie vereinfachen die Nutzung, Verwaltung und Wartung komplexer verteileter Systeme
API fungieren als Vermittler zwischen Maschinen und machen eine breite Palette von Webdiensten für Millionen von Usern weltweit verfügbar.
Damit können verschiedene Programme Daten austauschen.
Beispiel:
Wetter-App fragt Wetterdaten ab
Online-Shop fragt Produktdaten ab
Banking-App fragt Kontostand ab
Alles läuft oft über APIs.
Wie ist Rest-API konzipiert? (Representational State Transfer)
REST ist eine bestimmte Art, APIs aufzubauen.
REST legt einfache Regeln fest:
klare URLs
standardisierte Befehle
Kommunikation über HTTP
Dadurch verstehen sich Systeme leichter.
REST ist ein Architekturstil für die Erstellung von Webdiensten, die über das HTTP-Protokoll kommunizieren.
Eine REST-API ist:
eine Schnittstelle zwischen Programmen
arbeitet über HTTP
nutzt URLs und Methoden wie GET oder POST
liefert oft JSON-Daten zurück
Sie erlaubt Anwendungen, über das Internet miteinander zu sprechen.
Was sind die wichtigsten Komponenten des REST-API-Paradigmas?
ein Client, der die Kommunikation initiiert (bspw. Software, die auf dem Gerät eines Users läuft);
ein Server, der den Zugriff auf seine Daten oder Dienste über eine API ermöglicht;
eine Ressource, die sich auf einen Inhalt bezieht, den der Server seinen Clients zur Verfügung stellen kann.
Aus welchen Teilen besteht die Struktur der REST-Anfrage?
einer HTTP-Methode,
einem Endpoint,
einem Header
und einem Body
HTTP-Methoden
Was ist eine HTTP-Methode und aus welchen Methoden besteht diese?
Eine HTTP-Methode gibt an, wie ein Client mit einem Server kommunizieren will.
CRUD-Operationen (create, read, update, delete)
GET: zum Abrufen einer vorhandenen Ressource;
POST: zum Erstellen oder Hinzufügen einer neuen Ressource;
PUT: zur Aktualisierung oder Bearbeitung einer vorhandenen Ressource;
DELETE: zum Löschen einer vorhandenen Ressource.
Endpoint
Was ist ein Endpoint in der REST-Anfrage?
Ein Endpoint, der einen Uniform Resource Identifier (URI) enthält, gibt an, wo und wie eine Ressource im Internet zu finden ist.
Der am weitesten verbreitete URI ist eine URL, die sich als vollständige Webadresse darstellt.
Header
Was ist ein Header in der REST-Anfrage?
Header enthalten Informationen, die für die Authentifizierung relevant sind,
z. B.
einen API-Schlüssel oder ein Zugriffstoken,
den Namen oder die IP-Adresse des Computers, auf dem der Server läuft,
sowie Informationen zum Antwortformat.
Bei öffentlichen API, die für alle verfügbar sind, ist die Angabe dieser Informationen unnötig, bei API mit eingeschränktem Zugang ist sie jedoch unerlässlich.
Wozu wird ein Body bei einer REST-Anfrage verwendet?
Ein Body wird verwendet, um zusätzliche Daten an den Server zu senden.
Ein Body kann die Daten enthalten, die wir hinzufügen oder aktualisieren wollen, und wird oft als kurze JSON-Datei mit den neuen Dateneinträgen präsentiert.
Was für eine Art von Information ist die “Ressource” welche den Clients über eine API angeboten wird?
Eine „Ressource“ ist die Information, die den Clients über eine API angeboten wird, und umfasst bspw.
Hashtags,
Tweets,
Kommentare,
Profile, Videos, Internetseiten und Datenbankeinträge.
Jede Ressource hat einen eindeutigen Namen, den sogenannten Ressourcenkennzeichner (engl. Resource Identifier), der auf dem Server gespeichert wird
Erkläre das Autonome Verhältnis zwischen Client und Server.
Der Client und der Server im REST-API-System arbeiten unabhängig voneinander
Der Client braucht die innere Logik des Servers nicht zu verstehen, und der Server kennt das System der Clients nicht.
Aufgrund der Aufgabentrennung können API-Anbieter und -Konsumenten ihre Systeme anpassen,
ohne dass ihre Kommunikation miteinander beeinträchtigt wird, sodass API-Abstraktionsschichten hochkomplexe Systeme handhaben können.
Erkläre das Feature der Einheitlichen Schnittstelle der RESTFUL API
unterscheidet REST API von nicht REST API
legt eine konsistente Kommunikationsmethode mit einem bestimmten Server fest,
Der Server verwendet für alle Anfragen die gleiche Schnittstelle.
Erkläre die Mehrschichtige Architektur der RESTful-API.
Zwischen dem Client- und dem Server-Endpunkt können sich viele Server befinden
Dies ermöglicht eine hierarchische Struktur, die Vorgänge wie Load Balancing und Caching auf unterschiedlichen Servern erlaubt.
Diese Schichten funktionieren unabhängig voneinander und sorgen für eine stabile Architektur.
Diese Architekturlösung bietet aufgrund der Isolierung der einzelnen Schichten Vorteile in Bezug auf Sicherheit und Skalierbarkeit.
Angriffe können in speziellen Schichten abgefangen werden, was die Security-Risiken im gesamten System reduziert.
Was hat es mit der Cachefähigkeit der REST-API zu tun?
Die Daten in einer REST-API-Antwort werden als cachefähig oder nicht cachefähig eingestuft.
Wenn die API cachefähig ist, können die Clients häufig abgerufene Daten auf ihren Rechnern speichern, anstatt sie wiederholt anzufordern.
Infolgedessen führt das Programm weniger Aufrufe durch, was die Belastung des Servers und die Latenz verringert.
Beschreibe den Begriff Stateless in Bezug zu einer RESTFUL-API
eine API, die keine Informationen über vergangene Sitzungen speichert und stattdessen jede Anfrage einzeln behandelt.
Der Body der Anfrage enthält alle Informationen über den Client.
Ein Vorteil der Sitzungsunabhängigkeit besteht darin, dass die Anfragen nicht unbedingt von demselben Server bearbeitet werden müssen, was die Leistung der Anwendung erhöht und zur Zuverlässigkeit des Systems beiträgt.
Erkläre den Begriff Code on Demand
Auf Anfrage des Clients kann der Server anstelle von bspw. JSON-Darstellungen ausführbaren Code zurückgeben.
Beim Besuch einer dynamischen, interaktiven Website (d. h. bei der Client-Anfrage) kann der Server bspw. einen kurzen JavaScript-Code an den Client-Computer senden.
Der Code wird dann im Browser des Clients ausgeführt und bietet interaktive Funktionen.
Der Code-of-Demand (CoD)-Ansatz ermöglicht es Clients, Features mit mehr Funktionalitäten interaktiv zu nutzen. (Spiele)
Außerdem erhöht die Ausführung des Codes auf der Client-Seite und nicht auf der Server-Seite die Zuverlässigkeit des Server-Systems.
In welcher Programmiersprache können API geschrieben werden?
API können in jeder Programmiersprache (z. B. Java, C# oder Python) geschrieben werden.
Für was werden die Werkzeuge Flask und Postman genutzt und mit welcher Programmiersprache?
Flask und Postman sind großartige Werkzeuge für die Erstellung leichtgewichtiger APIs auf der Basis von Python.
Was ist eine OpenAPI-Spezifikation?
Die OpenAPI-Spezifikation, die früher als Swagger-Spezifikation bekannt war,
beschreibt eine standardisierte Schnittstelle für Webdienste.
Damit kann der API-Dienst in einem maschinenlesbaren Format beschrieben werden.
Was ist der Swagger Editor?
Der Swagger-Editor ist ein Werkzeug, mit dem APIs definiert werden können.
Was ist eine Swagger-Benutzeroberfläche?
Die Swagger-Benutzeroberfläche (engl. User Interface [UI])
ist eine interaktive, browserbasierte grafische Plattform zur Interaktion mit und zum Testen von Swagger API.
Sie kann zur Dokumentation und Visualisierung von API verwendet werden,
ohne dass man Code schreiben oder die innere Logik der API verstehen muss.
Bei den meisten Diensten ist es sinnvoll, den Zugriff auf bestimmte Funktionen zu beschränken, sodass nur bestimmte User, Gruppen oder Anwendungen die API nutzen können.
Benne 3 Tools mit denen man die rollenbasierte Zugriffskontrolle einstellen kann.
API Management Service Contributor:
Ein Service Contributor ist ein Superuser mit vollem CRUD-Zugriff auf API Management Services und die verwalteten API.
API Management Service Reader:
Ein API Management Service Reader hat nur Lesezugriff auf die API-Management-Dienste und kann die verwalteten API im Lesemodus nutzen.
API Management Service Operator:
Ein API Management Service Operator hat Lesezugriff auf verwaltete API.
Ferner können User und Anwendungen mit dieser Rolle API-Dienste erstellen, löschen und konfigurieren.
Sie können auch die Ressourcen skalieren und Netzwerke verwalten.
Cloud-Networking ist aus mehreren Gründen eine sinnvolle Lösung für Unternehmen mit wachsendem Rechenbedarf und Datenverkehr
Was ist ein Grund für den häufigen Wechsel zu Cloud-Netzwerken?
Kosten: Nicht erforderlich Netzwerkgeräte zu erwerben, daher geringere Investitionsausgaben.
Produktivität: Da das Cloud-Netzwerk den Datenverkehr, Software-Upgrades und Backups verwaltet, können sich die IT-Mitarbeitenden mehr Zeit für Aufgaben mit höherer Priorität nehmen.
Mobilität: Ein Cloud-Netzwerk bietet eine ständig verfügbare Verbindung, daher, jederzeit von jedem Gerät mit Internetanschluss auf Daten und Anwendungen zuzugreifen.
Schnelle Skalierbarkeit: Einfache erhöhung von Daten,Speicher, oder Anwendung ohne eigene Software Installation.
Schnelle Implementierung: Cloud-Anbieter kümmern sich um die Konfiguration und Installation von Netzwerkgeräten, sodass neue Ressourcen schnell bereitgestellt werden können.
Geringere Ausfallzeiten: Installation von Updates durch Cloud-Anbieter selbst.
Was ist das Azure Virtual Network?
die Grundlage der privaten Netzwerke auf der Azure-Plattform.
VNets können bspw. Azure-Ressourcen, wie z. B. VM, mit einem On-premises-Netzwerk und mit mehreren virtuellen Netzwerken verbinden.
Was ist Load Balancing?
Benenne beide Arten von Load Balancern.
Load Balancing ist eine Technik, bei der Anfragen auf mehrere Server verteilt werden, sodass kein Server überlastet wird.
Es gibt zwei Arten von Load Balancern:
öffentliche und private.
Was unterscheidet öffentliche von privaten Load Balancern?
Öffentliche Load Balancer werden in der Regel für den Lastausgleich zwischen mehreren Instanzen einer in der Public Cloud laufenden Anwendung eingesetzt.
Private Load Balancer werden in der Regel für den Lastausgleich des Datenverkehrs in einer Private Cloud oder einem Rechenzentrum eingesetzt.
Welcher spezieller Dienst wird von Cloud Azure genutzt um die Zugriffskontrolle in Cloud-Umgebungen zu verwalten?
Azure Active Directory (AAD)
Mit AAD können nicht nur User und User-Gruppen definiert, sondern auch Identitäten verwaltet werden.
Diese Identitäten erleichtern die Zugangskontrolle, insbesondere zwischen den Diensten.
Was sind Managed Identities?
Managed Identities (verwaltete Identitäten) sind ein Sicherheitsfeature von Microsoft Azure.
Sie ermöglichen es Anwendungen und Cloud-Diensten, sich bei anderen Azure-Ressourcen (wie Datenbanken oder Key Vaults) zu authentifizieren,
ohne dass Entwickler Zugangsdaten, Passwörter oder Verbindungsschlüssel im Programmcode verwalten müssen.
Benne beide Arten von Managed Identities.
System zugewiesene MI
User-zugewiesene MI
Was sind System zugewiesene MI?
automatisch erstellte digitale Identität für einen Azure-Dienst.
Damit kann sich ein Dienst sicher bei anderen Azure-Diensten anmelden – ohne Benutzername, Passwort oder geheimen Schlüssel im Code speichern zu müssen.
Was sind User-zugewiesene MI?
In Azure können User MI erstellen, um auf Ressourcen in ihrem Abonnement zuzugreifen.
Diese Identität wird als eigenständige Einheit erstellt und ist mit keinem Dienst in Azure verbunden.
Stell dir vor, du hast eine Web-App in Azure, die auf eine Datenbank zugreifen soll.
Normalerweise müsste die App:
ein Passwort speichern
dieses Passwort verwalten
es regelmäßig ändern
Mit einer systemzugewiesenen Managed Identity passiert das automatisch:
Azure erstellt eine Identität für die App
Azure verwaltet die Zugangsdaten selbst
die App kann sich sicher bei anderen Diensten anmelden
Welche der folgenden Optionen kann nicht für clientseitige API-Tests verwendet werden?
Für REST API sind die grundlegenden Methoden, die als CRUD-Operationen bezeichnet werden, die folgenden:
Get=
Post=
Put=
Delete=
GET: eine vorhandene Ressource abrufen.
POST: eine neue Ressource hinzufügen.
PUT: eine vorhandene Ressource aktualisieren.
DELETE: eine vorhandene Ressource löschen.
Last changed7 days ago