Login
Newsletter

Thema: Nutzen Sie Container?

1 Kommentar(e) || Alle anzeigen ||  RSS
Kommentare von Lesern spiegeln nicht unbedingt die Meinung der Redaktion wider.
0
Von Container-Fan am Mo, 31. Juli 2017 um 11:58 #

Ich möchte hier mal ein paar meiner Erfahrungen aus dem Einsatz von Docker-Containern für die lokale PHP-Entwicklung mitteilen. Eine Docker-Infrastruktur, bestehend aus verschiedenen Containern, eignet sich gut, um die jeweils benötigen Systeme hochzufahren.

Dazu können zählen:
- Apache2 / Ngnix Webserver
- MariaDb/MySQL/...
- phpMyAdmin
- ggf. ein SASS/LESS Container, falls man entsprechendes CSS entwickel möchte
- ...

Die bisherigen Container für die obigen Systeme sind gut dokumentiert und lassen sich mit wenig Aufwand zusammenschalten (z.B. vordefinierte Zugangsdaten, Ports etc.). Sie werden durch scheinbar fähige Leute gewartet und lassen sich per erneutem Ziehen und Bauen i.d.R. einfach aktualisieren. Damit erhält man eine definierte Software- bzw. Systemlandschaft, welche sogar versioniert werden könnte (z.B. Dockerfile in ein Git).

Neben dem schnelle Ausrollen ganzer Entwicklungsumgebungen (ich meine damit keine IDE's!), eignen sich Container auch, um parallel mit verschiedenen Versionen eines Systems zu arbeiten. Bei PHP gibt es aktuell noch die dominierenden 5er Versionen, sowie die mittlerweile recht stabile und sehr fixe 7er. Beide fordern andere Abhängigkeiten. Dies lässt sich schön mit Containern verpacken. Das darunterliegende System kann ein Fedora, Ubuntu oder XYZ sein. Über Umwege geht das mittlerweile auch im MacOS und bald auch Windows(?).

Ich gebe zu, der Einsatz von Containern erfordert eine Umstellung eigener Sichtweisen und Vorgehensweisen. Das lokale System kann nun frei bleiben von Abhängigkeiten, Software-Konflikten o.ä. Jegliche für die Entwicklung benötige Software kann weggekapselt werden. Dies erfordert z.B., dass man innerhalb eines Containers z.B. seine PHPUnit Suite starten muss. Beachtet man Dinge wie Volumes und bekannte Performance Probleme, kann man seine Produktivität stark erhöhen.

[b]Zum Thema Sicherheit:[/b] Ich sehe Container nicht per se als Teil einer Sicherheitslösung an. Sie haben gewisse Vorteile, z.B. erlauben sie nicht einfach das Überschreiben von Systemdateien, jedoch laufen sie direkt auf dem Kernel, standardmäßig als root. Man sollte hier genauso rangehen, als wenn die Software darin direkt im System läuft. Jedoch halte ich gewisse Dinge bewusst verschlossen und glaube, dass bei einer lokalen(!) Entwicklungsgebung gewisse Dinge niedriger priorisiert werden können.

Nach ~6 Monaten aktiver Nutzung, habe ich meine investierten Stunden (ca. 10-20) mehrfach wieder rein. Neben Zusatzwissen, habe ich Stabilität in der Arbeit gewonnen (z.B. Neuinstallation auf Entwickler-Machine dauert ~10 Min.) und nebenbei auch Mitarbeitern direkt das System "zeigen" (was wird in welcher Version wie zusammen eingesetzt).

[
| Versenden | Drucken ]
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten