BASTA! Spring 2015 Countdown

Docker auf Windows – was ist das?
Kommentare

Microsoft überrascht seit einiger Zeit mit unterschiedlichsten Open-Source-Aktivitäten. Hauseigene Produkte werden nicht nur Open Source gestellt, sondern auch für die Zusammenarbeit mit Open-Source-Produkten von anderen Herstellern angepasst.

Ein aktuelles Beispiel dafür ist Docker, eine Container-Lösung, die aktuell nur auf Linux läuft, das wiederum auf Azure läuft. Rainer Stropek, software architects, hat sich als Azure-Spezialist mit Docker beschäftigt und gibt uns einen kurzen Überblick, worum es dabei geht. Ausführlicher stellt er Docker in Ausgabe 3.15 des Windows Developer (ab 6.2. im Handel) und auf der BASTA! Spring 2015 am 24. Februar vor. Mehr Informationen inkl. Video finden Sie jetzt schon auf seinem Blog.

Rainer, zum Einstieg die einfache Frage: Was ist Docker?

Rainer Stropek: Docker ist eine Firma mit gleichnamigem Produkt, die es geschafft hat, das Thema Anwendungscontainer populär zu machen. Containertechnologie steht unter Linux schon länger zur Verfügung. Docker macht die Verwendung jedoch so einfach, dass es gelang, die breite Masse zu erreichen. Das ging so weit, dass die Docker-API, also die Kommandozeilentools, die REST-Schnittstelle etc., mittlerweile eine Art de facto-Standard geworden ist.

Jetzt habe ich zwar Docker erklärt, aber ein neues Schlagwort ins Spiel gebracht, das Microsoft-Entwicklern vielleicht noch nicht so geläufig ist: Container. Man kann sich Container wie virtuelle Maschinen (VM) vorstellen, nur um vieles leichtgewichtiger. Statt in jeder VM den gesamten Softwarestack bis hinunter zum Kernel zu betreiben, greifen die Container auf den Kernel des Hosts zu. Gleiches gilt für Images, die zum Container stehen wie die Virtual-Hard-Disk (VHD) zur VM. Wie die Schichten einer Zwiebel – daher auch der Name Onion-Dateisystem – bauen sie aufeinander auf und sparen dadurch enorm viel Platz. Die Vorteile liegen auf der Hand. Nur ein konkretes Beispiel: Startzeit. Einen Docker-Container mit Webserver startet man in unter einer Sekunde – ein krasser Unterschied, verglichen mit dem Starten einer kompletten VM.

Was will Microsoft damit?

Stropek: Container sind in der Cloud ein Mittel, um die Hosting-Dichte zu erhöhen. Will man zwei Anwendungsmodule logisch trennen, müssen nicht zwei getrennte VMs betrieben werden. Es reichen zwei Container. Durch das Wiederverwenden des gemeinsamen Kernels spart man Ressourcen und dadurch bares Geld.

Microsoft hat natürlich erkannt, dass das sowohl in Azure als auch in privaten Clouds für Kunden reizvoll ist. Linux bietet diesen Vorteil schon heute. Microsoft will mit Windows nicht weiter ins Hintertreffen geraten und arbeitet daher mit Hochdruck an einer Docker-kompatiblen Lösung für Windows. Zuletzt wurde sie für Windows 10 in den Raum gestellt. Wir dürfen gespannt sein, ob Microsoft sein Versprechen hält.

Welche Chancen bietet Docker für .NET-Entwickler?

Stropek: Es kommt oft genug vor, dass eine Komponente, die man entwickelt, eine andere Komponente negativ beeinflusst. Ideal wäre es, wenn jede Anwendungskomponente eine eigene, auf sie zugeschnittene Umgebung hätte, die man auch nahtlos von der Entwicklungs- über die Test- bis hin zur Produktionsumgebung mitnehmen kann. Genau das leistet Docker.

Ein Entwickler kann also problemlos auf seinem Entwicklungsrechner die Produktionsumgebung, bestehend aus mehreren Clusterknoten, Netzwerkinfrastruktur, Systemkonfigurationen etc. nachbilden, und die Anwendung dadurch realitätsnah testen. Die Container starten so schnell, dass es sogar möglich wird, für jede Debugging-Sitzung oder jedes Kompilieren getrennte Container mit frisch aufgesetzten, isolierten Umgebungen hochzufahren. Weniger Fehler durch Abhängigkeiten oder Unterschiede zwischen Test- und Produktionsumgebungen sind hoffentlich die Folge.

BASTA! Spring 2015

BASTA! Spring 2015

Visual-Studio- und .NET-Entwickler aufgepasst! Jede Menge spannende Sessions rund um .NET, Windows und JavaScript gibt es auf der BASTA!, die vom 23. bis zum 27. Februar im Maritim Rhein-Main Hotel Darmstadt stattfindet und mit über 80 Sessions, Workshops und Keynotes aufwartet. Wer sich bis Donnerstag, den 29. Januar anmeldet, kann sich attraktive Frühbücherrabatte sichern: Early Birds sparen bis zu 200 Euro.

Im Kontext von Docker wird auch über „Microservices“ gesprochen – was ist das?

Stropek: Der Begriff „Microservices“ in Verbindung mit Docker meint, dass man durch die Leichtgewichtigkeit und Flexibilität von Containern, je Container immer nur einen einzelnen Service betreibt. Mit VMs würde das System so groß und träge, dass man dazu tendiert, jedem virtuellen Server mehrere logische Rollen zuzuweisen – mit allen negativen Folgen. Mit Hilfe von Docker kann man eine Anwendung als Gesamtheit von miteinander vernetzten, isolierten Containern modellieren.

Was zeigst du in deiner Session auf der BASTA! Spring 2015?

Stropek: Docker ist noch nicht in Windows angekommen. Das ist aber nicht schlimm, da ASP.NET vNext schließlich jetzt auch auf Linux läuft. Was hält uns also noch ab, als .NET-Entwickler mit Docker zu experimentieren? Nichts.

In meiner Session auf der BASTA möchte ich zeigen, warum die IT-Welt in den letzten Monaten angesichts Docker Kopf gestanden ist. Als Beispiel dafür nehmen wir einfach ASP.NET vNext unter Linux. Wer zu meiner Docker-Session auf der BASTA kommt, lernt die Grundbegriffe von Docker anhand eines durchgängigen Beispiels kennen. Natürlich kommt – wie könnte es bei mir auch anders sein – Azure nicht zu kurz. Alle meine Live-Demos werde ich auf Azure ausführen, da Docker und Linux unter Azure schon heute sehr gut unterstützt werden.

Vielen Dank für das Gespräch, Rainer. Wir sehen uns auf der BASTA!

© Rainer StropekRainer Stropek ist seit über zwanzig Jahren als Unternehmer in der IT-Industrie tätig. Er gründete und führte in dieser Zeit mehrere IT-Dienstleistungsunternehmen und entwickelt im Augenblick in seiner Firma „software architects“ mit seinem Team die preisgekrönte Software „time cockpit“. Er ist Autor mehrerer Fachbücher und Artikel in Magazinen im Umfeld von Microsoft .NET und C#. Seine technischen Schwerpunkte sind C# und das .NET Framework, XAML/WinRT/WPF/Silverlight, die Windows-Azure-Plattform sowie SQL Server. Seit 2010 ist Rainer MVP für Windows Azure.

 

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -