Hinweis:
Dieser Blogartikel ist älter als 5 Jahre – die genannten Inhalte sind eventuell überholt.
Diese Frage wird uns oft gestellt im Zusammenhang mit der Kosten-Kalkulation für Projekte, deren Infrastruktur auf Public-Cloud-Diensten basiert. Es ist verständlich, dass man dazu eine Einschätzung braucht, um die Kosten einplanen zu können. In manchen Fällen werden auch Architekturentscheidungen davon beeinflusst oder die Angebote unterschiedlicher Cloud Provider verglichen.
Es gibt sicher Fälle wo eine Kosten-Kalkulation überschaubar und relativ exakt ist, z.b. die Migration einer Legacy Applikation die seit Jahren unverändert auf der gleichen Infrastruktur läuft auf eine vergleichbare Basis in einer Public Cloud. Allerdings ist es doch leider oft ein komplexes Unterfangen, die Kosten zu bestimmen. Warum das so ist möchte ich in diesem Blog Artikel erläutern.
Unklarer Workload – unklare Kosten
Die Einschätzung, wie viel Traffic auf einer Website stattfinden wird, ist genauso schwierig wie die Implikation der Backend-Ressourcen, die dazu benötigt werden. Sie ist abhängig von Faktoren, die oft gar nicht vom Kunden selbst beeinflusst werden können. Bei Event-gesteuerten Ingests von IoT-Messages hängen das Datenvolumen und die Anzahl der Events und somit auch ein Teil der Kosten davon ab, wie viele Ereignisse in der überwachten realen Welt eintreten und an das (Cloud-)Backend gesendet werden.
Elastizität der Cloud-Dienste – auch Kosten skalieren
Ein großer Vorteil von Cloud Services ist die dynamische Skalierung von Ressourcen je nach Workload. So werden auf Wunsch automatisch so viele Rechenknoten für eine Applikation bereitgestellt, dass die Leistung konstant bleibt. Das ist für den User und das Betriebs-Team eine tolle Sache, für die Kostenkalkulation aber eher eine Katastrophe.
Flexibilität bei der Architektur oder: die Qual der Wahl
Gerade die großen Public-Cloud-Anbieter haben inzwischen hunderte Dienste im Angebot für unterschiedliche Szenarien. Neben Diensten auf Basis von Open-Source-Technologie gibt es welche mit gleicher Funktionalität vom Hersteller selbst und noch Produkte von Drittanbietern in der gleichen Cloud.
Dabei sind für jede komplexere Aufgabenstellung verschiedene Lösungsszenarien mit unterschiedlichen Komponenten aus den 3 oben genannten Segmenten denkbar. Folglich gibt es auch nicht nur eine, sondern viele Antworten auf die Kostenfrage für die gleiche Anforderung. Zur Komplexität hinsichtlich der Auswahl der richtigen Komponenten für den Anwendungsfall und das jeweilige Unternehmen nach funktionalen und technischen Gesichtspunkten kommt noch die Schwierigkeit hinzu, die Kosten der jeweiligen Komponenten einzuschätzen. Auch Themen wie die finanziellen Risiken eines Vendor Lock-in können nur schwer generalistisch beantwortet werden.
Viele Dienste – noch mehr Metriken
Die Services unterscheiden sich neben der Funktionalität auch qualitativ. Die Spanne geht von virtuellen Maschinen, bei denen die Verantwortung für Patching, Backup und Überwachung komplett beim Cloud-Kunden liegt, über Managed Services, bei denen „nur“ ein Applikationsbetrieb notwendig ist, bis hin zu Software-as-a-Service-Diensten für Endanwender. Das schlägt sich natürlich in der Preisstruktur der Anbieter nieder.
Daneben orientierten sich die Preise an Leistungsstufen, wobei es auch hier wieder Modelle gibt, die sich an der Anzahl dedizierter Benutzer orientieren und als zweite Möglichkeit instanzbasierte Modelle anbieten. Diese Angebote können sich außerdem hinsichtlich der nutzbaren Produkt-Features unterscheiden. Das macht für eine Kosten-Nutzen Betrachtung die Berechnung verschiedener Varianten und Ausbaustufen notwendig.
Hochwertige Dienste – oft hohes Know-How notwendig
Je mehr Leistungen und Features ein Dienst bietet, desto komplexer wird in der Regel auch der Lösungsspielraum. Man muss neben der guten inhaltlichen Kenntnis dieses Dienstes auch immer die notwendigen Schnittstellen zu anderen Services im Blick haben. Dass dieses Know-How für die Kalkulation notwendig ist, bevor die Services genutzt werden, führt oft schon in der Pre-Sales Phase zu vielen Diskussionen und Unsicherheit auf Seiten des Kunden.
Unterschiedliche Abrechnungsmodelle – one size does not fit all
Natürlich bieten die Hersteller auch unterschiedliche kaufmännische Möglichkeiten für die Abrechnung von Cloud-Diensten an. Wenn beispielsweise bereits eine Lieferantenbeziehung zwischen Kunde und Cloud-Provider existiert, können die Cloud-Kosten auch über diesen Weg fakturiert werden, was in der Regel mit Rabatten belohnt wird. Weiterhin preismindernd ist die Reservierung bestimmter Ressourcenkontingente über einen längeren Zeitraum. Bestimmte Systemhäuser bieten als Zwischenhändler Zusatzleistungen wie erweiterten Support, eine bedarfsgerechte Abrechnung und andere Dienstleistungen an.
Fazit: Es ist kompliziert – aber nicht unmöglich
Für die Einschätzung der Kosten braucht man ein solides Grundverständnis der jeweiligen Cloud Architektur, sowie Fachwissen zu den Komponenten und der Lösung. Im Idealfall wurde eine ähnliche Lösung schon einmal implementiert und man kann sich die möglichen Kosten für das eigene Projekt ableiten.
Die Cloud-Anbieter haben Preisrechner, mit denen man sich an eine erste Einschätzung herantasten kann. Es bietet sich an, hier etwas pessimistisch zu kalkulieren, den wirklichen Workload im produktiven Betrieb über einen Zeitraum zu monitoren und dann noch einmal über mittel- bis langfristige Workload-Entwicklungen und mögliche Kosten-Optimierungen nachzudenken.
Mitmachen!
Bei uns ist nicht nur gut aufgehoben, wer beraten werden möchte, sondern auch, wer selbst gerne berät und Ideen in anspruchsvollen Projekten umsetzt. Passende Jobs gibt es immer aktuell unter unseren Stellenanzeigen.