Docker und DevOps | Von Continuous Integration zu Continuous Delivery

Docker und DevOps | Von Continuous Integration zu Continuous Delivery

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.
YouTube

Mit dem Laden des Videos akzeptieren Sie die Datenschutzerklärung von YouTube.
Mehr erfahren

Video laden

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 Deployment-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.

DevOps beschleunigt die Softwareentwicklung

YouTube

Mit dem Laden des Videos akzeptieren Sie die Datenschutzerklärung von YouTube.
Mehr erfahren

Video laden

DevOps verkürzt den Softwareentwicklungsprozess durch die zielgerichtete, direkte Zusammenarbeit von Entwicklung (Dev) und Betrieb (Ops) mit dem Ziel der schnellen Auslieferung neuer Features und von Bug-Fixes in hoher Qualität.In der “klassischen” Softwareentwicklung durchläuft eine Software von der Implementierung eines Features bis zum Deployment auf dem Live-System viele Prozessschritte. Dabei gibt es eine technische und organisatorische Grenze zwischen Entwicklung und Betrieb. Zur Überwindung dieser Grenze soll durch Test- und Abnahme-Prozesse ein hoher Reifegrad der Software für den Betrieb sichergestellt werden. Danach sind Störungen im Betrieb Ausnahmen und werden im Rahmen eines Incident-Management behandelt.

Durch diese Art der Organisation ist der Weg von einer “Störung” bis hin zur Behebung des zugrunde liegenden Problems in der Software weit.

Mit DevOps rücken die Entwicklung und die dort genutzten Deployment-Methoden für Entwicklungs- und Test-Systeme näher an den Live-Betrieb heran. Die Zeit zur Behebung von Störungen bzw. der Impact durch Rollouts wird dadurch minimiert, dass der Reifegrad der Software schon während der Entwicklung durch die Benutzung der gleichen Werkzeuge und Techniken inhärent erreicht wird.

Mit DevOps wachsen Entwicklung, QA und IT-Betrieb zusammen

Kundenanforderungen können auf diese Weise schneller umgesetzt werden. Gleichzeitig sinkt die Zahl der Incidents und damit der Ressourceneinsatz. Die verbleibenden Incidents lassen sich aufgrund des hohen Automatisierungsgrades leichter nachvollziehen und reproduzieren. Eine Menge Gründe, die dafür sprechen, den bisherigen Softwareentwicklungsprozess zu überdenken.

DevOps heißt Veränderung

Unabdingbar für die Einführung von DevOps ist die Bereitschaft aller Beteiligten, bestehende Prozesse und Strukturen verändern zu wollen. Gegenseitiges Vertrauen und die gemeinsame Übernahme der Verantwortung für alle Prozesse durch Dev und Ops sind Grundvoraussetzungen für den erfolgreichen Transformationsprozess von klassischen hin zu agilen Prozessen.

“Grass Roots”-Bewegungen sind in diesem Bereich deutlich weniger erfolgreich als die Einführung von DevOps „von oben“. Insofern ist es notwendig, dass das Management hinter der DevOps Einführung steht, plant und forciert:

  1. Das erste DevOps-Projekt sollte dedizierte Ressourcen zugewiesen bekommen und das Team ausreichend Zeit für die Umsetzung.
  2. Bestehende Tasks, Bug-Fixes und Rollouts sollten die Einführung von DevOps nicht ausbremsen. Schließlich sollen durch den neuen Ansatz genau diese Tasks schneller und einfacher umgesetzt werden. Eine Priorisierung sollte also im Zweifel in Richtung DevOps-Umsetzung vorgenommen werden.
  3. Wie jede Änderung braucht auch ein neuer Deployment-Ansatz Unterstützung von anderen Abteilungen. Je mehr Rückendeckung und Zustimmung im Unternehmen existiert desto besser. Das kann man aber nur durch gute Kommunikation erreichen.
  4. Das Projekt sollte schrittweise geplant und angegangen werden. Kleine Erfolge sollten über das Team hinaus kommuniziert werden, um das gemeinsame Verständnis und den Know-how Transfer sicherzustellen.

Mit Docker-Containern verpackt

Im vorliegenden Szenario verpacken wir die Anwendungen in sog. Docker Container, wodurch die Anwendungen separiert und vom Betriebssystem isoliert werden. Jedoch ist Docker nicht in der Lage die IP-Adressen interdependenter Dienste selbständig aufzulösen und zu aktualisieren. Aber genau das wäre nötig, wenn ein Service ausfällt oder neu gestartet wird. Unser Ziel sind Container, die bei jedem Start und im laufenden Betrieb die IPs aller abhängigen Anwendungen und Dienste automatisiert aktualisieren. Hierfür setzen wir Consul ein.

Consul als DNS-Server

Alle verfügbaren Dienste in einer bestimmten Umgebung werden von der Consul Service Registry verwaltet, die selbst ebenfalls in einen Container gepackt ist und sich problemlos in jeder Umgebung starten lässt.  Die übrigen Container in der Umgebung enthalten jeweils einen sog. “Consul Agent”, die sich beim Start mit der Consul Registry verbinden. Durch Abfrage der Consul API können sich unsere Dienste nun gegenseitig finden. Hierbei setzen wir Consul als voll funktionsfähigen DNS-Server ein, um eine vollständige Kontrolle über die Auflösung aller Dienste zu haben.

Alle verfügbaren Dienste in einer bestimmten Umgebung werden von der Consul Service Registry verwaltet, die selbst ebenfalls in einen Container gepackt ist und sich problemlos in jeder Umgebung starten lässt. Die übrigen Container in der Umgebung enthalten jeweils einen sog. “Consul Agent”, die sich beim Start mit der Consul Registry verbinden. Durch Abfrage der Consul API können sich unsere Dienste nun gegenseitig finden. Hierbei setzen wir Consul als voll funktionsfähigen DNS-Server ein, um eine vollständige Kontrolle über die Auflösung aller Dienste zu haben.

Veröffentlicht am 14. Oktober 2015, aktualisiert am 18. Oktober 2020

Teilen auf
Andre Hirsinger

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.

Managed Hosting mit mpex für maximale Sicherheit

Die Managed Hosting Lösungen unseres Partner mpex sorgen mit maximaler Sicherheit für beste Ergebnisse im Deployment und Betrieb von Neofonie und unser Kunden.

Core Web Vitals und deren Auswirkung auf die Webentwicklung

Mit der Einführung der Core Web Vitals Mitte Juni 2021 als zusätzliche Rankingfaktoren kommen auf die Webentwicklung neue Herausforderungen zu.

Geburtstagsverlosung bei ION ONE

ION ONE begeistert bereits seit einem Jahr seine Kunden. Feiern Sie das heutige Jubiläum mit und gewinnen Sie einen kostenfreien Workshop Ihrer Wahl.

Fussball_2021

Social Analytics zur UEFA EURO 2020

Wie wird über die spannendsten Ereignisse vor, während und nach den Spielen in den sozialen Netzwerken zur EURO 2020 gesprochen – eine Social Media Analyse von ontolux.

Sinnbild für Online Shopping

Warum eine goldstandard-basierte Evaluation?

Zur diesjährigen MICES trifft sich die E-Commerce-Suchgemeinschaft, um neueste Trends zu diskutieren. Mit dabei sind Cornelia Werk und Bertram Sändig von ontolux, die anhand von Kundenprojekten die Vorteile einer goldstandard-basierten Evaluation vorstellt.

amor_device_700

amor.de auf Shopware 6

Seit über 40 Jahren vertreibt Amor Echtschmuck und ist Europas Marktführer im mittleren Preissegment. Mit der Konzeption und Umsetzung des neuen Onlineshop hat der Schmuckhersteller Neofonie beauftragt.

DigitalHealthcare_Neofonie

Ausbau der Digitalisierung im Gesundheitswesen

Mit dem kürzlich beschlossenen Digitale-Versorgung-und-Pflege-Modernisierungsgesetz (DVPMG) verabschiedet der Bund bereits das dritte Gesetz, um die Digitalisierung im Gesundheitsmarkt voranzutreiben. Für die Vernetzung aller Beteiligten im Markt gestaltet Neofonie die Gesundheitstechnik von morgen aktiv mit und unterstützt Unternehmen, bei der Entwicklung von E-Health Lösungen.

Mit UX-Design die Customer Experience im Onlineshop beeinflussen

In der Videoreihe der media.net berlinbrandenburg zum Thema Customer Experience im E-Commerce, gibt Axel Hillebrand, UX Consultant von ION ONE, wertvolle Tipps, wie eine gute Usability und ein ausgefeiltes UX-Design Nutzer begeistert und so Ihre Conversion positiv beeinflusst.

Digitalen Wandel mit Managed IT-Services gestalten

Die stets an Komplexität gewinnenden Web- und E-Commerce-Projekte erfordern auf allen Ebenen ein Höchstmaß an Leistung, Sicherheit und Zuverlässigkeit. Bei diesen hohen Anforderungen wird Neofonie bereits seit 2004 durch das Berliner Hostingunternehmen mpex in allen Belangen des Betriebs unterstützt.

Digitales Recruiting – mit neuen Strategien gewappnet für die Zukunft

Celina Martin, HR-Managerin bei Neofonie Mobile war bei Digital Bash HR zu Gast und diskutierte mit HR-Experten zum Thema Digitales Recruiting in 2021 und gab Einblicke in HR-Strategien der Neofonie Mobile. Candidate Experience ist besonders wichtig im digitalen Wandel des Recruitings.

Container wird hochgehoben

Docker-Container als ideales Software-Transportmittel

Webprojekte werden immer komplexer und die Halbwertszeit der Technologien, die dabei zum Einsatz kommen, werden immer kürzer. Für die Softwareentwicklung ist die Containertechnologie von Docker ein ideales Transportmittel.

Corona-Reise-Check auf Shortlist für Deutschen Digital Award

In der Kategorie „Digital for Goods“ ist der Corona-Reise-Check des Wort & Bild Verlages für den Deutschen Digital Award 2021 nominiert. Der Bundesverband Digitale Wirtschaft e.V. hat in einer Shortlist die Vorauswahl getroffen.

Corona-Reise-Check-Preview

Neofonie entwickelt Corona Reise-Check App

Die Covid-19 Pandemie verursacht u.a. im Bereich Reisen große Verunsicherung. Die Corona-Reise-Check-App begegnet der Unsicherheit mit Transparenz.

EHealth_news

Neofonie weitet Fokus auf E-Health-Bereich aus

Als neues Verbandsmitglied der VerDiGes setzt die Berliner Digitalagentur Neofonie einen neuen unternehmerisch-strategischen Schwerpunkt im E-Health Umfeld und positioniert sich damit noch klarer als Full-Service Technologiedienstleister im Gesundheitsmarkt.

ION ONE: UX-Workshop für Food-Branche

Die UX-Agentur ION ONE unterstützt Unternehmen aus der Lebensmittelbranche mit einem kostenfreien UX-Workshop dabei, ihre Produkte authentisch und emotionalisierend zu inszenieren, um Nutzer zu begeistern und zum Kauf anzuregen.

Textmining_ontolux_NER

Neue Legal NER Komponente in TXTWerk

Mithilfe von Legal NER können juristische Textbausteine, beispielsweise Paragrafen, erkannt und automatisiert extrahiert werden. So lassen sich Texte in den Bereichen Steuern, Finanzen und Recht strukturieren und für die maschinelle Weiterverarbeitung aufbereiten.

Berliner Wirtschaft: Per Klick zum Onlinehändler

Die „Berliner Wirtschaft“ betrachtet die Berliner Agenturlandschaft unter dem Aspekt der gestiegene Nachfrage an E-Commerce Lösungen in der Corona-Krise. Thomas Kitlitschko, Geschäftsführer von Neofonie, liefert Einblicke.

ontolux Logo

Neofonie gründet KI-Agentur ontolux

Neofonie verkündet den Start einer neuen KI-Agentur, die sich den Themen Text Mining, Suche und Natural Language Processing verschrieben hat. Die langjährige Forschungs- und Projektkompetenz wird ab sofort in der eigenständigen Marke ontolux gebündelt.

wir-liefern-org Screen

wir-liefern.org erhält intelligente Suche

Neofonie unterstützt wir-liefern.org mit der kostenfreien Bereitstellung des Textanalyse Frameworks TXTWerk. Das Tool verbessert die Suche zur Auffindbarkeit lokaler Geschäfte.

WorldUsabilityDay_Newsbox

World Usability Day: Suche als echtes Erlebnis

Der World Usability Day vereint Design, Usability, IT und AI in einem Event und präsentiert am 12. November 2020 neueste Trends einem bundesweiten Publikum. Cornelia Werk von Neofonie stellt eine intelligente Suche als echtes Erlebnis vor.

Unser Newsletter „Neo Report“ vermittelt konkretes Praxiswissen, Trends und Know-how für Ihr digitales Business – quartalsweise und kompakt. Jetzt anmelden.