Neo Tech Blog

NEO TECH LBLOG - Praxis-Techblog für IT, Web und Mobile
Consul Hashicorp

Microservices: Wie Docker und Consul Entwicklungsprozesse revolutionieren

Keine Kommentare


Microservices sind Anwendungsbausteine, die jeweils für sich genommen funktionieren und entsprechend einzeln angesprochen und deployed werden können. Um die Vielzahl der Microservices orchestrieren zu können, erfreut sich das Service Discovery Tool “Consul” wachsender Beliebtheit. Jan De Cooman von Neofonie zeigt, wie unter Einsatz von Consul und Docker die Entwicklungszeiten signifikant reduziert werden und so Projekte schneller live gehen können. Jan De Cooman arbeitet als Software-Architekt beim Berliner IT-Unternehmen Neofonie und ist Spezialist für Microservices.

Software-Releases durchlaufen in der Regel mehrere Zyklen und Schleifen, bevor Sie “Live” gehen. Zwar ist diese klassische Vorgehensweise der sicherste Weg zur Implementierung der Software, jedoch ist der Prozess fehleranfällig und zeitaufwendig. Wenn dutzende miteinander verbundene Services bereitgestellt werden sollen, wird dieser Prozess unkontrollierbar und übermäßig fehleranfällig.

Mit Docker Containern verpackt

Docker LogoIm 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.

Durch die Verwendung von Consul und Docker konnten wir unseren Entwicklungs- und Bereitstellungsprozess deutlich vereinfachen. Das bedeutet auch, dass es keinen Unterschied mehr zwischen der Testumgebung und Produktion gibt. Dieser Ansatz reduziert die Fehlerquote, erhöht die Effizienz und verkürzt die Deploymentzeiten. Davon profitiert der Entwickler und der Kunde gleichermaßen.

Lesen Sie den vollständigen Artikel auf dem englischsprachigen Blog von Hashicorp, die im Silicon Valley sitzen und Consul kontinuierlich weiterentwickeln.

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, München, Köln und Frankfurt am Main: Jetzt zum Docker Workshop anmelden.

Entwickler Magazin LogoDer vollständige Artikel kann im Entwickler Magazin, gelesen werden.

 

 

Jan De Cooman

Autor: Jan De Cooman

Jan De Cooman arbeitet als Software-Architekt beim Berliner IT-Unternehmen Neofonie. Jan ist Spezialist für die verteilte Programmierung und Microservices.

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.