Bei der Gründung eines Web-Startups spielt die Auswahl der Hostinglösung eine entscheidende Rolle. Wenn das gesamte Geschäftsmodell auf der Erreichbarkeit der Webapplikation basiert, kann man sich hier keine Fehler erlauben. Hostinganbieter, die bereit sind, für jeden Bedarf maßgeschneiderte Lösungen zu entwerfen, gibt es dabei genug. Leider haben diese Lösungen oft einen großen Nachteil. Die Kosten dafür sind horrend. Geld hingegen haben StartUps nur ganz selten im Überfluss.
Cloud Computing, das große Buzzword in der IT, verspricht die Lösung für dieses Problem zu sein: Nur bezahlen, was man auch wirklich verbraucht hat, und die Leistungsreserven sind nahezu unerschöpflich. Doch im ganzen Rummel den Überblick zu behalten ist alles andere als leicht. Mit diesem Artikel möchte ich deshalb versuchen, die verschiedenen Lösungen vorzustellen, die Cloud Computing zum Hosten von Webapplikationen bietet, und die Vor- und Nachteile dieser Lösungen für StartUps aufzeigen.

Auch wenn bisher noch keine allgemeingültige Definition zu existieren scheint, was Cloud Computing wirklich ist, scheint zumindest Konsens darüber zu herrschen, dass man Cloud Computing in die drei Teile Infrastructure-as-a-Service (IaaS), Platform-as-a-Service (PaaS) und Software-as-a-Service (SaaS) gliedern kann. Für das Hosten von Webapplikationen kommen dabei Lösungen aus den ersten beiden Bereichen in Frage.
Infrastructure-as-a-Service
Der Name ist relativ selbsterklärend. Bei IaaS-Anbietern kann man virtuelle Server stundenweise mieten. Von Anbieter zu Anbieter unterscheidet sich der Funktionsumfang in Details, im Großen und Ganzen hat man aber überall die Möglichkeit ein eigenes Betriebssystem zu installieren oder aus vorgefertigten Images zu wählen. Die Administration der benötigten Software, die Wartung (Stichwort Sicherheitsupdates) und Backups oder ähnliches muss man dabei selbst übernehmen. Vorteil ist allerdings, dass man alle Freiheiten hat, zu entscheiden, wofür man die Instanzen einsetzt. Neben der Möglichkeit, Webhosting zu betreiben, kann man mit diesen Instanzen zum Beispiel auch Videos transkodieren, Gameserver hosten oder Forschungsberechnungen durchführen.
Einen Kostenvorteil gegenüber bei traditionellen Hostinganbietern gemieteten Servern bieten IaaS-Anbieter erst, wenn die Instanzen nicht dauerhaft laufen, sondern je nach Bedarf gestartet und beendet werden. Da man hier nur für die tatsächliche Nutzungszeit zahlt, verspricht dies erhebliches Einsparungspotential im Vergleich zu den pauschalen Kosten für traditionelle Server. Den Prozess des Startens und Herunterfahrens zu automatisieren, verursacht allerdings nochmals einen höheren Administrationsaufwand und birgt grundsätzlich ein Risiko. Außerdem ist hierfür eine API erforderlich, die noch nicht alle Anbieter zur Verfügung stellen.
Der Administrationsaufwand von IaaS-Instanzen ist vergleichbar mit dem Aufwand, herkömmliche Server zu administrieren. Mit der Auswahl eines vorgefertigten Images mag man zwar grundsätzlich alle notwendigen Softwarekomponenten beisammen haben. Aber damit ist die eigene Applikation noch nicht online und gerade im Hinblick auf Loadbalancing und Datenbankreplikation muss man selbst Hand anlegen.
Außerdem bieten IaaS-Lösungen von Hause aus keinerlei Vorteil im Hinblick auf die Verfügbarkeit. Sollte eine Instanz ausfallen, ist es zwar grundsätzlich schneller möglich, eine neue zu starten als mit physikalischen Servern. Jedoch ist man für diese Zeit immer noch offline. Hält man dauerhaft mehrere Instanzen vor, zahlt man hingegen unter Umständen wieder für Leistung, die man tatsächlich nicht verbraucht hat.
Gerade der Bereich Systemadministration wird aus meiner Erfahrung heraus in vielen StartUps völlig unterschätzt und vernachlässigt. Oft bürdet man dies den eigenen Entwicklern auf, was diese von ihren eigenen Kernkompetenzen abhält und dazu führt, dass die Systeme nur unzureichend konfiguriert und gewartet werden. Hier schlummern unzählige Sicherheitslücken die nur darauf warten gefunden zu werden.
Sollte das notwendige Administrative Know-How nicht im Team verfügbar sein, hat man die Möglichkeit, sich entsprechende Dienstleister zu kaufen bzw. auf verschiedene verfügbare Cloud-Administrationstools zurück zu greifen. Wird die Freiheit, die IaaS bietet, benötigt, sollte man unbedingt jemanden mit der Administration betrauen, der bereits Kenntnisse und Erfahrung auf diesem Gebiet hat.
Platform-as-a-Service
PaaS-Lösungen unterscheiden sich von IaaS grundsätzlich dadurch, dass man bei den Plattformen mit der zu Grunde liegenden Hard- und Software nichts zu tun hat. Dies senkt den Administrationsaufwand enorm. Im Gegensatz zu IaaS-Lösungen bieten solche Plattformen dadurch natürlich weniger Freiheiten. Ähnlich wie bei Frameworks muss man eben durch die Fokussierung auf ein spezielles Problem Einschränkungen in Kauf nehmen.
Genau diese Fokussierung stellt aber dementsprechend auch den größten Vorteil dar. PaaS-Anbieter können hochspezialisierte Lösungen für den jeweiligen Einsatzzweck anbieten. Diese Spezialisierung verspricht dabei ein zuverlässiges und performantes Angebot und einen Kostenvorteil gegenüber einer eigenen Lösung. Vorstellbar ist dies nicht nur in Bezug auf Cloud-Hosting, sondern zum Beispiel auch für Datenspeicher oder insbesondere Backupspeicher.
PaaS-Anbieter bieten sehr unterschiedliche Leistungen und teilweise unterschiedliche Abrechnungsmodelle an. Nicht jeder Anbieter unterstützt zum Beispiel alle Programmiersprachen oder Datenbanken. Darüber hinaus werden Probleme auch unterschiedlich gelöst. Dies kann sogar so weit gehen, dass keine relationalen Datenbanken verfügbar sind oder dass der Zugriff über anbieterspezifische Schnittstellen geschehen muss. Dies alles führt dazu, dass nicht jede Anwendung ohne Änderungen bei jedem Anbieter läuffähig ist und es unter Umständen nicht ohne weiteres möglich ist, von einem Anbieter zum nächsten zu wechseln. Je nach Einsatzzweck kann dies ein großes Problem darstellen und man sollte deshalb in jedem Fall genauestens prüfen, ob die Plattform wirklich die richtige Wahl ist.
Ein weiterer Vorteil von PaaS-Lösungen für das Hosting von Applikationen ist jedoch, dass man feste Schnittstellen für das Hochladen der eigenen Anwendung hat. Im Optimalfall bietet der Anbieter hierfür eine API an, die es ermöglicht, das Deployment komplett skriptgesteuert vorzunehmen. Gerade im Hinblick auf „deploy early – deploy often“ hilft dies Fehler zu vermeiden. Nur so kann man guten Gewissens häufig Änderungen online stellen.
Dadurch, dass sich bei PaaS-Lösungen der Anbieter um die Verteilung der Applikationen auf den zu Grunde liegenden Servern kümmert, steigt automatisch die Verfügbarkeit ohne Mehrkosten. Man sollte hier deshalb darauf achten, wie der Anbieter diese Verteilung vornimmt und ob dabei insbesondere sichergestellt ist, dass die Anwendung gleichzeitig zumindest auf verschiedenen physischen Servern vorliegt. Im Optimalfall verteilt der Anbieter darüber hinaus sogar über verschiedene Standorte, um selbst bei Ausfällen ganzer Rechenzentren weiter verfügbar zu sein.
Fazit
Gemeinsam haben sowohl Infrastructure as a Service als auch Platform as a Service den Vorteil, dass die Kosten im Vergleich zu traditionellen Hostinglösungen durch die Abrechnung nach tatsächlichem Verbrauch enorm gesenkt werden können. Dabei muss man aber auch versteckte Kosten wie für Systemadministration oder notwendige Änderungen an der Software berücksichtigen.
IaaS-Lösungen überzeugen durch ein hohes Maß an Freiheit bezüglich des Einsatzzwecks, bieten allerdings von Hause aus keine großen Vorteile im Hinblick auf die Ausfallsicherheit und bringen einen hohen Administrationsaufwand mit sich.
PaaS-Lösungen hingegen ermöglichen es, sich absolut auf das eigene Produkt zu konzentrieren, ohne durch Administration der Infrastruktur behindert zu werden und bieten erhöhte Ausfallsicherheit. Allerdings muss man dafür eine Einschränkung hinsichtlich Flexibilität der Einsatzmöglichkeiten in Kauf nehmen.
Was das Angebot verschiedener Lösungen am Markt angeht ist es im deutschsprachigen Raum noch eher dünn gesät. In den USA sieht dies zwar ganz anders aus, jedoch hat man als deutsches Unternehmen hier mit hohen Latenzzeiten zu kämpfen und darüber hinaus erschweren europäische Datenschutzrichtlinien die Speicherung personenbezogener Daten auf Servern außerhalb der EU nicht unerheblich. Langsam starten aber die ersten deutschen Anbieter eigene Produkte oder zumindest Testläufe, sodass in naher Zukunft mit der Verfügbarkeit von Lösungen gerechnet werden kann.
Alles in allem ist das Potential da und insbesondere StartUps können von den innovativen Lösungen profitieren. Zum jetzigen Zeitpunkt würde ich deshalb dringend davon abraten mich langfristig an eigene oder gemietete Server zu binden.
Über den Autor:

Philipp Strube ist einer der Gründer des Cloud Hosting Anbieters cloudControl und entwickelt mit seinem Team eine hochverfügbare und skalierbare Hostinglösung für moderne Webapplikationen.
CloudControl ist stolzes SUN Startup Essential Member.
Mehr zum Thema Cloud Computing und Cloud Hosting bloggt Philipp auf Serverwolken.de.

Nur mal eine kleine Beispielrechnung zu den “Problemlösern”
Beispiel Amazon EC2
Standard On-Demand Instances
Large $0.44 per hour
Data Transfer In
All Data Transfer $0.10 per GB
Data Transfer Out
First 10 TB per Month $0.17 per GB
gehen wir mal von $0.15$ je GB aus(das meiste ist eh out Traffic) und EINER Instanz die den ganzen Monat läuft.
24*0.44*30 = 316$ ~ 224 Euro
und von 2TB Traffic
2000 * 0.15$ = 300$ ~ 212 euro
Macht in etwa 450 euro je monat.
Ein Server mit wesentlich mehr Rechenleitung kostet bei Hetzner 49 Euro im Monat.
Intel® Core™ i7-920 Quad-Core
Festplatten
2 x 750 GB SATA-II HDD
Der Trafficverbrauch ist kostenlos. Bei einer Überschreitung von 2.000 GB/Monat wird die Anbindung auf 10 MBit/s reduziert.
Für 50 Euro schafft man es nicht einmal eine normale Amazon Instanz 7 Tage laufen zu lassen und das ohne Traffic. Dabei habe ich den Platzverbrauch nochmal aussen vorgelassen sonst hätte die Rechnung noch schlechter ausgesehen.
Da kann man Rechnen wie man will man kommt einfach auf kein Angebot wo sich das lohnen würde. Die anderen Cloud Anbieter sind da preislich genauso schlecht positioniert.
Der einzige vorteil den eine Cloud hat ist das man bei Engpässen schnell noch weitere Instanzen dazu schalten kann aber diese sollten bei Gründlicher Planung generell selten vorkommen.
Fazit = Eine Cloud ist eine gute Idee aber Preislich nach wie vor eine Katastrophe. Und schon sie ist schon gar keine Alternative für ein gut geplantes Startup das kein Geld aber die Zeit hat sich über die passende Infrastruktur Gedanken zu machen.
Clouds sind eine tolle Sache wenn man kurzzeitig auf große Kapazitäten zugreifen muss. Beispielsweise macht das für Unternehmen Sinn die aufgrund eines Events oder einer zeitlichen begrenzten Marketingaktion mit viel Traffic rechnen können, dieser aber nach der Aktion wieder deutlich zurück geht.
Für eine Internetfirma deren Traffic kontinuierlich steigt und nicht nur aus einer zeitlich begrenzten Spitze besteht, ist herkömmliches Hosting viel viel günstiger.
@sonyon:
Ich kann nur davon abraten, sich als Startup auf vermeintlich billige Server zu verlassen. Spätestens wenn Wachstum ansteht, gibt es dann zwangsläufig Probleme. Mit Cloud- und/oder guten Hosting-Lösungen (wie sie bspw. cloudControl entwickelt) ist man wesentlich flexibler und sicherer aufgestellt.
@sonyon: Es macht wenig Sinn, einen Server vom (ansonsten guten) Herrn Hetzner mit einem Cloud-Angebot wie RackspaceCloud or EC2 zu vergleichen. Wenn die Website auch auf längere Sicht nur ein paar 10.000 visits im Monat hat oder der Umsatz bei einigen tausend Euro im Monat, ist ein nicht skalierbares und nicht redundantes Hosting bei Hetzner et al. wunderbar. Da tut mal eine 1/2 tägige downtime nicht weh.
Wenn man aber größere Räder drehen will und ggf. auch noch global aufgestellt sein will, dann sind Cloudlösungen (inkl. solcher Nebenleistungen wie File-Storage und CDN) eine sehr interessante Sache.
@Markus:
Sehe ich genauso, gerade in Dtl. ist Hosting sehr günstig. Das könnte auch erklären wieso Cloud-Ansätze sich hierzulande nur mühsam etablieren.
@Christoph:
Software, die von Anfang an darauf ausgelegt ist mit belibigem Wachstum zu skalieren, ist doch eher die Ausnahme. Bei ernsthaften Wachstumsproblemen ist die Wahrscheinlichkeit zudem sehr hoch, dass alleine mehr Server bereitzustellen nicht die Lösung ist. Von daher betrachte ich Cloud-Hostinglösungen skeptisch, sofern eine hohe Skalierbarkeit nicht auch gleichzeitig integraler Bestandteil der Applikation ist. Es gibt nur eine kleine Anzahl von Startups auf die das zutrifft.
Wir benutzen ein paar low-end Server und S3 zusammen mit CloudFront, das ist flexibel (kurze Vertragslaufzeiten, max. 24 Stunden für einen neuen Server), robust (durch Redundanz im Cluster) und sehr günstig (<1% unserer Gesamtausgaben). EC2 haben wir ausprobiert, hat sich aber für uns nicht gelohnt, da wir genug Server im Cluster haben, um Lastspitzen abzufedern und so trotzdem weniger für Hosting bezahlen. Zudem ist Amazon leider nicht in der Lage ordentliche Rechnungen zu schreiben, die vom Finanzamt akzeptiert werden (kein Witz!).
Wer glaubt, dass man das Thema Hosting durch Outsourcing in die Cloud vom Tisch bekommen kann, ist naiv. Wer glaubt, dass es dadurch bei starkem Traffic günstiger oder weniger komplex wird, auch. Frühestens wenn Wachstum ansteht, sollte man sich eh nicht blind auf einen Service-Provider verlassen.
Wie geschrieben ist IaaS nur günstiger, wenn die Systeme nicht dauerhaft laufen. Es kommt wie immer auf den Einzelfall an. Wenn mir 3 dauerhaft laufende Rootserver reichen um jegliche Last abzudecken, sehr gut. Wenn ich wirklich starke Schwankungen habe, so dass ich je nach Tageszeit zwischen 3 und 30 EC2 Instanzen benötige könnte das ganze schon wieder ganz anders aussehen. (Habs jetzt nicht extra durchgerechnet)
Das Argument, dass eine 1-2 tägiger Ausfall hinnehmbar ist kann ich nicht nachvollziehen. Nicht wenn ein solches Projekt ausfallsicher und ohne Administrationsaufwand bei einem PaaS-Anbieter gehostet werden könnte. Bei vergleichbaren, wahrscheinlich sogar niedrigeren Kosten. Hier bin ich aber natürlich etwas voreingenommen.
Was darüber hinaus natürlich richtig ist, ist dass es auf die Qualität der zu hostenden Anwendung ankommt. Wenn diese sich aktiv gegen vertikale Skalierung sträubt bleibt das Tor zu den Wolken verschlossen.
Hi,
nicht-Kunden von uns vergessen oft, dass mit einer guten Wartung und Optimierung meist schon deutlich mehr gespart wird, als es mit $vielen Servern oder Clouds möglich wäre. Viele Systeme die wir geprüft haben, hatten oft Kapazitätsüberschüsse von 400-500% und mehr. Zu deutsch: Die Server haben gekotzt, es musste ständig nachgeschoben werden, und niemand hat sich mal gedanken gemacht WORAN das eigentlich liegt. Ein guter Dienstleister, der einen bei der Skalierung begleitet mit Erfahrung, ist hier oft Gold wert
Cemil
Wavecon GmbH
Hallo zusammen,
wir haben uns bereits für Amazon S3 entschieden und sind bisher technisch zufrieden. Das einzige Problem das wir haben, ist das von Henning beschriebene Finanzamt-Problem. Amazon erstellt keine ordentlichen Rechnungen nach deutschen Steuerrecht. Hat hier jemand zufällig eine Lösung für gefunden?
Grüße Jens
[...] an einer Einführung in das Thema Cloud Computing aus Startup-Sicht hat, kann einen Blick auf diesen Gastbeitrag von cloudControl-Mitbegründer Philipp Strube bei Gründerszene aus dem vergangenen Jahr [...]