Neo Tech Blog

NEO TECH LBLOG - Praxis-Techblog für IT, Web und Mobile
Automatisierung mit Docker

Mit Docker und DevOps von Continuous Integration zu Continuous Delivery

Keine Kommentare

Ein Ziel von DevOps ist die weitestgehende Automatisierung aller beteiligten technischen und damit auch die Vereinfachung und Unterstützung der organisatorischen Prozesse. Hierbei kommen seitens der Entwicklung „Continuous Integration Plattformen“ und seitens des Betriebs „Provisioning- und Deployment-Tools“ zum Einsatz. Docker ermöglicht es, diese beiden Stränge der Automatisierung effektiv miteinander zu verbinden und Continuous Delivery zu erreichen.

Auf Seiten der Entwicklung kommen Continuous Integration (CI) Plattformen zum Einsatz – eine meist webbasierte „Steuerzentrale“ zur Automatisierung der Build- und Test-Prozesse. Hier werden bei Änderungen am Programmcode Software-Builds automatisiert angestoßen, welche statische Code-Analysen sowie Unit- und Integrations-Tests ausführen und installierbare Pakete bereitstellen. Außerdem werden wiederkehrende Aufgaben wie Security-Tests, Lasttests, User Acceptance Tests sowie Deployments auf Test-Systeme automatisiert und für alle sichtbar gebündelt. Change- und Patch-Management, welches zuvor in der Live-Umgebung realisiert wurde, wird ebenfalls Teil des Continuous Integration Prozesses.

Automatisierung von Provisioning- und Depolyment-Aufgaben

Auf Seiten des Betriebs werden mit Hilfe von Werkzeugen wie Puppet, Ansible, Chef oder anderen alternativen Tools sämtliche Provisioning- und Deployment-Aufgaben automatisiert. Bei den genannten Aufgaben in der Continuous-Integration (CI) werden von Anfang an Docker-Images als Ergänzung bzw. Ersatz für die erwähnten Software-Pakete erzeugt. Diese Images bilden dann sowohl die Grundlage für die Test-Automatisierung als auch für das Deployment bis hin zur Live-Stage.

Der Software-Build in der CI erzeugt mittels der aus dem Betrieb bekannten Werkzeuge automatisiert Docker Images, welche auf Test-Umgebungen deployed werden. Hier werden die resultierenden, installierten Container als Grundlage für alle
nötigen Tests genutzt. Die selben Images werden, wenn sie erfolgreich alle Tests durchlaufen haben, bis hin zur Live-Umgebung für das Deployment genutzt.

Auf diese Art und Weise werden neben der Software auch alle Deployment-Automatismen, Daten-Migrationen und Konfigurations-Änderungen im Continuous-Integration System “mitgetestet”. Die CI-Plattform dient somit zusammen mit dem
Einsatz von Docker als Kernstück der gesamten Automatisierungskette für die Implementierung von Continuous Delivery.

 

In unserem kostenfreien Whitepaper geben wir Ihnen eine Praxisanleitung, wie Sie mit DevOps und Docker eine agile Softwarearchitektur aufbauen und die Softwareentwicklung als auch den Betrieb beschleunigen können und zukunftsfähig gestalten.

Jetzt Whitepaper „Mit DevOps und Docker durchstarten“ kostenfrei downloaden.

 

Docker Workshop für Einsteiger: Unter dem Titel „Von der Installation bis zur Automatisierung“ geben wir einen ganztägigen Docker Workshop bei dem die Teilnehmer Docker installieren, Images erzeugen und mehr zu Vernetzung, Composing und Orchestrierung der Container erfahren. Termine in Berlin, Hamburg, Köln und Frankfurt am Main: Jetzt zum Docker Workshop anmelden.

Zurück zu Teil 1: Mit DevOps und Docker durchstarten

 

André Hirsinger

Autor: André Hirsinger

André Hirsinger ist Technical Chief of Application Service Providing bei Neofonie und beschäftigt sich gerne mit neuen Technologien, die den Betrieb der Software vereinfachen und automatisieren. Die Container Technologie Docker ist aus seiner Sicht ein hervorragendes Werkzeug dafür.

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.