Public Cloud

Programmieren in der Cloud - so finden Sie die richtige Plattform

22.03.2018 von Wolfgang Herrmann
Public-Cloud-Plattformen für die Softwareentwicklung und -bereitstellung setzen sich auf breiter Front durch. Wer die Vorteile nutzen will, sollte sich nicht nur die Angebote von Cloud-Riesen wie AWS oder Microsoft ansehen.

Entwicklungsplattformen in der Public Cloud bringen Unternehmen viele Vorteile. Sie beschleunigen den Prozess der Softwareentwicklung, stellen moderne Tools zur Verfügung und lassen sich nahezu unbegrenzt skalieren. Auch IT-Teams mit schmalem Budget können von State-of-the-Art-Technologie profitieren, wenn sie statt teure Lizenzen zu kaufen nur für die tatsächliche Nutzung der Dienste bezahlen. Cloud-Provider offerieren Kunden dabei eine Plattform, auf der sie Anwendungen entwickeln, betreiben und verwalten können, ohne sich um die dafür benötigte Infrastruktur kümmern zu müssen.

Lesen Sie dazu auch: Was ist Paas?

Auf Cloud-basierten Development-Plattformen können Unternehmen Anwendungen entwickeln, betreiben und verwalten.
Foto: Bakhtiar Zein - shutterstock.com

Die Auswahl einschlägiger Angebote in den Cloud-Segmenten Infrastructure as a Service (IaaS) und Platform as a Service (PaaS) ist mittlerweile groß und kaum noch überschaubar. Im Markt agieren einerseits die global aktiven Public Cloud Provider mit einem kompletten Stack aus Development- und Infrastruktur-Services. Andererseits buhlen auf Softwarenwicklung spezialisierte Anbieter um die Gunst der IT-Organisationen. Sie abstrahieren von der Infrastruktur-Schicht und konzentrieren sich auf eine besonders effiziente Entwicklung und Auslieferung neuer Anwendungen.

Nach Berechnungen von Forrester Research wächst der Markt für derartige Plattformen jährlich um 35 Prozent. Die schlagenden Argumente für den Einsatz sind längst nicht mehr die vergleichsweise niedrigen Infrastrukturkosten oder die On-Demand-Verfügbarkeit der Dienste. Vielmehr geht es den Unternehmen im Kern darum, schneller auf veränderte Anforderungen reagieren zu können und so den digitalen Wandel voranzutreiben.

Was Cloud-Plattformen für Entwickler leisten

Gängige Cloud-Plattformen verbessern die Produktivität im Entwicklungsprozess mithilfe von Automatisierungsfunktionen und der Abstraktion der benötigten Infrastruktur. Softwareentwickler müssen sich nicht mehr um die Skalierung von Rechen- und Speicherkapazität kümmern. Die Public Cloud-Plattform stellt alle nötigen Dienste über Self-Service-Mechanismen zur Verfügung und unterstützt moderne Verfahren wie Continuous Integration and Deployment sowie kollaborative Ansätze von DevOps-Teams.

Ihre Stärken spielen die Plattformen insbesondere bei der Entwicklung von kundennahen Anwendungen aus. Entwickler schätzen unter anderem die sofortige und globale Verfügbarkeit der Dienste. In Kombination mit einem hohen Sicherheitsniveau erlauben es die Public-Cloud-Plattformen, qualitativ hochwertige Produkte und Services schneller auf den Markt zu bringen. Einem amerikanischen Lebensmitteleinzelhändler gelang es beispielsweise, mithilfe von Automatisierungsfunktionen aus der Public Cloud das Deployment neuer Anwendungen von sechs Wochen auf durchschnittlich zehn Minuten zu verkürzen.

Ein weiterer bedeutender Vorteil mit Blick auf die digitale Transformation liegt in den "Cutting-Edge"-Technologien, die die Cloud Provider zur Verfügung stellen. Entwickler können damit die gleichen Machine-Learning-, Analytics- oder Datenbanktechniken nutzen, die auch die Cloud-Anbieter selbst für ihre eigenen Innovationsprozesse einsetzen.

Public-Cloud-Entwicklungsplattformen: Die wichtigsten Anbieter

Hilfreich bei der Auswahl einer Cloud-Plattform ist eine Übersicht der Forrester-Analysten Dave Bartoletti und John Rymer. Sie segmentieren den Markt nach Jahresumsatz in große (mehr als eine Milliarde Dollar), mittlere (250 Millionen bis eine Milliarde Dollar) und kleine Anbieter (weniger als 250 Millionen Dollar). Zur ersten Gruppe zählen sie die Branchenschwergewichte Amazon Web Services (AWS), Alibaba, Google, IBM, Microsoft und Salesforce. Im mittleren Segment finden sich Oracle, SAP und Tencent. Hinzu kommen die kleineren Player CenturyLink, Huawei, Jelastic, Joynet, Pivotal, Rancher Labs und Red Hat.

Die Forrester Experten unterscheiden drei Funktionsbereiche der Plattformen, in denen die Anbieter jeweils ihre Stärken haben:

Dazu gehören umfassende Kontrollmöglichkeiten über Anwendungsarchitekturen einschließlich der Konfiguration grundlegender Compute-, Storage- und Netzwerk-Services. Neben solchen IaaS-Features stellen Full-Stack-Plattformen eine Reihe weiterer Dienste bereit, darunter Laufzeitumgebungen für Anwendungen, die in unterschiedlichen Programmiersprachen geschrieben wurden, DevOps Toolchains, Datenbank- und Analytics-Dienste. Hinzu kommen neuere Features wie Container as a Service (CaaS) und Functions as a Service (FaaS) für den Bereich Serverless Computing. Die führenden Anbieter solcher umfassenden Plattformen sind AWS und Microsoft.

Einschlägige Provider konzentrieren sich häufig auf das Cloud-Segment Platform as a Service. Sie hosten ihre Dienste entweder auf eigener Infrastruktur oder nehmen dafür Dienste anderer Provider in Anspruch. Vor allem für Entwickler, die mit mehreren verschiedenen Laufzeitumgebungen arbeiten, können Plattformen dieser Kategorie interessant sein. Auch sie stellen Kernelemente für eine moderne Softwareentwicklung bereit, beispielsweise DevOps Toolchains, Analytics-Dienste sowie CaaS und in jüngster Zeit auch FaaS. Forrester hebt an dieser Stelle Salesforce Heroku und Pivotal Webservices als Beispiele hervor.

Die meisten Low-Code-Entwicklungsplattformen stehen in Form von Public Cloud Services zur Verfügung. Ähnlich wie bei Development-only-Plattformen müssen sich Entwickler auch hier nicht mit der Konfiguration von Compute-, Storage- und Netzwerkressourcen aufhalten. Statt klassischem Programm-Code nutzen sie bei dieser Variante aber deklarative und visuelle Entwicklungs-Tools. Auf diese Weise könnten beispielsweise auch Mitarbeiter aus Fachabteilungen eigene Anwendungen erstellen, ohne in die Tiefen einschlägiger Programmiersprachen eintauchen zu müssen. Bekannte Beispiele für Low-Code-Plattformen sind Appians, Mendix und OutSystems.

Low-Code-Plattformen wie Mendix arbeiten mit deklarativen und visuellen Tools für die Softwareentwicklung.
Foto: Mendix

Tipps zur Auswahl der passenden Cloud-Plattform

Public-Cloud-basierte Entwicklungsplattformen gewinnen nach Einschätzung der Forrester-Experten vor allem für solche Unternehmen an Bedeutung, die ihre Entwicklungsprozesse, Anwendungsarchitekturen und die Infrastruktur gleichzeitig modernisieren wollen. Bei der Anbieterauswahl sollten Entscheider nicht nur die Services und Tools, sondern auch die Innovationsrate und die internationale Präsenz unter die Lupe nehmen. Zu prüfen ist insbesondere, ob die Angebote zu den eigenen Kompetenzen, Organisationstrukturen und zur Risikobereitschaft in Sachen neue Technologien passen.

Zum Video: Programmieren in der Cloud - so finden Sie die richtige Plattform

AWS und Microsoft haben zwar insgesamt das breiteste Angebot. Doch viele Nutzer schätzen es auch, wenn sich Entwicklungsumgebungen auf mehreren unterschiedlichen Infrastruktur-Plattformen einsetzen lassen. Das ist etwa bei den beiden Full-Stack-Anbietern nur eingeschränkt möglich, weil IaaS- und PaaS-Ressourcen eng miteinander verzahnt sind. Wer die Infrastruktur-Plattform wechselt, verliert damit in der Regel auch etliche Vorteile, die die darüber liegende PaaS-Schicht des Providers mit sich bringt.

Für die Auswahl und den Einsatz von Cloud-Development-Plattformen haben die Forrester-Analysten einige konkrete Empfehlungen formuliert:

Im Segment der Full-Stack-Provider (AWS, Azure, Google, IBM, Oracle und Alibaba) erwarten die Marktforscher eine Konsolidierung. Damit verbunden seien gewisse Konzentrationsrisiken, die Entscheider im Auge behalten sollten. Zwar werde die Innovationsgeschwindigkeit trotz dieser Entwicklung hoch bleiben. Doch Unternehmen sollten beispielsweise Anbieterallianzen kritisch beäugen. Das wirksamste Mittel gegen eine drohende Abhängigkeit sehen die Experten in einem professionellen Vendor Management. Um in Verhandlungen mit Cloud-Providern die eigene Position zu verbessern, sei darüber hinaus auch Architekturwissen nötig.

Wählen Sie nicht einfach ein Produkt aus, lautet ein weiterer Rat der Analysten. Hintergrund sind die zahlreichen wechselseitigen Beziehungen, die die Anbieter von Cloud-Plattformen pflegen. So laufen etwa die Plattformen von Pivotal und SAP auf Infrastrukturdiensten von AWS, Azure oder Google. Die meisten Plattformen nutzen eine Vielzahl von Open-Source-Produkten, darunter Cloud Foundry, Docker, Kubernetes und MySQL. Das macht eine Differenzierung schwierig.

Ausgangspunkt einer Strategie sollten klare Ziele bezüglich der Softwareentwicklung und der Customer Experience sein. Im zweiten Schritt gelte es, das vorhandene Know-how in der Softwareentwicklung mit den angebotenen Cloud-Diensten abzugleichen. Auf dieser Basis könnten Unternehmen die passende Kombination aus Infrastruktur-, Plattform- und Anwendungs-Services identifizieren.

Einige SaaS-Provider offerieren ihren Kunden nicht nur fertige Software, sondern auch Services für die Anwendungsentwicklung, insbesondere Microsoft, Oracle, Salesforce und SAP. Durch die Wiederverwendung bereits vorhandener Funktionsblöcke lasse sich die Anwendungsentwicklung beschleunigen, lautet das Versprechen. Die Sache hat allerdings einen Haken, wenden die Forrester-Experten ein. Kunden liefen damit Gefahr, besonders komplexe Anwendungsarchitekturen aufzubauen, die eine dynamische Weiterentwicklung der Applikationen bremsen könnten.

Die sogenannte Cloud-native Softwareentwicklung mit Container-Techniken und Microservices-Architekturen hat in den vergangenen Jahren erheblich an Popularität gewonnen. Alle Anbieter in der Übersicht haben ihre Plattformen für den Einsatz von Docker und Kubernetes vorbereitet. Ähnliches zeichnet sich im Bereich FaaS beziehungsweise Serverless Computing ab. Unternehmen sollten einschlägige Cloud-native-Tools in jedem Fall auf ihre Wunschliste nehmen, raten die Analysten.

Viele Unternehmen setzen Entwicklungsplattformen zunächst on-premise ein, bevor sie den Schritt in die Public Cloud wagen. Ihnen geht es im ersten Schritt darum, Softwareprozesse und hergebrachte Kulturen zu modernisieren. Forrester verweist beispielsweise auf zahlreiche Kunden von Pivotal und Red Hat, die Development-Plattformen zuerst im eigenen Haus implementieren und sich die Option eines Wechsels in die öffentliche Cloud offen halten. Die Zukunft der Private Cloud liegt für die Forrester-Analysten in einer auf Softwareentwickler zugeschnittenen Infrastruktur-Plattform, die "on demand" zur Verfügung steht. Entscheider sollten sich strategisch auf die Frage vorbereiten, wann und wie eine Migration in die Public Cloud gelingen kann.