Auswahl an Cloud-Native Applications

Mit dem richtigen Cloud-Anbieter durchstarten

19.05.2017 von Daniel Klemm
Bei der Auswahl des richtigen Cloud-Providers spielen vor allem Fragen hinsichtlich Infrastruktur, Plattform-Services und Kosten eine entscheidende Rolle. Dieser Artikel enthält einige Listen zur Entscheidungshilfe.

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.

Der Markt ist groß. Welcher Cloud-Anbieter ist der richtige?
Foto: ra2studio - shutterstock.com

Die Wahl des richtigen Cloudproviders ist nicht ganz einfach, denn es gilt eine Reihe von Fragen zu beantworten:

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überhinaus macht es Sinn zu schauen, ob es eine lebendige Community, wie zum Beispiel Meetup, gibt und wie diese organisiert ist. 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.

Public-Cloud-Plattformen im Vergleich
Amazon Web Services
Forrester attestiert AWS ein marktführendes Portfolio an Cloud-Services. Hybrid-Cloud-Szenarien aber deckten die Konkurrenten zum Teil besser ab.
Microsoft Azure
Im Azure-Portfolio loben die Forrester-Experten besonders die Services für Softwareentwickler.
IBM Bluemix
IBM kann die Vorteile seines Cloud-Angebots vor allem in Unternehmen mit etablierten IT-Strukturen ausspielen.
Google Cloud
Googles Cloud-Portfolio punktet vor allem mit Machine-Learning- und Data-Services.
Oracle Cloud
Die Oracle-Cloud ist in erster Linie für Bestandskunden des IT-Konzerns interessant, urteilt Forrester.
Interoute Virtual Data Center
Der britische Anbieter Interoute profitiert im Forrester-Vergleich von seiner starken lokalen Präsenz in Europa.
Salesforce App Cloud
Vor allem die Entwickler-Services der App Cloud von Salesforce finden das Lob der Forrester-Analysten.
CenturyLink
Die Stärken des Cloud-Portfolios von CenturyLink liegen in den ausgefeilten Konfigurations- und Automation-Features.
CloudSigma
Cloud-Services aus der Schweiz offeriert CloudSigma. Kunden profitieren von besonders flexiblen und feingranularen Konifgurationsoptionen, kommentiert Forrester.

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, die relativ neu auf dem Deutschen Markt eine Cloud-Lösung anbieten, darunter.

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 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 Plattform
Cloud

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 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.

Künstliche Intelligenz aus der Cloud
Microsoft Machine Learning
Azure Machine Learning ist ein vollständig verwalteter Cloud-Dienst, mit dem Anwender Predictive Analytics-Lösungen generieren und bereitstellen können.
Microsoft Cognitive Services
Die Cognitive Services von Microsoft enthalten unter anderem Dienste für Bildanalyse und Gesichtserkennung.
Amazon ML
Amazon Machine Learning unterstützt den Anwender bei der Fehleranalyse von Vorhersagemodellen.
Amazon Bot
Mit Amazon Lex können Chatbots beispielsweise für Verbraucheranfragen erstellt werden.
Google API
Über APIs lassen sich Google AI-Services in eigene Anwendungen integrieren.
Google Tensorflow
Das von Google stammende Open-Source Framework Tensorflow ist die Basis von Cloud ML.
IBM Bluemix
IBM bietet auf der Cloud-Plattform Bluemix zahlreiche Watson-basierte AI-Anwendungen.
IBM ML
IBM Machine Learning ermöglicht die Entwicklung und den Einsatz selbstlernender Analysemodelle in der Private Cloud.
HPE Haven
Mithilfe der Gesichtserkennungs-API von HPE können Entwickler in Fotos gefundene Daten importieren, extrahieren und analysieren.
Salesforce Einstein
Salesforce Einstein: Predictive Content liefert Kunden auf Basis von maschinellem Lernen eine individuelle Empfehlung für das beste Produkt.

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 bezüglich eines Vendor-Lock-In wird man auf derartige Services 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

Paypal

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 in der Regel 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 Jahre Support 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 Jahr Support 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: Cloud-basiertes Geschäftsmodell und Unternehmenssitz in 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: