Docker
Containervirtualisierung
Docker im Einsatz bei TYPONiels
Es wurden keine weiteren Informationen zum Einsatz von Docker bei TYPONiels hinterlegt.
Mit dem Einsatz von Docker erhält man als Entwickler zudem eine enorme Flexibilität und muss sich nicht mehr Sorgen machen, dass z. B. eine bestimmte PHP-Version, PHP-Erweiterung, PHP-Einstellungen oder Variablen auf dem Hostsystem nicht verfügbar sind. Im Dockerfile können diese einfach selbst definiert und verändert werden. Bei richtiger Anwendung stellt man so auch sicher, dass keine falschen Einstellungen (Error_Reporting, Exposing, xDebug) im Produktivsystem auftreten können. Mit dem Einsatz von Docker können Anwendungen im Allgemeinen zudem viel sicherer gestaltetet werden, da eine Kapselung als Service und deren Zugriffsebenen besser geregelt werden können. Ein Beispiel hierfür ist ein Backend-Service wie z. B. eine MySQL-Datenbank nur innerhalb der Container erreichbar ist und Zugriffe von außen nicht möglich sind.
Vom Prototypen zum Go-Live
Docker ist als Werkzeug aus meinem Entwickler-Alltag nicht mehr wegzudenken.
Bei mittelgroßen Projekten (vorher lohnt es sich meistens aufgrund der Kosten/Anforderungen nicht) baue ich standardmäßig Docker-Container der Anwendung mittels vordefinierter GitLab-Pipelines und speichere diese in verschiedenen Versionen (stable, dev-master, tags) in meiner eigenen Container Registry. Im Kubernetes-Cluster lassen sich dann schnell Services aus den Images der Container-Registry initialisieren und starten. So es ist mir möglich, voll automatisiert eigenständige Staging- und Produktiv-Umgebungen aufzubauen und neue Features komfortabel im geschützten Rahmen abnehmen zu lassen. Ein weiter Vorteil für mich ist hier die Möglichkeit zu haben, Container miteinander zu verbinden und einen Zugriff von außen trotzdem zu unterbinden. So ist z. B. die ElasticSearch-Instanz nur vom Web-Container aus erreichbar.
Für das Management meiner Kubernetes-Cluster als Kubernetes-as-a-Service kommt dabei die Open Source Software Rancher zum Einsatz. Rancher fungiert hier als zentrale Steuerungsinstanz und ermöglicht eine benutzerfreundliche Verwaltung und Überwachung der Infrastruktur. Ist mal zu wenig Rechenleistung im Cluster vorhanden, ist eine Skalierung durch das Schalten weiterer Server dank einer API-Schnittstelle easy möglich.
Informationen zu Rancher findest du unter:
rancher.com
Bei der lokalen Entwicklung habe ich in der Vergangenheit einige Systeme und Tools ausprobiert und bin von XAMPP, über Virtualbox, Vagrant mit Puphpet und selbst eingerichtete lokale Entwicklungsumgebungen gewechselt, war aber nie wirklich zufrieden. Entweder war der initiale Aufwand beim Aufsetzen zu hoch oder die Abstriche bei der Flexibilität haben mich einfach sehr gestört. Auf einer TYPO3-Konferenz habe ich dann das Open-Source-Tool DDEV kennengelernt und war sofort begeistert. Um es vorwegzusagen, ich bin immer noch sehr zufrieden und DDEV kommt mittlerweile bei allen meinen Webprojekten zum Einsatz.
Was DDEV für mich so interessant macht, ist besonders die Möglichkeit zu haben, PHP-Projekte mittels CLI mit einem Befehl lauffähig als eigenständige Instanz (gekapselt in Docker-Containern) aufsetzen zu können. Das Hosts-Handling (virtuelle Domains) funktioniert dabei auch voll automatisch ;) Perfekt Zudem ist es sehr einfach, Konfigurationseinstellungen für das Projekt durchzuführen und weitere Services wie z. B. Solr, ElasticSearch, Redis oder Memcached aufzusetzen. Ein weiterer Pluspunkt liegt in der xDebug-, Mailhog- und PHPMyAdmin-Integration, sowie der Optiondie PHP-Version, Webserver und Datenbanksystem wechseln zu können. Auf Wunsch kümmert sich DDEV auch um einen Reverse Proxy ins World Wide Web. Also alles sehr komfortabel und ein echt guter Startpunkt, um schnell mit dem Entwickeln loslegen zu können. Insbesondere bei der Entwicklung von TYPO3-Websites hat sich der Umstieg auf DDEV für mich mehr als bezahlt gemacht und ich würde es auch jedem anderen TYPO3- oder PHP-Entwickler empfehlen, mal einen Blick auf DDEV zu werfen.
Weitere Informationen zu DDEV findest du unter:
ddev.com
Die Heimat von ... Docker
Informationen zu Docker lassen sich doch am Besten an offizieller Stelle finden.
www.docker.comMeine Links zu Docker
Einige lesenswerte Ressourcen, die mir bei beim Einsatz von Docker geholfen haben.
Passend zu Docker
Folgende Technologien & Methoden könnten dich auch interessieren ...