© Olga_i/Shutterstock.com
Effiziente Cloud-Entwicklung mit Open-Source-Tools

Vom toten Pferd absteigen …


Die Aufgaben eines Programmierers zur Erstellung von Cloud-native-Anwendungen sind durch die veränderte Laufzeitumgebung vielfältiger, als es bei klassischen Umgebungen bisher der Fall war. In diesem Artikel wird gezeigt, wie man sich das Leben als Cloud-Entwickler erleichtern kann.

Damit eine Anwendung in Kubernetes betrieben werden kann, muss sie vorher als Docker Image paketiert werden, um sie anschließend in Kubernetes deployen zu können. Für das Kubernetes Deployment sind verschiedene Manifest-Dateien notwendig, mit denen die erforderlichen Kubernetes-Objekte angelegt werden. Erst jetzt kann mit dem Test der Anwendung in der Cloud-Umgebung begonnen werden. Bei Bugs oder neuen Features der Anwendung wiederholt sich dieser Kreislauf.

In den letzten Jahren ist eine Menge an Open-Source-Tools entstanden, die einem die Arbeit als Cloud-Entwickler erleichtern sollen. Einige dieser Tools wurden leider bereits wieder eingestellt. Um nun einen hilfreichen Mix an Tools zu finden, wird dieser Artikel die einzelnen Teilschritte aufgreifen und anhand exemplarisch ausgewählter Tools zeigen, wie man sich das Leben als Cloud-Entwickler komfortabler gestalten kann. Dabei steht die prototypische Entwicklung einer neuen Cloud-Anwendung im Vordergrund, d. h. es wird auf eine passenden CI/CD-Pipeline verzichtet. Was aber nicht bedeuten soll, dass eine solche Pipeline nicht notwendig wäre. Fast alle der vorgestellten Tools können ebenso gut in einer CI/CD-Pipeline eingesetzt werden, womit sie eine gute Basis für den Aufbau einer entsprechenden Pipeline sein können.

Einzelschritte bei der Cloud-Entwicklung

Der typische Ablauf bei der Entwicklung einer Cloud-native Anwendung besteht aus den folgenden Teilschritten:

  1. Entwicklung der Anwendung

  2. Erstellung des Docker Image

  3. Kubernetes Deployment

  4. Test und Debugging der Anwendung in Kubernetes

Während der Entwicklungsphase wiederholen sich diese Teilschritte zyklisch und fordern vom Entwickler einiges an Wissen und Erfahrung, um die notwendigen Teilergebnisse zu erstellen. Das Aufgabenspektrum reicht dabei von der Erstellung eines sogenannten Dockerfiles, aus dem das Docker Image erstellt werden kann (oder eine proprietäre Form der Definition des gewünschten Docker Image), bis hin zur Erstellung der passenden Kubernetes-Objekte in Form von Manifest-Dateien.

Auch der Betrieb der Anwendung in der Cloud bringt einiges an neuen Anforderungen mit sich, wie beispielsweise das veränderte Routing, die Verwendung von Environment-Variable...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang