Cloud-Native Applications: Cloud Provider-Auswahl für Startups und Digital Business Units

Entscheider in Startups und Digital Units, die Cloud-Native-Applikationen entwickeln (wollen), stehen vor der Herausforderung, den richtigen Cloudprovider zu wählen. Cloud-Native-Anwendungen sind Anwendungen, die für den Betrieb in der Cloud entwickelt wurden. Häufig kommt hierbei eine (micro)service-orientierte Architektur zum Einsatz und nicht selten wird die Applikation in Container gepackt. Ein weiteres typisches Merkmal ist der Einsatz von Continuous Software Delivery. Es kommt vor, dass Entwicklungsteams die Verantwortung für Entwicklung und Betrieb tragen. Die Wahl des richtigen Cloudproviders ist nicht ganz einfach, denn es gilt eine Reihe von Fragen zu beantworten:

  • Gibt es Anforderungen bezüglich des Rechenzentrumsstandorts (z.B. Datenhaltung in Deutschland)?
  • Wird eine globale Infrastruktur benötigt (internationales Geschäft)?
  • Inwieweit kann ich die Provisionierung von Ressourcen automatisieren?
  • Wie geeignet ist das Cloud-Angebot für Cloud-Native-Anwendungen?
  • Welche Plattform-Services werden geboten, die für das Vorhaben interessant sind?
  • Welche Kosten entstehen durch den Betrieb der Anwendung in der Cloud?

Neben diesen Fragestellungen lohnt es sich auch zu betrachten, inwieweit man auf sich allein gestellt ist und welche Möglichkeiten es gibt, den Einstieg leichter zu gestalten. Daher lohnt es sich zu prüfen, wie hilfreich die Dokumentation des Angebots ist und welche weitergehenden Ressourcen für Entwickler (Whitepapers, Best Practices, etc.) verfügbar sind. Darüber hinaus macht es Sinn zu schauen, ob es eine lebendige Community gibt und wie diese organisiert ist (z.B. Meetups), denn ein Austausch mit anderen Anwendern kann eine wertvolle Hilfe darstellen. Ebenso sollte man die Frage nach den Support-Angeboten des Anbieters (z.B. Zugriff auf Solution Architects) und der Verfügbarkeit von externen Dienstleistern/Beratern betrachten, um sicherzustellen, dass man - falls benötigt - Unterstützung bekommen kann.

Eine allgemeingültige Antwort, welcher Anbieter der geeignetste ist, gibt es nicht. Je nachdem, welche konkreten Anforderungen man hat und wie stark man auf Plattform-Services setzen möchte, fällt die Antwort anders aus. Wenn man beispielsweise einen Use Case mit Bilderkennung abbilden möchte, kann es Sinn machen, auf einen passenden Plattform-Service zurückzugreifen und so Zeit und Entwicklungskosten zu sparen. Je nach Wichtigkeit kann das die Entscheidung für den einen oder anderen Cloudanbieter maßgeblich beeinflussen.

Optionen der Cloud-Plattform-Auswahl

Im Folgenden sollen kurz einige Optionen für die Anbieterwahl vorgestellt werden - ein Anspruch auf Vollständigkeit wird hierbei in keinster Weise erhoben. Neben den in Deutschland etablierten großen Namen aus den USA, befinden sich mit AliCloud und der Open Telekom Cloud zwei Newcomer darunter, die relativ neu auf dem Deutschen Markt eine Cloud-Lösung anbieten. Die Anbieter unterscheiden sich teils deutlich hinsichtlich der geografischen Ausdehnung der Infrastruktur, Größe und der Angebotsvielfalt (Platform Services), die über klassisches Infrastructure-as-a-Service (IaaS) hinausgeht. Auch ist das Mind-Set, mit dem das Cloud-Angebot aufgesetzt wurde, teils stark unterschiedlich, was sich bei intensiverer Beschäftigung mit den Anbietern zeigt. Das ist auch verständlich, denn alle Anbieter haben eine Historie vorzuweisen, in deren Verlauf sich das Cloud-Angebot entwickelt hat. Gerade die Historie der Unternehmen und der Challenges, die man selbst in der Vergangenheit lösen musste, spiegeln sich in den Cloud-Angeboten wieder.

Ausgewählte Public Cloud Anbieter
  AliCloud Amazon Web Services Google Cloud Plattform IBM Cloud Microsoft Azure Open Telekom Cloud
Herkunft China USA USA USA USA Deutschland
Infrastruktur global global global global global Deutschland
Rechenzentrum in Deutschland Ja Ja Für 2017 angekündigt Ja Ja Ja
Anzahl Plattform Services mittel hoch hoch hoch hoch niedrig

Das größte Angebot an Plattform-Services haben AWS, Google, Microsoft und IBM, welches auch die Anbieter sind, die eine globale Infrastruktur haben. Die Telekom kommt eher für den Einsatz in Europa infrage und Alibaba wird spannend, wenn man Infrastruktur in Asien benötigt. Als Besonderheit kann die AliCloud einen Rechenzentrumsstandort im Nahen Osten aufweisen. Globale Infrastruktur ist ein dehnbarer Begriff, daher macht es Sinn, bei der Auswahl genauer hinzuschauen, wie die Standorte der Rechenzentren auf dem Globus verteilt sind.

Eignung für Cloud-Native Applikationen und digitale Workloads

Cloud-Native-Anwendungen sind ganz allgemein Anwendungen, die gezielt für den Einsatz in der Cloud entwickelt werden. Das kann man auf unterschiedliche Weise tun. Häufig wird allerdings als Gemeinsamkeit einem service-orientierten Ansatz gefolgt. Hierbei werden Funktionalitäten in Services gekapselt, über die typischerweise mittels REST-API kommuniziert wird. Für ein einfaches Setup und leichten Betrieb kann man auf Plattform-as-a-Service (PaaS) Angebote zurückgreifen. Sind die Services betont klein gehalten, spricht man von Microservice-Architekturen, wo die einzelnen Services gerne in Container gepackt werden. Wachsender Popularität erfreut sich auch “Function-as-a-Service” (FaaS), wo kleinste Code-Snippets als Funktionen implementiert und deployed werden. Hierbei spricht man von Serverless Computing, wenn ein Cloud Service genutzt wird, der Provisionierung und Management der Infrastruktur weg abstrahiert. Function-as-a-Service kommt häufig bei Event-Driven Architekturen zum Einsatz. Grundsätzlich kann man die populären Betriebsmodelle nach Belieben zusammenmixen und auch Plattform-Services und externe APIs mit einbeziehen. Im Extremfall gibt es dann auch Services mit wenig eigener Logik, deren Zweck sich eher darauf beschränkt, APIs miteinander zu verbinden. Man spricht dann auch etwas scherzhaft von API-Plumbing. Das ist dann das, was früher Glue Code war, nur in der verteilten Service Welt.

Übersicht Cloud-Native Basics
  AliCloud Amazon Web Services Google Cloud Plattform IBM Cloud Microsoft Azure Open Telekom Cloud
Plattform-as-a-Service Angebot Nein Ja Ja Ja Ja Nein
Docker -Cluster Eigenbetrieb möglich möglich möglich möglich möglich möglich
Docker Management Service Ja Ja Ja Ja Ja Ja
Function-as-a-Service Eigenbetrieb möglich möglich möglich möglich möglich möglich
Serverless Angebot Nein Ja Ja Ja Ja Nein

Bei allen betrachteten Anbietern kann man sein Docker-Cluster selbst managen, während alle Anbieter zudem  eine mehr oder weniger brauchbare Option anbieten mit wenig Aufwand ein Cluster zum Laufen zu bekommen. PaaS Angebote für den Betrieb skalierbarer Web-Anwendungen finden sich ebenso bei den bekannten US-Anbietern wie FaaS (Serverless) Angebote - bei den anderen beiden Anbietern muss man sich entsprechend selbst darum kümmern etwas Vergleichbares zu betreiben oder auf ein Angebot (falls verfügbar) aus dem Marketplace des Anbieters zurückgreifen.

Häufige Building Blocks in Cloud-Native-Applikationen zum Speichern von Daten sind unter anderem ein Object Storage sowie Relationale oder NoSQL Datenbanken. Messaging ist in verteilten System ein ganz wichtiges Thema. Für das Bereitstellen von APIs kommen gerne Management Lösungen wie API Gateways zum Einsatz, über die sich idealerweise Authentifizierung und Monitoring sauber abbilden lassen. In der Tabelle wird die Verfügbarkeit dieser wichtigen Kernkomponenten als gemanagter Service, bei dem die Verantwortung für den Betrieb ausgelagert ist, pro Anbieter aufgetragen. Je nach persönlicher Präferenz bzgl. eines Vendor-Lock-In wird man auf derartige Service setzen oder darauf verzichten.

Übersicht Basic Building Blocks als Service
  AliCloud Amazon Web Services Google Cloud Plattform IBM Cloud Microsoft Azure Open Telekom Cloud
Object Storage Ja Ja Ja Ja Ja Ja
Relational Database Ja Ja Ja Ja Ja Ja
NoSQL Database Ja Ja Ja Ja Ja Nein
Messaging Ja Ja Ja Ja Ja Ja
API Gateway Nein Ja Ja Ja Ja Nein

Cloud-Native-Anwendungen können grundsätzlich auf allen Clouds betrieben werden, der Unterschied liegt im Aufwand für Setup und Betrieb. Das betrifft sowohl die Environments für die Anwendungen, als auch die Basis Building-Blocks wie Queue-Services und Managed Databases bis hin zu umfangreicheren Mobile- oder IoT-Backend-Lösungen, die einem zur Verfügung stehen. Zudem lohnt sich ein Blick auf die Entwicklertools und Angebote für Continuous Delivery sowie die APIs zur Provisionierung von Ressourcen bei der Wahl des passenden Anbieters.

Einstieg in die Cloud und Startup Programme

Der Einstieg geht bei allen Anbietern am einfachsten, wenn man eine Kreditkarte zur Hand hat. Die Open Telekom Cloud bietet standardmäßig auch die Zahlung per Lastschriftverfahren an, während man bei den anderen Anbietern nur in bestimmten Fällen und mit zusätzlichem Aufwand andere Zahlungsmittel als die Kreditkarte nutzen kann.

Übersicht Zahlungsarten
  AliCloud Amazon Web Services Google Cloud Plattform IBM Cloud Microsoft Azure Open Telekom Cloud
Kreditkarte Ja Ja Ja

(pre-paid Karten explizit ausgeschlossen)

Ja Ja Ja
Pay-Pal nur für pre-paid Produkte Nein Nein Nein Nein Ja
Zahlen auf Rechnung / Lastschrift Nein In Einzelfällen auf Anfrage In Einzelfällen auf Anfrage Möglich Ja, ab einer gewissen Größe (Enterprise Agreement) Lastschriftverfahren oder Zahlung per Telekom Festnetzrechnung möglich

Die Anbieter bieten teilweise ein kostenfreies Nutzungskontingent an. Auch wenn manche Anbieter zwar das Anlegen eines Accounts ohne Kreditkarte erlauben, so sind die Gratisressourcen doch begrenzt und eher nur für Experimente mit überschaubarer Größe ausreichend. Allerdings stehen die freien Ressourcen auch nach Hinterlegung der Kreditkarten zur Verfügung. Die Anbieter garantieren i.d.R. nicht, dass die Gratisressourcen unbegrenzt so dimensioniert bleiben.

Überblick Freies Nutzungskontingent
AliCloud Bei Registrierung kann man Guthaben für verschiedene Services per Gutschein bekommen
Amazon Web Services Pro Service begrenzte Ressourcennutzung gratis für 12 Monate oder dauerhaft
Google Cloud Plattform $300 Startguthaben + Pro Service begrenzte Ressourcennutzung dauerhaft gratis
IBM Cloud Begrenzte Ressourcen gratis für 30 Tage
Microsoft Azure 170€ Startguthaben + Pro Service begrenzte Ressourcennutzung dauerhaft gratis
Open Telekom Cloud 250€ Startguthaben

Für Startups gibt es zusätzlich zu den freien Nutzungskontingenten spezielle Programme, für die man sich bewerben kann. Als grobe Orientierung was bei den Anbietern als Startup gilt: Unternehmen deren Gründung nicht länger als fünf Jahre her ist. Ein gängiges Modell der Cloud-Anbieter ist es, Startups mit zeitlich begrenztem Guthaben für Cloud-Ressourcen auszustatten und grundlegenden Support zu bieten.

Überblick Startup Programme

AliCloud

$2.000-$50.000 Guthaben für 2 JahreSupport durch Solution Architects

Unterstützung im Marketing

Eine erste Finanzierung muss erfolgt sein

 

Voraussetzungen:

Verbindung zu einem Partner (Accelerator/Incubator/Co-Working)

Weniger als $500.000 Umsatz/Jahr

Amazon Web Services

AWS Activate

Portofolio Package

bis zu $15.000 Guthaben für Cloud-Ressourcen 2 Jahre

bis zu $5.000 Guthaben für Support

Training (Online & In-Person)

 

Voraussetzungen:

Verbindung zu einem ausgewählten Enabler (Accelerator/Incubator/VC)

-------

Portofolio Plus Package

bis zu $100.000 Guthaben für Cloud-Ressourcen für 1 Jahr

bis zu $10.000 Guthaben für Support

Training

 

Voraussetzungen:

Verbindung zu einem ausgewählten Enabler (Accelerator/Incubator/VC)

Google Cloud Plattform

GCP for Startups

Spark Package 

$20.000 Guthaben für 1 JahrSupport durch Solution Engineers

24/7 Telefonsupport

bis zu 10 Nutzer gratis in G Suite

Online Training

 

Voraussetzungen:

Verbindung zu einem ausgewählten Enabler (Accelerator/Incubator/VC)

-------

Surge Package

$100.000 Guthaben für 1 JahrSupport durch Solution Engineers & Solution Architects

24/7 Telefonsupport

bis zu 10 Nutzer gratis in G Suite

Online Training

Support für Online Marketing

 

Voraussetzungen:

Verbindung zu einem ausgewählten Enabler (Accelerator/Incubator/VC)

IBM Cloud

IBM Global Entrepreneur

$1.000 oder bis zu $10.000 Guthaben pro Monat für 1 JahrSupport durch Developer Advocates

Rat bzgl. Go-to-market und Mentoring

Online Training

Rabatte für Business Services (Recht, Marketing, Reisen, etc)

 

Voraussetzungen:

Verbindung zu einem ausgewählten Enabler (Accelerator/Incubator/VC)

Weniger als $1.000.000 Umsatz in den letzten 12 Monaten

Microsoft Azure

BizSpark

BizSpark

130€ Guthaben pro Monat für 1 Jahr

Kostenlose Software & Tools

Notfall Telefonsupport

Online Training

 

Voraussetzungen:

Weniger als $1.000.000 Jahresumsatz

-------

 

BizSpark Plus

bis zu €101.196 Guthaben für 1 Jahr

Kostenlose Software & Tools

Notfall Telefonsupport

Online Training

 

Voraussetzungen:

Weniger als $1.000.000 Jahresumsatz

In einem von 200 Partner Accelerator-Programmen

Open Telekom Cloud

TechBoost

100.000€ Guthaben für 1 Jahr

Sonderkonditionen für Mobilfunk & Festnetz & Internet

Technische Ansprechpartner

Unterstützung bei Geschäftsmodell & Marketing & Vertrieb

 

Voraussetzungen:

Voraussetzung cloud-basiertes Geschäftsmodell und Unternehmenssitz Deutschland

Für alle Programme muss man sich bewerben, dann wird eine individuelle Entscheidung seitens des Anbieters getroffen. Außer für Microsofts “BizSpark” und Telekoms “TechBoost” Programm wird eine Verbindung zu speziellen Startup-Institutionen wie Acceleratoren, Inkubatoren oder Investoren vorausgesetzt. Wie man sieht, kann sich der Aufwand für die Bewerbung allerdings lohnen.

Zusammenfassung & Empfehlungen

Die Wahl des richtigen Cloud-Anbieters ist eine sehr individuelle Entscheidung, die von vielen Parametern abhängt. Wer die Entscheidung sorgfältig trifft, kann sich Vorteile in Bezug auf Entwicklungsgeschwindigkeit, Agilität und Betriebskosten verschaffen. Eine ungünstige Wahl kann den gegenteiligen Effekt haben und muss später unter Umständen teuer repariert werden. Daher sollen hier noch ein paar Empfehlungen folgen:

  • Eine intensive Auseinandersetzung mit der Cloud-Anbieterwahl, insbesondere mit den eigenen Ansprüchen ist wichtig.
  • Eine Auseinandersetzung, ob Platform Services oder nur Infrastructure Services genutzt werden sollen, und wenn, in welchem Umfang, sollte frühzeitig passieren.
  • Damit Vorhaben für Cloud-Native-Anwendungen erfolgreich werden können, müssen neben der technischen Expertise auch eine passende Unternehmenskultur und Organisation vorhanden sein (DevOps, Innovations- und Startup-Kultur).
  • Ein hohes Kostenbewusstsein ist unerlässlich. Während des Systementwurfs sollten immer auch die späteren Betriebskosten berücksichtigt werden. Zudem sollte man die Kosten monitoren.
  • Es ist ratsam sich frühzeitig darum zu kümmern, wer einen unterstützen kann, vor allem wenn bisher wenig eigene Erfahrungen mit dem Thema vorhanden sind.

 

Mehr zu den Themen Cloud Anbieter Cloud Native Applicaton Cloud Provider Digital Business Units Startups

Share on:


Über den Autor:

Senior Analyst

Daniel KlemmDaniel Klemm is working as senior analyst at Crisp Research. His main focuses are Big Data, machine learning, cloud computing and customer journey. He has gained more than 12 years of professional experience in the area of distributed systems and acquiring knowledge from large data volumes. As CTO in a cloud native startup, his work concentrated, among other things, on the areas of scalable cloud architectures, marketing automation as well as programmatic advertising. In the course of his career, Daniel Klemm has taken responsibility for the technical part of the idea to market process for digital products and startups repeatedly. He is one of the initiators of the Amazon Web Services user groups in Munich and Kassel. Furthermore, Daniel Klemm is co-author for a variety of scientific publications in the area of agent-based modelling, focusing mainly on the simulation of human behavior (i.a. consumer behavior) in the context of decision support systems.