© Excellent backgrounds/Shutterstock.com
Teil 1: Cloud-Foundry-Architektur und Hello-World-App

So wird die App cloudy


In diesem Artikel diskutiere ich, warum die Platform-as-a-Service-Lösung Cloud Foundry ein Gewinn für die moderne Softwareentwicklung ist. Außerdem gebe ich eine Übersicht über die Architektur von Cloud Foundry und zeige, wie man mithilfe von Spring Boot eine erste Cloud-App entwickeln kann.

Artikelserie

Teil 1: Cloud-Foundry-Architektur und Hello-World-App

Teil 2: Cloud Foundry Services

Die Welt der Softwareentwicklung hat sich in den letzten zehn Jahren rasant weiterentwickelt. Erfolgreiche Unternehmen bringen ihre Onlineservices zügig auf den Markt, und Änderungen an den Services gehen so schnell live, dass der Benutzer gar nicht mehr alle neuen Releases bemerkt. Hierfür ist zum einen eine flexible, automatisierbare Infrastruktur nötig, wie wir sie von Amazon oder anderen IaaS-(Infrastructure-as-a-Service-)Providern kennen. Es braucht aber auch eine leichtgewichtige und flexible Applikationsentwicklung. Diese kann durch agile Methoden erreicht werden, dazu gehört z. B. Continuous Integration, also automatische Tests, die schnell Feedback zu Änderungen an der Software geben, und auch Continuous Delivery, der automatische Auslieferungsprozess, der regelmäßige Go-lives von kleinen Releases erlaubt.

Aber wie kommen wir zu einem schnellen Projekt-Set-up, Continuous Integration und Delivery? Da wir unsere Flexibilität und Schnelligkeit bei großen, monolithischen Applikationen verlieren, wollen wir lieber mehrere kleine, funktional entkoppelte Apps schreiben. Wir zielen vorzugsweise auf eine serviceorientierte oder sogar eine Microservices-Architektur ab. Aber für jede App müssen wir CI-, Test- und Produktionssysteme aufsetzen. Jedes System braucht ein OS, eine JVM, einen Webserver, Logging- und Monitoring-Integration. Da wir lieber mehrere entkoppelte Apps anstatt einer großen implementieren wollen, werden wir entsprechend ein Vielfaches an Systemen brauchen. Der Betrieb dieser Vielzahl an Systemen kann aufwändig werden, sodass wir Continuous Delivery nie erreichen oder sich die Aufteilung in mehrere Apps nicht lohnt.

Platform as a Service als erster Schritt

Ein erster Schritt, um unser Projekt-Set-up und unseren Betrieb in den Griff zu kriegen, wäre so etwas wie Docker [1]. Über unsere IaaS kommen wir flexibel zu Infrastruktur, über Docker Images können wir unseren Stack vom JDK bis zu der App verwalten und ausrollen. Trotzdem müssen wir uns noch um zu viel kümmern, das über die eigentliche Entwicklung hinausgeht:

  • Ausrollen von Docker Images auf virtuell...

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