Microservice-Deployment ganz einfach ohne Docker mit der Linux-Paketverwaltung

In den letzten Artikeln der Serie “Microservice-Deployment ganz einfach” haben wir uns vorwiegend mit Werkzeugen beschäftigt, die auf dem Deployment-Werkzeug Docker aufbauen. In dem Artikel “Microservice-Deployment ganz einfach mit Giant Swarm” wurden die ersten Erfahrungen mit der PaaS-Lösung Giant Swarm beschrieben. In dem Artikel “Microservice-Deployment ganz einfach mit Kubernetes” wurde vorgestellt, wie man mit Kubernetes einen Cluster zum Betrieb von Docker-Containern aufbauen kann. Dass auch der Betrieb einer Microservice-Anwendung auf einem einzelnen Rechner kein Problem ist, habe ich in dem Artikel “Microservice-Deployment ganz einfach mit Docker Compose” gezeigt.

Auch wenn Docker den Betrieb von Microservice-Anwendungen stark vereinfacht, ist es nicht zwingend nötig, Docker für das Deployment von Microservice-Anwendungen zu verwenden. Die meisten Linux-Distributionen verfügen über eine komfortable Software-Paketverwaltung, die auch zum Deployment von Microservice-Anwendungen benutzt werden kann. Wie in einem Docker-Container sollten in einem Linux-Paket alle notwendigen Dateien enthalten sein, um eine Anwendung auf einem Rechner ausführen zu können.

weiterlesen

Bernd Zuther

Microservice-Deployment ganz einfach mit Docker Compose

In dem Artikel “Microservice-Deployment ganz einfach mit Giant Swarm” habe ich die PaaS-Lösung Giant Swarm als Rundum-sorglos-Paket für das Deployment von Microservice-Anwendungen vorgestellt. In einem weiteren Artikel “Microservice-Deployment ganz einfach mit Kubernetes” habe ich vorgestellt, wie man mit Kubernetes einen Cluster aus Docker-Containern aufbauen kann. Heute möchte ich vorstellen, wie man eine Microservice-Anwendung mit Docker-Bordmitteln aufbauen kann, um eine Microservice-Anwendung auf einem Entwicklerrechner oder einer AWS-Instanz zu betreiben, was sehr praktisch ist, wenn man schnell eine Produktpräsentation oder einem Integrationstest durchführen möchte.

Docker baut ein internes Netzwerk für alle Container auf, in dem jeder Container eine eigene IP-Adresse bekommt. Die IP-Adresse kann mit docker inspect angezeigt werden. Um die verschiedenen Container miteinander zu verlinken, wird Port-Mapping eingesetzt. Das Linking-System von Docker ermöglicht es beliebig viele Container miteinander zu verlinken. Wenn Container miteinander verbunden sind, setzt Docker entsprechende Umgebungsvariablen in den Zielcontainern. In diesen sind IP-Adressen und Ports der anderen Containern enthalten. Wie das aussieht, kann man im folgenden Listing sehen:

weiterlesen

Bernd Zuther

Microservice-Deployment ganz einfach mit Kubernetes

Im meinem letzten Artikel “Microservice-Deployment ganz einfach mit Giant Swarm” habe ich die PaaS-Lösung Giant Swarm als Rundum-sorglos-Paket für das Deployment von Microservice-Anwendungen vorgestellt. Mit Giant Swarm kann man die komplette Kontrolle von der Bereitstellung bis zur Verwaltung der Hardware und den Betrieb der Microservice-Anwendung abgegeben und braucht sich nicht mehr selbst um Infrastruktur-Aspekte zu kümmern.

Möchte man sich eine eigene Cloud mit eigener Hardware aufbauen, weil seine Daten nicht in die öffentliche Cloud gelangen dürfen, aber trotzdem ähnlich mit der Cloud arbeiten können, wie mit Giant Swarm empfiehlt es sich ein Clustermanagementwerkzeug zu benutzen. Ein solches Clustermanagementwerkzeug ist Kubernetes (griech. Steuermann). Kubernetes wird von Google entwickelt und ist ähnlich wie Giant Swarm für das Betreiben von Microservice-Anwendungen gedacht, die aus mehreren Container bestehen und über mehre Rechner hinweg laufen. Kubernetes stellt unter anderen Funktionalitäten bereit, um Anwendungen auszuliefern, zu betreiben und zu skalieren.

weiterlesen

Bernd Zuther