Virtualisierung und Containerisierung

 

Was ist Virtualisierung?

Virtualisierung

Virtualisierung erlaubt es, eine Hardware gegenüber dem Nutzer als mehrere (virtuelle) Maschinen darzustellen. Das Virtualisierungs-System sorgt dafür, dass die Hardware auf die verschiedenen Gast-Systeme verteilt wird. Auf jedem Gast-System wird ein vollständiges Betriebssystem für den Nutzer installiert. Im Kontext dieses Betriebssystems kann der Nutzer seine Applikationen laufen lassen.

Vorteile

Durch die Virtualisierung kann ich mich von der Hardware unabhängig machen und bestehende Systeme stärker ausnutzen. Damit erspare ich mir aufwendige Beschaffungsprozesse. Gleichzeitig kann ich für verschiedene Applikationen unterschiedliche Betriebssystem-Versionen zur Verfügung stellen. Damit weiche ich Konflikten aus, die durch unterschiedliche Versionen von Shared-Libraries entstehen.

Nachteile

Der Ansatz ist sehr schwergewichtig. Ich muss in jeder virtuellen Maschine ein vollständiges Betriebssystem einrichten und pflegen. Der Kontextwechsel zwischen den Systemen ist ebenfalls schwergewichtig und funktioniert nur auf Hardware, die das direkt unterstützt. Mittlerweile ist dies bei aktuellen Prozessoren durchgehend der Fall.

Das Aufsetzen einer virtuellen Maschine ist vergleichbar mit dem Aufsetzen eines Servers und verbraucht substanziell Zeit. Deswegen tendieren Teams dazu, aufgesetzte Maschinen nicht zu löschen. Das wirkt dem Ansatz "Immutable Systems" entgegen.

Schwerwiegende Nachteile entstehen, wenn eine Masse von virtuellen Maschinen verwaltet werden muss. Hier aktuelle Versionen vom Betriebssystem vorzuhalten und eine entsprechende Sicherheits-Infrastruktur (Firewall, Virenschutz) sind eine Herausforderung für viele Unternehmen.

Die Virtualisierungs-Bewegung hat deswegen der automatischen Administration und Konfektionierungstools Auftrieb gegeben.

Nutzen für die Agilität

Teams können virtuelle Maschinen schneller bekommen als reale Hardware. Das gilt insbesondere für größere Unternehmen. Damit wird es möglich, Anforderungen in einem Sprint umzusetzen. Gleichzeitig hilft Virtualisierung dabei, die Arbeit zu entkoppeln, da für verschiedene Applikationen unterschiedliche virtuelle Maschinen genutzt werden können. Abstimmungsbedarf zum Betriebssystem entfällt.

Herausforderung für agile Teams

Die Teams müssen sich stärker Gedanken machen, wie sie ihre Anwendung aufteilen wollen und welche virtuellen Maschinen sie dafür benötigen. Die Konfiguration der virtuellen Maschine wird zum expliziten Thema im Entwicklungsteam.

Was ist Containerisierung?

Containerisierung

Containerisierung erlaubt es ebenfalls auf eine Maschine mehrere unabhängige Kontexte zu haben, in denen Applikationen laufen können. Im Gegensatz zur Virtualisierung ist dieser Ansatz leichtgewichtiger, weil nicht für jeden Kontext ein vollständiges Betriebssystem zur Verfügung gestellt wird. Anstelle dessen wird das vorhandene Betriebssystem über geschickte Dateisystem-Schichten unterschiedlich konfiguriert.

Vorteile

Wiederum können auf einer Hardware unterschiedliche Applikationen unabhängig voneinander laufen. Durch die stärkere Nutzung des Host-Betriebssystems ist der Ansatz leichtgewichtiger. In jedem Kontext kann das Betriebssystem anders konfiguriert werden. Wenn gewünscht sehen sich die verschiedenen Applikationen nicht.

Während Virtualisierung vorwiegend den Server-Bereich adressiert kann Containerisierung problemlos auf jedem Maschinentyp installiert werden. Damit erschließen sich auch Entwicklungsrechner.

Die Beschreibung einer Container-Konfiguration wird ebenfalls zum Artefakt im Entwicklungsprozess.

Nachteile

Um die Leichtgewichtigkeit zu ermöglichen, müssen für Container andere Konzepte erlernt werden. Während bei Virtualisierung noch die bekannten Konzepte eins-zu-eins übertragen wurden, ist es bei Containern wichtig, die Dateisystem-Schichtung und weitere Spezialkonzepte zu verstehen.

Nutzen für die Agilität

Container lassen sich in sehr kurzer Zeit hochziehen. Damit geben Sie dem agilen Entwicklungsteam weitere Möglichkeiten, um kurzfristig Feedback zu bekommen. Z.B. lassen sich Test-Installationen einer verteilten Anwendung jederzeit hochziehen. Jeder Entwickler kann für sich die komplette Applikations-Landschaft auf dem eigenen Rechner betreiben.

Herausforderung für agile Teams

Die schlichte Menge an Containern macht die Situation ggf. unübersichtlich.

Entwickler müssen sich mit der Beschreibungssprache für Container auseinander setzen. Die Konfiguration der Basismaschine ihre Applikation wird zum Gegenstand im Entwicklungsprozess. Die Trennung von Operations und Development verwischt.

Container-Whitepaper

Lesen Sie in diesem Whitepaper, wie Sie Container im agilen Entwicklungsprozess nutzen können, um Agilität zu fördern.

Bestellen

Unser it-agile Lagerraum

Möchten Sie mehr erfahren?

Tauschen Sie sich mit unseren Expert:innen aus und lassen sich zu Schulungen, Coaching oder Wissensthemen beraten.

 

+ 49 40 4135 848-0    info@it-agile.de    Online Termin buchen

Agile Coaching von it-agile
Management Schulungen bei it-agile

Kennen Sie eigentlich schon it-agile?

Die Expert:innen zu agiler Arbeit und agilen Methoden

Kund:innen wollen begeistert werden. Mit innovativen Produkten, durch Schnelligkeit, Transparenz und auch Verlässlichkeit. Unsere erfahrenen Agile Coaches sorgen gemeinsam mit Ihren Teams und Führungskräften dafür, auch in komplexer Umgebung Ihre Ziele nicht aus dem Auge zu verlieren und implementieren die richtigen agilen Methoden für nachhaltige Veränderung.

  • Wir integrieren Pragmatismus mit Idealismus
  • Wir befähigen Sie nachhaltig ohne Abhängigkeit von uns
  • Wir erzeugen Kundenfokus mit wirkungsvoller Agilität
agile review Magazin

agile review

Unser Kundenmagazin 

In unserem Magazin stellen wir Artikel rund um agiles Arbeiten für Sie zusammen. Das Spektrum reicht von methodischen Themen wie Scrum und Kanban über Agile Leadership bis hin zu technischen Aspekten wie agilem Testen und flexiblen Architekturen.

  • Als Abo oder Einzelausgabe erhältlich
  • Digital oder Print
  • Einzelne Artikel sofort digital verfügbar

Wissens- und Lesenswertes

Das könnte Sie zu Agiler Arbeit auch interessieren

Was sind Flight Levels?

Agile Arbeit

Das Flight Levels Modell unterscheidet zwischen 3 Flight Levels bzw. Ebenen der Arbeit in Organisationen. Der Artikel beschreibt wie sich diese drei Ebenen unterscheiden.

Agile Verträge

Agile Arbeit

Bei agilen IT-Softwareprojekten stellen sich besondere Herausforderungen bezüglich der Vertragsgestaltung. Wir geben einen Überblick über Ihre Möglichkeiten für die agile Software-Vertragsgestaltung.

Führungskräfte und Manager in der agilen Welt

Agile Organisation

Wenn Unternehmen entscheiden, auf agile Ansätze zu setzen, ändert sich nicht nur die Arbeitsweise der Teammitglieder. Auch die Arbeit der Führungskräfte ändert sich. Das wirft die Frage auf, ob…

it-agile Newsletter

Sichern Sie sich monatlich Neuigkeiten, Inspiration und Tipps zu agiler Arbeit, Konferenzen, aktuelle Termine und vieles mehr.

Zur Anmeldung