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 können Sie sich von der Hardware unabhängig machen und bestehende Systeme stärker ausnutzen. Damit ersparen Sie sich aufwendige Beschaffungsprozesse. Gleichzeitig können Sie für verschiedene Applikationen unterschiedliche Betriebssystem-Versionen zur Verfügung stellen. Damit weicheen Sie Konflikten aus, die durch unterschiedliche Versionen von Shared-Libraries entstehen.

Nachteile

Der Ansatz ist sehr schwergewichtig. Sie müssen 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. Jede:r Entwickler:in 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:innen 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

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

Agile Teams

Ein Haufen abhängiger agiler Teams ergibt noch kein agiles Unternehmen. Die übergreifenden Themen führen zu extremen Overhead, schlechter Vorhersagbarkeit und langsamer Time-To-Market. Diese Probleme…

Agile Teams

Wir hören immer mal wieder, dass Entwickler:innen Scrum hassen - wegen der vielen Meetings. Was steckt dahinter?

Agile Entwicklung

DORA (DevOps Research and Assessment) ist ein wissenschaftliches Studienprogramm, das unser Kollege Andreas Havenstein zur Weiterentwicklung von Teams angewandt hat.

it-agile Newsletter

Sichern Sie sich regelmäßige Neuigkeiten, Inspiration und Tipps zu agiler Arbeit, Konferenzen, aktuelle und neue Termine für unsere Schulungen sowie vieles mehr.


* Benötigte Angaben