Aus Sicht des Business führt kein Weg mehr an der Cloud vorbei. Das stellt Entwickler vor Herausforderungen. Ein Webcast der Computerwoche gibt Tipps aus der Praxis. Der Schlüssel liegt in JEE, Kubernetes, Eclipse Microprofile und Istio. Niklas Heidloff, Senior Developer Advocate bei IBM Deutschland, und sein Kollege Harald Uebele erklären, wie sich neueste Technologien beim Entwickeln Cloud-nativer Anwendungen nutzen lassen. Oliver Janzen von der Computerwoche moderiert den Webcast.
Bevor es in die Präsentation geht, lässt Janzen erst einmal die Webcast-Nutzer sprechen. "Inwieweit nutzt ihr Unternehmen Cloud-native Applications?", will er wissen. Eine relative Mehrheit von 46 Prozent fangen gerade damit an, bei einer Minderheit von zehn Prozent sind alle Neuentwicklungen Cloud-native. Die verbleibenden 44 Prozent haben noch nicht begonnen.
Typischerweise setzen die Anwender JEE (62 Prozent) und Kubernetes (53 Prozent) ein. Für Heidloff nicht überraschend: "Kubernetes ist ein De-Facto-Standard", kommentiert er. Weniger verbreitet sind bisher Ecplipse Microprofile mit zwölf und Istio mit sechs Prozent. Aus diesen Komponenten besteht der Technologie-Stack, den Heidloff und Uebele nutzen. Den bisherigen Durchdringungsgrad in den Unternehmen sieht Uebele "in der Transition von bleeding edge zu leading edge".
Hohe Elastizität und Continuous Delivery
Heidloff stellt zunächst einmal klar, was der Begriff Cloud-Native NICHT meint: bestehende Anwendungen in eine Virtualisierungsmaschine zu packen und die Cloud zu verschieben nämlich. Echte Cloud-native Apps zeichnen sich durch eine hohe Elastizität - die Anwendungen bleiben responsiv - und durch Continuous Delivery aus. "Dadurch entstehen ganz neue Optionen", so der Developer Advocate.
Typisch ist das Herunterbrechen komplexer Anwendungen in einzelne Services. Die Frage, wie diese Services miteinander kommunizieren, löst IBM über REST APIs. Großer Vorteil: Man schreibt Applicationen einmal und kann sie auf verschiedenen Plattformen betreiben. Dabei empfiehlt Uebele: "Benutzt die Plattform, wo immer es möglich ist. Nutzt Frameworks für App-spezifische Funktionen!"
IBM geht nach drei Drei Design-Prinzipien vor: Erstens die Verwendung von Open Source-Komponenten für die Kern-Services, zweitens die möglichst einfache Gestaltung der "First Time-Experience". Drittens muss die Anwendung in verschiedenen Umgebungen laufen können.
Eine weitere Umfrage unter den Webcast-Zuschauern zeigt: Gut zwei von Dreien (64 Prozent) erwarten von dem vorgestellten Technologiestack vor allem in puncto Resilienz Vorteile. Jeweils rund 30 Prozent versprechen sich außerdem Pluspunkte bei Observability, Traffic Management, Authentifizierung und Authorisierung.
Cloud-native wird nicht "alle Probleme der Welt lösen"
Heidloff und Uebele betonen: "Es wird ja nicht alles Cloud-native werden, es wird auch noch die traditionelle Entwicklung geben." Sie verstehen Cloud-native nicht als "das eine Tool, das alle Probleme der Welt lösen wird".
Doch die Entwicklung geht in diese Richtung. Wer das von IBM entwickelte Beispiel durchgehen will, klickt Github.com/IBM/Cloud-native-starter an. "Hier kann man das mal ausprobieren, dauert etwa eine Stunde", so Uebele. Heidloff ergänzt: "Wir zeigen wirklich, wie man die Technologien zusammen benutzt, das ist das besondere an dem Projekt." Da kann Moderator Janzen nur seufzen: "Ihr habt echt einen coolen Job…"