Einführung Apache Kafka mit Docker und Spring Boot

Apache Kafka ist eine distributed streaming platform – generell heißt das, Apache Kafka unterstützt bei der Erstellung einer Publisher-Subscriber Umgebung in dem Kafka eine Streaming Pipeline zwischen den Teilnehmern aufbaut. Diese Platform erfüllt die Kriterien bezüglich Verteilung, Echtzeitfähigkeit und Zuverlässigkeit.

Diese Einführung betrachtet dabei die Einrichtung von Kafka mit Docker und den gängigsten Anwendungsfällen in Spring Boot realisiert.

[Read More]

ELK Stack im Cluster-Betrieb

Mit dem ELK Stack bekommt man eine abgestimmte Umgebung um Log-Einträge per Logstash abzuholen, diese in Elasticsearch vorzuhalten und dann per Kibana anzuzeigen. Das Aufsetzen des ELK Stack wird mit den Docker Images von Elastic vereinfacht. Um diese jedoch im Cluster zu nutzen müssen ein paar Anpassungen durchgeführt werden, welche hier dargestellt werden.

[Read More]

DevEnv: Docker und Elasticsearch

Docker, eine simple Art seine Umgebung modular und wiederverwendbar aufzubauen. Da ich schrittweise exemplarisch eine ganze Entwicklungsumgebung auf Docker darstellen möchte, stelle ich heute vor, wie man Elasticsearch innerhalb eines eigenen Docker Container zum Einsatz bringt.

[Read More]

DevEnv: Docker und AppServer

Docker ist aktuell in aller Munde und das Ökosystem um Docker wächst kontinuierlich weiter. Somit lohnt sich mal ein genauerer Blick. Ich werde hier schildern, wie ein Docker Image mit einem Application Server erstellt werden kann. Als Application Server werde ich WildFly verwenden, jedoch ist jegliche andere Software denkbar.

Überblick

# This code block gets replaced with the TOC

Im einem Softwareprojekt strebt man an, dass alle Umgebungen (Entwicklung, Integration und Produktion) die selben Systeme, Versionen und Einstellungen besitzen. Dies kann man mit sehr genauen Installations- und Konfigurations-Anleitung bewerkstelligen. Jedoch ist der manuelle Aufwand hoch, genauso auch sehr fehleranfällig. Eine andere Möglichkeit ist es, immer das selbe VM Image zu verwenden. Dies kann einheitlich erstellt werde und dann auf allen Umgebungen verwendet werden. Ein solches VM Image beinhaltet jedoch neben der für das Projekt benötigte Software auch mind. das Betriebssystem. Dieser Sachverhalt verursacht ein verhältnismäßig zu großes Artefakt, was dann auch nicht schnell mal auf einer neuen Umgebung kopiert und bereitgestellt werden kann. Hier kommt dann Docker ins Spiel [1]. Docker kapselt die Software in einem Container und erwartet auf dem Host-System eine Docker Engine um den Container zum Laufen zu bringen. D.h. der Container beinhaltet nur die „projekt-relevanten“ Softwareprodukte. Dieser Container ist leichtgewichtiger als ein komplettes VM Image. Einmal erstellt, können diese Docker Container überall eingesetzt werden können, wo ein Docker Engine zur Verfügung steht – für Windows-User gibt es hier auch eine Lösung ;-).

[Read More]