Cloud-Größen wie Google, Twitter und Netflix haben die Kernbausteine ihrer Infrastruktur quelloffen verfügbar gemacht. Das Resultat aus vielen Jahren Cloud-Erfahrung ist nun frei zugänglich, und jeder kann seine eigenen Cloud-nativen Anwendungen entwickeln – Anwendungen, die in der Cloud zuverlässig laufen und fast beliebig skalieren. Die einzelnen Bausteine wachsen zu einem großen Ganzen zusammen, dem Cloud Native Stack.
In dieser Session stellen wir die wichtigsten Konzepte und Schlüsseltechnologien vor und bringen dann eine Spring-Cloud-basierte Beispielanwendung schrittweise auf Kubernetes und DC/OS zum Laufen. Dabei diskutieren wir verschiedene praktikable Architekturalternativen.
Vorkenntnisse
Grundlegende Programmierkenntnisse sind Voraussetzung für das Verständnis der gezeigten Codebeispiele. Begriffe wie REST, Microservices, Service Discovery und Docker sollten keine Fremdworte sein, Vorkenntnisse und Erfahrungen mit diesen Technologien werden jedoch nicht zwingenden vorausgesetzt.
Lernziele
* Ein gesamthafter Blick auf den Aufbau, die wichtigsten Konzepte und Schlüssel-Technologien des Cloud Native Stack
* Detaillierte Betrachtung der Funktionsweise von Kubernetes und DC/OS als Cluster-Manager
* Paketierung, Containerisierung, Deployment, Betrieb und Skalierung am Beispiel einer Spring-Cloud-basierten Showcase-Anwendung
* Verschiedene praktikable Architekturalternativen für Cloud-native Anwendungen
//
Mario-Leander Reimer
@LeanderReimer
ist Cheftechnologe bei der QAware. Er ist Spezialist für den Entwurf und die Umsetzung von komplexen System- und Softwarearchitekturen auf Basis von Open-Source-Technologien. Als Mitglied im Java Community Process (JCP) ist sein Ziel, die Java-Plattform weiter zu verbessern und praxistaugliche Spezifikationen zu entwickeln.
//
Dr. Josef Adersberger
@adersberger
ist technischer Geschäftsführer der QAware GmbH, einem IT-Projekthaus mit Schwerpunkt auf Cloud-native Anwendungen und Software-Sanierung. Er hält seit mehr als zehn Jahren Vorlesungen und publiziert zu Themen des Software Engineering, aktuell insbesondere zu Cloud Computing.