Browse by Tags
We've categorized the glossary terms. Use the filters to browse terms by tag.
Abstraktion
Mit Hilfe von Abstraktionen werden spezifische Gegebenheiten von IT–Systemen vor dem Nutzer verborgen. Dadurch schaffen Abstraktionen generische Lösungen, die einfacher zu verstehen sind. Ein gutes Beispiel hierfür ist das Betriebssystem auf deinem Laptop. Als Laptop-Nutzer musst du kein tiefergehendes Verständnis von CPUs, Speicher und Software haben. Dein Betriebssystem abstrahiert das komplexe Zusammenspiel aus Computer Hardware und Software von der Nutzerschicht. IT-Systeme haben typischerweise mehrere Abstraktionsschichten. Das vereinfacht die Entwicklung von Software...
Agile Softwareentwicklung
Agile Softwareentwicklung beschreibt ein Vorgehensmodell der Softwareentwicklung, bei der die Arbeit in Iterationen und selbstorganisierte Teams im Vordergrund stehen. Im Vergleich zu wasserfallartigen Projekten, bei denen die Ergebnisse erst am Ende eines Projekts entstehen, liegt der Fokus der agilen Sofwareentwicklung auf einer kontinuierlichen Bereitstellung von Software-Inkrementen und ständiger Verbesserung des Prozesses. Welches Problem es löst Das Kommunizieren und Verstehen der Anforderungen eines Softwareprojekts ist ein sehr schweres, wenn nicht sogar unmögliches Unterfangen...
API Gateway
Ein API Gateway ist ein Werkzeug zur Zusammenfassung einzelner Applikations APIs an einem einzigen Ort. Es erlaubt Organisationen Kernfunktionen wie Authentifikation, Autorisation oder auch die Limitierung von Anfragen zentral zu managen. Ein API Gateway stellt somit eine einheitliche Schnittstelle für - zumeist externe - API Benutzer zur Verfügung. Welches Problem es löst Stellt man externen Nutzern APIs zur Verfügung, ist es wünschenswert, den Zugriff darauf an zentraler Stelle verwalten zu können...
Application Programming Interface
APIs regeln die Kommunikation zwischen Softwareanwendungen. Im weiteren Sinne kann man das mit einem Gespräch zwischen zwei Personen vergleichen. In diesem Beispiel wäre eine API die konkrete Sprache, die gesprochen wird. Im Gegensatz zu einem Gespräch zwischen zwei Personen ist die Kommunikation zwischen Softwareanwendungen allerdings eingeschränkt. Sie unterliegt einem gewissen Standard, bei dem die Sprache und die Kanäle der Kommunikation festgelegt sind. Welches Problem es löst Softwareanwendungen können mit der Zeit sehr komplex werden und kleine Änderungen an einer Stelle der Anwendung können fundamentale Auswirkungen auf andere Bereiche der Anwendung haben...
Autoskalierung
Autoskalierung ist die Fähigkeit eines Systems, automatisch zu skalieren, typischerweise in Bezug auf die Rechenressourcen. Bei einem System mit automatischer Skalierung werden Ressourcen bei Bedarf automatisch hinzugefügt, um schwankenden Nutzeranforderungen gerecht zu werden. Der Prozess der Autoskalierung variiert und ist so konfigurierbar, dass die Skalierung auf der Grundlage verschiedener Metriken, wie z.B. Speicher oder Prozesszeit, erfolgt. Welches Problem es löst Früher waren die Infrastruktur und die Anwendungen auf ein Maximum an Auslastung ausgelegt...
Bare Metal Machine
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...
Canary Deploment
Das Canary-Deployment ist eine Deployment-Strategy, die bei einem neuen Release, zwei Umgebungen einbezieht: Die produktive Umgebung und eine Umgebung, welche die neue Version einer Anwendung enthält. Der Datenverkehr wird nun schrittweise von der aktuell produktiven Umgebung auf die Umgebung mit der neuen Version der Anwendung gelenkt. Zunächst kann damit begonnen werden, 1% des Echtzeit-Datenverkehrs zu verschieben, dann 10%, 25% und so weiter, bis der gesamte Datenverkehr über die aktualisierte Version erfolgt...
Client-Server-Architektur
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...
Cloud Computing
Das Konzept des Cloud Computing ist die Bereitstellung von Systemressourcen wie CPU, Netzwerk und Speicher auf Abruf und über das Internet. Cloud Computing ermöglicht den Zugriff und die Nutzung von Systemressourcen aus beliebigen Standorten. Diese Systemressourcen werden von Cloud-Anbietern wie AWS, GCP, Azure, Digitial Ocean und weiteren Anbietern an den Endverbraucher zur Verfügung gestellt. Welches Problem es löst Die Skalierung von Systemressourcen stellt für viele Organisationen eine große Herausforderung dar. Organisationen müssen entweder fest verplante Systemressourcen bei bestehenden Rechenzentren einkaufen oder selbst ein Rechenzentrum aufbauen und verwalten...
Cloud Native Applikationen
Cloud Native Applikationen werden auf eine Art entwickelt, welche es erlaubt die Vorteile des Cloud Computing zu nutzen. Sie lassen sich problemlos in ihre jeweiligen Cloud-Architekturen integrieren und nutzen die Ressourcen eines Cloud Providers, sowie die verschiedenen Skalierungsmöglichkeiten der Cloud. Cloud Native Anwendungen können dabei sowohl in den Rechenzentren der Cloud Provider als auch auf privaten Cloud Plattformen ausgeführt werden. Welches Problem es löst In der Vergangenheit wurden Rechenressourcen in Rechenzentren auf individuelle Weise bereitgestellt...
Cloud Native Glossar
Cloud Native Glossar Das Cloud Native Glossar ist ein Projekt unter der Leitung des CNCF Business Value Subcommittee (BVS). Das Ziel ist es, Cloud Native Konzepte in klarer und einfacher Sprache zu erklären, ohne dass technische Vorkenntnisse erforderlich sind. Mitwirken Jede/r ist eingeladen, Änderungen, Ergänzungen und Verbesserungen für das Cloud Native Glossar vorzuschlagen. Wir verwenden einen Community-gesteuerten Prozess, der von der CNCF geregelt wird, um dieses gemeinsame Lexikon zu entwickeln und zu verbessern...
Cloud Native Security
Cloud Native Security beschreibt den Ansatz, Konzepte aus dem Bereich Cyber Security in Cloud Native Anwendungen zu integrieren. Dabei ist vorgesehen, dass Sicherheitsbetrachtungen Teil des gesamten Softwareentwicklungs- und Lebenszyklus sind, von der Entwicklung bis zur Inbetriebnahme und Wartung. Cloud Native Security versucht, die gleichen Standards wie herkömmliche Sicherheitsmodelle zu gewährleisten, ist dabei allerdings angepasst an die Besonderheiten von Cloud Native Umgebungen. Eine hohe Frequenz von Änderungen des Codes und eine sehr volatile Infrastruktur sind Beispiele für die Eigenschaften von Cloud Native Umgebungen...
Cloud Native Technologien
Cloud Native Technologien, auch als Cloud Native Stack bezeichnet, sind Technologien, die für die Entwicklung von Cloud Nativen Applikationen verwendet werden. Diese Technologien ermöglichen es Organisationen, skalierbare Anwendungen in modernen und dynamischen Umgebungen wie Public-, Privat- und Hybrid-Clouds zu entwickeln und zu betreiben. Sie sind darauf ausgelegt, die Vorteile des Cloud Computing voll auszuschöpfen. Container, Service Meshes, Microservices und Immutable Infrastructure sind Beispiele für diesen Ansatz. Welches Problem es löst Cloud Native Technologien sind in unterschiedliche Kategorien unterteilt, die jeweils eine Vielzahl von Anwendungsfällen adressieren...
Container
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...
Contineous Integration
Unter Continuous Integration, oft abgekürzt als CI, versteht man die Praxis, Codeänderungen automatisch zu integrieren. CI ist eine Voraussetzung für die Continuous Delivery (CD). Traditionell beginnt der CI-Prozess mit der Übergabe von Codeänderungen an ein Versionskontrollsystem (Git, Mercurial oder Subversion) und endet mit einem getesteten Artefakt, das von einem CD-System verwendet werden kann. Welches Problem es löst Softwaresysteme sind oft komplex und werden von zahlreichen Entwicklern gepflegt und aktualisiert. Wenn diese Entwickler parallel an verschiedenen Teilen des Systems arbeiten, kann es vorkommen, dass sie im Konflikt miteinander stehende Änderungen vornehmen und versehentlich die Arbeit des jeweils anderen beschädigen...
Continuous Deployment
Continuous Deployment, oft abgekürzt als CD, bezeichnet, wie Continuous Delivery, die automatische Bereitstellung von Software und geht dabei einen Schritt weiter als Continuous Delivery, indem fertige Software direkt in das Produktivsystem überführt wird. Continuous Deployment steht im engen Zusammenhang mit Continuous Integration und wird häufig als CI/CD bezeichnet. Während der CI-Prozess, die Änderungen an der Codebasis validiert, stellt der CD-Prozess diese automatisch in den Umgebungen eines Unternehmens von der Testphase bis hin zum Produktivsystem bereit...