paint-brush
So verdienen Sie mit AWS in einem Jahr 1 Million US-Dollarvon@gianpicolonna
65,465 Lesungen
65,465 Lesungen

So verdienen Sie mit AWS in einem Jahr 1 Million US-Dollar

von Gianpi Colonna5m2024/04/28
Read on Terminal Reader

Zu lang; Lesen

Reduzieren Sie Ihre AWS-Cloud-Kosten um 90 %! Lernen Sie 4 Schritte zur Ausgabenoptimierung: Annahmen in Frage stellen, Ressourcen optimieren, Graviton-Instanzen verwenden und Nutzung überwachen.
featured image - So verdienen Sie mit AWS in einem Jahr 1 Million US-Dollar
Gianpi Colonna HackerNoon profile picture
0-item
1-item


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.


Was ist nötig, um jährlich 1 Million US-Dollar für Cloud-Kosten auszugeben?

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.



Wie fangen wir an zu sparen?

SCHRITT 1: Hinterfragen Sie Ihre Designannahmen

Erstellen Sie eine Liste Ihrer teuersten Anwendungen und hinterfragen Sie Ihre Designannahmen .

  • Erstellen Sie eine Anwendung mit einer Verfügbarkeit von 99,999 % und einer Latenz von unter einer Millisekunde, für die den Benutzern in realistischer Hinsicht aber eine Verfügbarkeit von 99 % und eine Latenz von Hunderten von Millisekunden ausreichen würden?
  • Erstellen Sie Datensätze mit Milliarden von Zeilen, aber die Benutzer würden nur Aggregationen einiger der Maßnahmen verwenden?
  • Erhalten Sie Daten in Echtzeit, die Daten werden jedoch nur einmal am Tag analysiert?
  • Aktualisieren Sie den Cache alle 10 Sekunden, obwohl sich die Daten tatsächlich nur im Laufe der Tage ändern?


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.


SCHRITT 2: Passen Sie Ihre Infrastrukturressourcen Ihren Anforderungen an

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:

  • Bedienen Sie Kunden weltweit oder nur in einem geografischen Gebiet? Muss Ihre Infrastruktur wirklich weltweit verfügbar sein oder können Sie sie näher an Ihrem Kundenstamm einrichten?
  • Überdimensionieren Sie Ihre Clusterinstanzen? Versuchen Sie sicherzustellen, dass genügend Kapazität vorhanden ist, um Spitzenlasten ohne unnötige Kosten zu bewältigen. Nutzen Sie die automatische Skalierung, um Ressourcen dynamisch an die tatsächliche Nachfrage anzupassen und so eine Überzahlung für ungenutzte Ressourcen zu vermeiden.
  • Wenn Sie mit Daten und Spark arbeiten, stellen Sie sicher, dass Sie die Konzepte und die Feinabstimmung von Spark verstehen! Wenn nicht, werfen Sie einen Blick auf die folgenden Ressourcen [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ].

SCHRITT 3: AWS Graviton-Instanzen verwenden

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.


SCHRITT 4: Überwachen Sie Ihre Kostenausgaben und schulen Sie Ihre Mitarbeiter in Bezug auf Kostenbewusstsein

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.


Abschließende Gedanken

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.