Definition „Container Layering“ Was bedeutet Layering?

Von Egoloizos 3 min Lesedauer

Anbieter zum Thema

Layering stellt ein Konzept in der Anwendungsentwicklung dar, das einem Container-Ansatz folgt. Developer können damit ihre Arbeit in der Entwicklung besser strukturieren und skalieren, um rasch auf sich ändernde Anforderungen reagieren zu können.

Das Konzept des Layering bezieht sich auf die Organisation, Strukturierung und Stapelung bzw. Schichtung von Containern.
Das Konzept des Layering bezieht sich auf die Organisation, Strukturierung und Stapelung bzw. Schichtung von Containern.
(Bild: PIRO / Pixabay)

Layering und Container im Überblick

Als übergeordnetes Entwicklungskonzept beschreibt das Container-Layering in der Softwareentwicklung die Aufteilung von Betriebssystemen und Anwendungen in Einheiten. Diese containerisierten Schichten zeichnen sich durch jeweils unterschiedliche Funktionen oder Komponenten aus. Durch diese lassen sie sich von anderen Containern unterscheiden.

Jeder Container kann hierbei als eigenständige Einheit betrachtet werden. Grundsätzlich lassen sich diese Einheiten unabhängig von anderen Containern betreiben und einsetzen. Auf diese Weise ermöglicht es Container-Layering Softwareentwicklern, Anwendungen in kleinere und besser handhabbare Komponenten aufzuteilen. Diese lassen sich schneller und effizienter bereitstellen.

Das Konzept des Layering selbst bezieht sich auf die Organisation, Strukturierung und Stapelung der Container. Auf diese Weise entwickelte Anwendungen bestehen typischerweise aus verschiedenen Schichten. Diese beinhalten wiederum verschiedene Komponenten, darunter die Anwendungslogik, die Datenbank und die Benutzeroberfläche des Programms. Die Schichten dienen dazu, eine modulare Struktur zu schaffen.

Jede Schicht kann verschiedene Funktionen und Verantwortlichkeiten besitzen. Sie lässt sich zudem unabhängig von den anderen Schichten entwickeln, testen, bereitstellen und warten. Jede Schicht kann einzeln aktualisiert, skaliert oder ausgeführt werden. Dies geschieht ohne eine Beeinträchtigung der anderen Schichten.

Layering und seine Funktionsweise in der Anwendungsentwicklung

Das Layering kann in der Softwareentwicklung dazu beitragen, komplexe Anwendungen besser zu strukturieren und zu skalieren und den Entwicklungsprozess zu erleichtern. Ein typisches Beispiel für das Layering in der Anwendungsentwicklung ist die sogenannte dreischichtige Architektur.

Die so genannte Präsentationsschicht (Presentation Layer) kümmert sich dabei um die Benutzeroberfläche (UI) der Anwendung und stellt sicher, dass die Interaktionen des Benutzers mit der Anwendung ordnungsgemäß verarbeitet werden. Die Präsentationsschicht kann sich aus einer oder mehreren Bestandteilen zusammensetzen, wie beispielsweise einer Webseite, einer mobilen App oder einem Desktop-Client.

Die Geschäftslogikschicht (Business Logic Layer) ist für die Verarbeitung der Geschäftslogik der Anwendung zuständig, einschließlich der Verarbeitung von Daten und der Implementierung von Geschäftsregeln. Auch die Geschäftslogikschicht kann sich aus einer oder mehreren Komponenten zusammensetzen, wie beispielsweise APIs, Datenbanken oder Webdiensten.

Die Datenspeicherschicht (Data Storage Layer) ist für die Speicherung und Verwaltung von Daten in der Anwendung verantwortlich. Diese Schicht kann aus einer oder mehreren Komponenten aufgebaut sein, darunter wie beispielsweise Datenbanken, Dateisystemen oder Cloud-Speicherdiensten.

Jede Schicht kann in sich wiederum in kleinere Komponenten unterteilt werden. Beispielsweise kann die Geschäftslogikschicht aus mehreren APIs oder Microservices bestehen, die jeweils für eine bestimmte Funktion zuständig sind.

Das Layering reduziert die Komplexität von Anwendungen, indem ihre Funktionen klar definierten Schichten zugeordnet werden, die sich einzeln entwickeln, testen und warten lassen. Dies kann auch die Wiederverwendbarkeit von Code und Komponenten verbessern. Änderungen oder Erweiterungen an der Anwendung vorzunehmen werden auf diese Weise erleichtert.

Die Rolle des Containers im Layering

Container sind virtuelle Umgebungen, die eine isolierte Ausführung von Anwendungen ermöglichen. Sie können alle notwendigen Ressourcen bereitstellen, die eine Anwendung zum Betrieb benötigt. Dazu gehören etwa Bibliotheken, Abhängigkeiten, Konfigurationsdateien und ausführbare Dateien. Anwendungen können dadurch unabhängig von der zugrunde liegenden Infrastruktur ausgeführt werden.

Im Layering-Konzept dienen Container dazu, verschiedene Schichten der Anwendung zu isolieren. Beispielsweise können Container genutzt werden, um die Präsentationsschicht der Anwendung von der Geschäftslogikschicht und der Datenspeicherschicht zu trennen.

Das Layering in Verbindung mit Containern ermöglicht auch eine flexible und effiziente Bereitstellung entsprechender Anwendungen. Entwickler können die Container entsprechend der Anforderungen der Anwendung schnell und einfach skalieren und aktualisieren. Dies geschieht ohne, dass dies Auswirkungen auf andere Teile der Anwendung hat.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Softwareentwicklung und DevOps

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung

Anwendung, Einsatzbereiche und Vorteile des Container-Layerings

Das Layering-Konzept wird in der Regel in solchen Anwendungsbereichen eingesetzt, in denen komplexe Anwendungen entwickelt und bereitgestellt werden müssen. Zu den wichtigsten Anwendungsbereichen, in denen das Layering-Konzept verwendet wird, gehören Web-Anwendungen und native Apps.

Bei der Entwicklung solcher Anwendungen wird es eingesetzt, um die Präsentationsschicht, die Geschäftslogikschicht und die Datenspeicherschicht voneinander zu trennen. Durch die Verwendung von Containern können Entwickler die Skalierbarkeit und Flexibilität von Web- und Mobile-Apps erhöhen.

Das Layering-Konzept ist auch bei der Entwicklung von Cloud-Anwendungen von Bedeutung, da es Entwicklern ermöglicht, Cloud-Anwendungen in separate Schichten aufzuteilen. Diese lassen sich wiederum in Container verpacken und verwalten.

(ID:49493273)