Wenn Sie auf diese Seite gestoßen sind und glauben, Sie könnten mit einem Schnell-reich-werden-Programm reich werden, muss ich Sie leider enttäuschen. In diesem Artikel geht es vielmehr darum, wie Sie Ihre Cloud-Kosten um 1 Million Dollar senken können. Dadurch haben Sie im Wesentlichen eine zusätzliche Million Dollar an Einnahmen generiert – die Sie für den Kauf meines Online-Kurses „Wie man mit AWS reich wird“ ausgeben können ( Link zum Kurs hier ).
Die Cloud-Kosten werden zu Beginn von Unternehmensprojekten oft übersehen und nicht berücksichtigt. Die HashiCorp-Umfrage von 2021 ergab, dass fast 40 % der Unternehmen im Jahr 2021 zu viel für Cloud-Kosten ausgegeben haben [ 1 ]. Im Jahr 2023 gaben fast alle Unternehmen (94 %) zu, dass sie Geld für die Cloud verschwenden [ 1 ] und mindestens 30 % der Cloud-Kosten verschwendet wurden [ 2 ]. Die Cloud-Ausgaben beliefen sich im Jahr 2022 auf fast 500 Milliarden US-Dollar – wir sprechen also von 150 Milliarden US-Dollar, die pro Jahr verschwendet werden!!
Dies führt nicht nur zu Einnahmeausfällen, sondern auch zu mangelnder Nachhaltigkeit. 150 Milliarden Dollar an Energieverschwendung!
Diese Erkenntnisse betreffen sowohl große als auch kleinere Unternehmen, von hoher bis niedriger Cloud-Reife. Sie beziehen sich auf AWS, aber die gleichen Prinzipien können auch auf jeden anderen Cloud-Anbieter angewendet werden. Wenn also ein Teil Ihrer Arbeit in der Cloud stattfindet, ist dieser Artikel für Sie.
Ich spreche aus der Perspektive eines Dateningenieurs, aber die gleichen Erkenntnisse lassen sich auch auf andere Softwareentwicklungspraktiken anwenden.
Lassen Sie uns eintauchen.
Diese Art von Cloud-Rechnung ist normalerweise auf sehr große, weltweit tätige Unternehmen mit Millionen von Kunden beschränkt.
Um Ihnen eine Vorstellung zu geben: Ein Spark-ETL-Job, der rund um die Uhr an 365 Tagen im Jahr etwa 1,5 TB pro Stunde verarbeitet, kann eine Cloud-Rechnung von 1 Million US-Dollar bedeuten. Ein anderes Beispiel könnte eine Anwendung sein, die täglich Milliarden von Anfragen von mehreren Standorten auf der Welt erhält.
In einem großen Unternehmen dieser Größenordnung gibt es Hunderte von Anwendungen, was zu Milliardenverträgen mit Cloud-Anbietern führt. Beispielsweise hatte sich Airbnb Ende 2019 verpflichtet, innerhalb von fünf Jahren 1,2 Milliarden Dollar für Cloud-Ressourcen auszugeben [3 ].
Bei Expedia haben wir die Kosten für ein ETL-Datenverarbeitungsprogramm, das 1,1 Millionen Dollar pro Jahr kostet, durch die Implementierung von Optimierungsverfahren auf nur 100.000 Dollar pro Jahr gesenkt. Das ist eine Kostensenkung von 91 %!!
Nicht alle Unternehmen verfügen über Anwendungen dieser Größenordnung, aber stellen Sie sich vor, Sie könnten Ihre Cloud-Kosten für nur eine einzelne Anwendung oder für Ihr gesamtes Unternehmen um 90 % senken.
Erstellen Sie eine Liste Ihrer teuersten Anwendungen und hinterfragen Sie Ihre Designannahmen .
Alle diese Fragen führen zurück zur wichtigsten Frage: Wie wird die Anwendung genutzt? Welchen geschäftlichen Nutzen hat ihre Existenz? Wie hilft uns die Anwendung, ein bestimmtes Ziel zu erreichen?
Natürlich sind all diese Antworten zu Beginn eines Projekts sehr oft unklar. Aber deshalb sollte Design immer ein iterativer Prozess sein, der Änderungen so nahtlos wie möglich ermöglicht. Ingenieure sollten sich auf Entwicklung und Veränderung einlassen und die Anwendungsentwicklung auf die Wirkung ausrichten.
Der zweite Schritt besteht darin, die Anwendung mit den richtigen Ressourcen auszustatten und auf die richtige Infrastruktur abzustimmen.
Als Ingenieur sollten Sie wissen, wie die Cloud-Kosten berechnet werden. AWS bietet beispielsweise Spot-Instanzen an, bei denen Sie auf den Cluster-Preis bieten können – das ist besonders nützlich, wenn Sie fehlertolerante und flexible Anwendungen haben. Nutzen Sie diese, wenn Sie können – AWS verspricht eine Kostenreduzierung von bis zu 90 % [ 4 ].
Einige weitere Überlegungen, die Sie möglicherweise berücksichtigen möchten, sind:
Die Nutzung von AWS Graviton-Instanzen bringt kaum oder gar keine Nachteile mit sich. AWS hat stark in die Entwicklung der kosteneffizientesten Prozessoren investiert. Allein durch den Wechsel von einem Intel-basierten Prozessor zu einem ARM-basierten Prozessor können Sie Ihre Cloud-Ausgaben um bis zu 40 % senken [ 10 ].
Die einzige Einschränkung besteht darin, dass Ihre Anwendung mit den ARM-basierten Prozessoren kompatibel sein muss, auf denen Graviton läuft. Wenn Sie mit einem verwalteten Dienst wie RDS oder OpenSearch arbeiten, ist der Wechsel völlig unkompliziert – AWS kümmert sich um das zugrunde liegende Betriebssystem und die Anwendungskompatibilität. Wenn Sie Ihre eigene Anwendung erstellen, müssen Sie das Paket möglicherweise neu kompilieren, je nachdem, welche Sprache Sie verwenden – Java und andere Sprachen erfordern keine Änderungen, während Python etwas Aufmerksamkeit erfordert.
Vergessen Sie nicht, Ihre Kosten weiterhin im Auge zu behalten, um unerwartete Spitzen und Überraschungen zu vermeiden. Die Kosten am Tag 0 Ihrer Anwendung unterscheiden sich von den Kosten am Tag 170. Achten Sie darauf, dass Sie die Änderungen im Auge behalten und verstehen, warum die Änderung erfolgt: Steigen dadurch die S3-Speicherkosten oder handelt es sich nur um eine einmalige Spitze?
Richten Sie die erforderlichen Warnmeldungen und Betriebshandbücher ein !
Wichtig ist, dass Sie Kostenzuordnungs-Tags implementieren, um die Ausgaben nach Abteilung, Projekt oder Umgebung zu verfolgen. Vermeiden Sie das Risiko, einen Datensumpf zu schaffen, in dem die Kosten nicht nachvollziehbar sind oder eine lange Reise durch verschiedene Protokollsysteme erfordern. Es sollte schnell und einfach sein, auf die Kosten einer bestimmten Anwendung zurückzugreifen.
Egal wo Sie arbeiten, es ist schwierig, die Bereitstellung neuer Funktionen mit der Optimierung bestehender Funktionen in Einklang zu bringen. Wer wurde nicht schon einmal unter Druck gesetzt, mit Lichtgeschwindigkeit neue, ausgefallene Funktionen bereitzustellen?
Allerdings ist es für Ingenieure und Manager gleichermaßen wichtig, bei ihren aktuellen Projekten bewusste und proaktive Entscheidungen zu treffen und Risiken und Chancen effektiv zu managen.