Komponenten und Prinzipien für den Betrieb von Cloud-Native-Applikationen zu Hause

Physische und virtuelle Hardware

  1. Ein Server wird benötigt: CPU, Memory, Storage, Netzwerk
  2. Mittels Virtualisierung wird aus einem physischen Server eine Flotte von virtuellen Servern.
  3. Zum Betrieb der Netzwerk-Infrastruktur wird eine Firewall benötigt, die ein paar zusätzliche Dienste bereitstellt.
  4. Für die virtuellen Maschinen wird ein Linux-OS benötigt, welches im Betrieb wenig Pflegeaufwand bedarf.
  5. Ein standardisiertes Layout der Linux-VMs ist die Grundlage für die weiteren Ebenen.

Grundlagen für den Betrieb von virtualisierten Anwendungen

  1. Zum Betrieb von containerisierten Anwendungen braucht man eine Kubernetes-Distribution.
  2. Folgende Netzwerkdienste sind essentiell, damit die Anwendungen von Aussen erreichbar sind:
  • Firewall- und Port-Freischaltungen im Internet-Access-Router
  • Ein Dynamic-DNS-Client, der die wechselnde, externe IP-Adresse im DNS des Internets aktualisiert.
  • Ein Load-Balancer, der die Datenpakete der ankommenden Service-Requests an den Ingress-Router schickt.
    • Je nach Technik des Load-Balancers: eine Menge freier, reservierter IP-Adressen im DMZ-Netzwerk
  • Ein Ingress-Router, der TLS-Terminierung durchführt und die Datenpakete aufgrund von Regeln an die richtigen Container weiterleitet.

Dienste zum Betrieb von Web-Anwendungen

  1. Für die Erstellung des Technik-Blogs wird ein Static-Site-Generator benutzt, der Markdown-Dateien in fertige HTML-Seiten übersetzt.
  2. Zum Ausliefern der HMTL-Seiten wird ein Web-Server benötigt.