diff --git a/config.toml b/config.toml index 17c1d79fe6..9d31f025ef 100644 --- a/config.toml +++ b/config.toml @@ -68,6 +68,7 @@ description = "The CNCF Cloud Native Glossary Project is intended to be used as #time_format_default = "02.01.2006" #time_format_blog = "02.01.2006" + [languages.hi] title = "क्लाउड नेटिव शब्दावली" languageName ="हिन्दी (Hindi)" diff --git a/content/de/bare-metal-machine.md b/content/de/bare-metal-machine.md new file mode 100644 index 0000000000..f6a53e5f62 --- /dev/null +++ b/content/de/bare-metal-machine.md @@ -0,0 +1,23 @@ +--- +title: Bare Metal Machine +status: Completed +category: Technologie +--- + +## Was es ist + +Bare Metal beschreibt einen physischen Computer, der als Server verwendet wird und leistungsstarke Hardware besitzt. +Demgegenüber stehen virtuelle Maschinen, die einen Großteil der Server ausmachen. + +## Welches Problem es löst + +Bei Virtualisierungen kommt es zu künstlicher Verzögerung bei der Übersetzung von Betriebssystemanweisungen in Maschinencode. +Falls die Verarbeitung eines Workloads einen schnellen Zugriff auf Hardwareressourcen erfordert, kann Bare Metal die richtige Lösung sein. + +## Wie es das Problem löst + +Durch die Bereitstellung der gesamten Ressourcen eines physischen Computers für ein einziges Betriebssystem, kann die bestmögliche Leistung erzielt werden. +Durch die Skalierbarkeit von [Cloud Native Apps](/cloud-native-apps/) kann eine große Anzahl von parallelen Events effizient verarbeitet werden. +Dies kann entweder durch horizontale oder vertikale Skalierung erreicht werden. +Für bestimmte Workloads kann eine vertikale Skalierung und/oder eine schnelle Reaktionszeit der physischen Hardware erforderlich sein. +Für diesen Fall eignet sich Bare Metal. \ No newline at end of file diff --git a/content/de/client-server-architecture.md b/content/de/client-server-architecture.md new file mode 100644 index 0000000000..2ab617f972 --- /dev/null +++ b/content/de/client-server-architecture.md @@ -0,0 +1,31 @@ +--- +title: Client-Server-Architektur +status: Completed +category: Konzept +--- + +## Was es ist + +Bei einer Client-Server-Architektur ist eine Anwendung in zwei oder mehr Komponenten aufgeteilt. Dabei wird unterschieden zwischen Clients und Servern. +Ein Client fordert die Erledigung einer Aufgabe bei einem Server an und der Server wiederum nimmt diese Anfrage entgegen und bearbeitet die Aufgabe. +Ein Beispiel dafür ist Google Mail. Der Client ist in diesem Fall die Webanwendung bzw. die UI, die im Browser des Nutzers ausgeführt wird. +Mit einem Klick auf "Email senden" wird die geschriebene Email and den Server gesendet, der in der Cloud von Google läuft und die Email an den Empfänger weiterleitet. + +Dies steht im Gegensatz zu sogenannten "Standalone" Anwendungen (z. B. Desktop-Anwendungen), die die gesamte Arbeit eigenständig erledigen. +So kann beispielsweise ein Textverarbeitungsprogramm wie Microsoft Word vollständig auf dem Computer des Nutzers installiert und ausgeführt werden. + +## Welches Problem es löst + +Eine Client-Server-Architektur löst eine große Herausforderung, die in sich geschlossene Anwendungen mit sich bringen: Regelmäßige Aktualisierungen. +Bei einer Standalone-Anwendung müssten die Benutzer bei jeder Aktualisierung die neueste Version herunterladen und installieren. +Zum Beispiel müssten sich die Benutzer regelmäßig den kompletten Produktkatalog von Amazon auf ihre Computer herunterladen. +Außerdem vereinfacht es die gemeinsame Nutzung von Daten. So müssen Daten nicht mehr verschickt oder sogar auf physischen Datenträgern weitergegeben werden. +Je größer eine Applikation ist, desto höher werden die Anforderungen an das Endgerät. +Wachsende Standalone Anwendungen belegen dadurch immer mehr physische Ressourcen auf der Maschine des Nutzers. + +## Wie es das Problem löst + +Durch die Implementierung der Anwendungslogik in einem Server können die Betreiber diese aktualisieren, ohne die Logik auf der Client-Seite ändern zu müssen. +Das führt dazu, dass Aktualisierungen viel häufiger vorgenommen werden können. +Die Speicherung von Daten auf dem Server ermöglicht es vielen Clients, dieselben Daten zu sehen und gemeinsam zu nutzen. +Bei einer Client-Server-Architektur muss auf dem Endgerät des Nutzers nicht die komplette Applikation laufen, sondern nur der vergleichsweise schmale Client. Das Backend kann auf externen Servern laufen, die entsprechend hochskaliert werden können. diff --git a/content/de/cluster.md b/content/de/cluster.md new file mode 100644 index 0000000000..f40455eb62 --- /dev/null +++ b/content/de/cluster.md @@ -0,0 +1,29 @@ +--- +title: Cluster +status: Completed +category: Konzept +tags: ["infrastruktur", "grundlegendes", ""] +--- + +## Was es ist + +Ein Cluster ist eine Gruppe von Computern, die ein gemeinsames Ziel haben und als eine Einheit auftreten. +Im Kontext von [Cloud Native Technologien](/cloud-native-tech/) wird der Begriff häufig mit [Kubernetes](/kubernetes/) gleichgesetzt. +Jedenfalls kommunizieren einzelnen Computer über ein Netzwerk miteinander. + + +## Welches Problem es löst + +Anwendungen, die nur auf einem einzelnen Computer betrieben werden, stellen einen Single Point of Failure dar. + +Business-kritische Systeme können offline gehen, wenn dieser Computer oder die Anwendung darin abstürzt. +Ein weiteres Szenario könnte sein, dass dieser Computer oder die Anwendung darin zwar funktionsfähig sind, +aber über das Netzwerk nicht erreichbar sind. + + +## Wie es das Problem löst + +Ein Cluster löst dieses Problem indem mehr als nur ein Computer verwendet wird. +Man spricht hier auch von verteilten Systemen. +Wenn einer dieser Computer oder die Anwendung darin abstürzt oder aus anderen Gründen ausfällt, können die anderen Computer übernehmen. +Hierfür wird üblicherweise eine Komponente verwendet, die als Load Balancer bekannt ist und Anfragen an ein Cluster lediglich an erreichbare Computer weiterleitet. \ No newline at end of file diff --git a/content/de/containers.md b/content/de/containers.md new file mode 100644 index 0000000000..5df6532e12 --- /dev/null +++ b/content/de/containers.md @@ -0,0 +1,31 @@ +--- +title: Container +status: Completed +category: Konzept +--- + +## Was es ist + +Ein Container ist eine virtuelle isolierte Umgebung, die als Prozess mit Ressourcen- und Kapazitätsbeschränkungen auf einem Computer läuft und von dessen Betriebssystem verwaltet wird. +Dabei werden dem Container virtuelle Ressourcen des Hosts reserviert und zugeordnet. +Es können mehrere Container auf derselben Maschine laufen und es wird von der Container-Engine sichergestellt, +dass diese nicht dieselben physischen Ressourcen belegen und auch nicht miteinander interagieren. +Benötigte Tools und Dateien werden zu einem autonomen Container-Image verpackt, welches von einer Container-Engine ohne weitere Abhängigkeiten von Tools oder Dateien ausgeführt werden kann. + +## Welches Problem es löst + +Bevor es Container gab, waren separate Rechner oder [virtuellen Maschinen](/virtual-machine/) erforderlich, um Anwendungen auszuführen. +Jede Maschine benötigte ihr eigenes Betriebssystem, das CPU, Speicher und Festplattenplatz beanspruchte, damit eine einzelne Anwendung funktionieren konnte. +Führte man mehrere Anwendungen auf derselben Maschine aus, konnte das zu Konflikten in der Ressourcenbelegung führen, wenn z.B. zwei Anwendungen auf die selbe Speicherstelle zugreifen. +Darüber hinaus ist die Wartung, das Upgrade und der Start eines Betriebssystems eine weitere mühsame Angelegenheit. + + +## Wie es das Problem löst + +Container teilen sich dasselbe Betriebssystem, jedoch sind sie durch die Zuordnung virtueller Ressourcen voneinander isoliert, wodurch der Ressourcen-Overhead des Betriebssystems verteilt wird und eine effiziente Nutzung des physischen Rechners ermöglicht wird. +Dadurch können mehrere Anwendungen auf demselben physischen Rechner ausgeführt werden. +Durch die Nutzung des zugrunde liegenden Betriebssystems, sind sie im Vergleich zu [virtuellen Maschinen](/virtual-machine/) sehr leichtgewichtig und können schneller hoch- und heruntergefahren werden. + +Allerdings gibt es auch Einschränkungen. +Da Container das selbe Betriebssystem nutzen, können Prozesse als weniger sicher angesehen werden. +Um die Ressourcen zu garantieren, müssen die Administratoren die Speicher- und CPU-Nutzung einschränken und begrenzen, damit andere Anwendungen keine schlechten Leistungen erbringen oder abstürzen.