iX 4/2020
S. 120
iX extra
Hosting für Entwickler

Im Container

Docker und Entwicklerwerkzeuge vom Hoster

Softwareentwicklung bedeutet heutzutage das Verteilen von Aufgaben, Werkzeugen und Ressourcen. Von besonderer Bedeutung sind Microservices und Anwendungen in Containern. Hosting-Provider bieten sie sowohl als Entwick­lungs- als auch als Produktionsumgebungen an.

Jahrzehntelang waren Großunternehmen stolz auf ihre höchst zuverlässigen Mainframes. Beim Versuch des Umzugs auf moderne Serverarchitekturen zeigte sich aber, dass sich deren monoli­thische, gewachsene Software nicht so einfach migrieren lässt. Auch deshalb laufen viele Großrechner viel länger als geplant.

Umso wichtiger ist es, neue Anwendungen von Anfang an nach modernen Gesichtspunkten der Softwareentwicklung zu planen. Dazu gehören Micro­services, DevOps, agiles Development, Continuous Delivery und Container. Ein erster Schritt bestand in der Virtualisierung. Virtuelle Maschinen abstrahieren Entwicklungs- und Laufzeitumgebungen von der konkreten Hardware und nutzen sie besser aus. Hierzu bilden Virtualisierungsprodukte wie KVM oder Xen ebenso wie die kommerziellen Pendants von Microsoft und VMware komplette Computer mit eigenem BIOS nach, die die Software wie einen physischen Server wahrnimmt. Dies stellt ein hohes Maß an Kompatibilität sicher, bedeutet aber auch einen großen Overhead, der sich mit zunehmender Anzahl virtueller Maschinen immer stärker bemerkbar macht, da derselbe Softwarestack zum Einsatz kommt wie auf dedizierten Servern: Betriebssystem, Datenbanken, Skript­sprachen, Bibliotheken und Konfigurationsdateien sind in jeder VM einzeln zu installieren und bei Bedarf zu aktualisieren. Das führt zu den bekannten Schwierigkeiten des Testens einer Produktionsumgebung und birgt Risiken beim Update oder Patchen einzelner Komponenten.

Kommentieren