AWS-Kosten, die jeder Programmierer kennen sollte

Ursprünglicher Autor: David Hatanian
  • Übersetzung
Der Titel dieses Beitrags - eine direkte Bezugnahme auf das Diagramm „Die Verzögerungszeiten , dass jeder Programmierer wissen sollte“ . Derzeit gibt es mehrere Versionen dieses Diagramms, und es ist schwierig, den ursprünglichen Autor zu ermitteln. Einige sagen, es ist Jeff Dean .

Wenn Sie an einem Projekt arbeiten, das einen großen Umfang erreichen muss, müssen Sie einige Probleme ausgleichen. Welche Annahmen treffen wir und wie können wir sie bestätigen? Wie schnell in den Markt eintreten? Wird unser Design den erwarteten Maßstab unterstützen?

Eines der Probleme bei der Skalierung sind die Infrastrukturkosten. Mit Cloud-Anbietern können Sie Tausende von Prozessoren erstellen und Terabytes an Daten mit einem Klick platzieren. Aber es ist teuer, und etwas, das für mehrere tausend Benutzer unbedeutend ist, kann zu einer großen Lücke im Budget werden, wenn Sie Millionen von Benutzern erreichen.

In diesem Artikel werde ich einige Referenznummern auflisten, die bei der Betrachtung der Architektur hilfreich sind. Diese Zahlen sind nicht als genaue Schätzung des Budgets gedacht. Sie helfen zu bestimmen, ob Ihr Design Sinn macht oder ob es über das hinausgeht, was Sie sich leisten können. Daher betrachten wir die Größenordnungen und relativen Werte und nicht die absoluten Werte.

Beachten Sie auch, dass Ihr Unternehmen möglicherweise Rabatte von AWS erhält, was einen großen Unterschied machen kann.

Berechnungen


Was sind die aktuellen Kosten für die CPU? Über die wundervolle ec2instances.info- Oberfläche habe ich mittlere vCPU-Preise erhalten.

Sie können die Quelldaten aus dem Github-Repository abrufen . Ich habe sie kopiert und das Python-Skript verarbeitet, das ich auch für Github übernommen habe . Alle Preise gelten für die Region EU-West-1.

Durchschnittlicher monatlicher Preis
1 hochmoderne vCPU (4 AWS-ECUs) 58 US-Dollar / Monat
Mit 1 Jahr Cabrio Reservierung 43 US-Dollar / Monat
Mit 3 Jahren Cabrio Reservierung 30 $ / Monat
Mit Spotpreis (geschätzt) 30 $ / Monat

Ich habe die Spotpreise nach verschiedenen Usern bewertet. Da sich die Preise im Laufe des Tages ändern, konnte ich keine zuverlässige Datenquelle finden.

AWS repräsentiert die Rechenleistung seiner Maschinen in Elastic Compute Units, und 4 ECUs entsprechen mehr oder weniger der Leistung eines modernen Prozessors. Daher werden die oben genannten Preise für einen einzelnen Prozessor oder Core und nicht für eine einzelne Instanz angezeigt.

Hier ist der Preis von 1 ECU in Dollar pro Stunde in allen von mir bewerteten Fällen:



Und so werden die Preise auf Anfrage mit Reservierungen für ein und drei Jahre (Vorauszahlungen) verglichen:



Lagerung


Sie möchten also eine niedrige Latenz, eine hohe Bandbreite und möchten alles in Redis speichern? Zusätzlich zu diesen Kosten muss die CPU den Arbeitsspeicher bezahlen.

Ich habe den gleichen Ansatz verwendet, um den Durchschnittspreis von 1 GB RAM für EC2 zu erhalten. Elasticache ist ungefähr halb so teuer wie On-Demand, aber in reservierten Fällen sinken die Preise ziemlich schnell.

Durchschnittlicher monatlicher Preis
1 GB RAM $ 10 / Monat
1 GB RAM für einjähriges Backup 8 $ / Monat
1 GB RAM für drei Jahre Redundanz 5 $ / Monat
SSD 0,11 USD / Monat
HDD 0,05 USD / Monat
S3 0,02 USD / Monat
S3 Gletscher 0,004 USD / Monat

Dies sind zwar die Nettokosten für die Speicherung, Sie müssen jedoch auch die Verwendungsmuster für Ihre Daten untersuchen. Wie viel Prozessor benötigen Sie, um in einem 24/7-Speicher rund um die Uhr zu arbeiten?

Gleiches gilt für S3: Wie viel zahlen Sie für Lese- / Schreibanforderungen? Ich sah Workloads, bei denen die Speicherkosten auf S3 vernachlässigbar waren, aber die Kosten für das Schreiben einer großen Anzahl von Objekten auf S3 veranlassten das Team, ein eigenes Dateisystem auf S3 zu schreiben.

Übertragen


Ein paar Kommentare zu HackerNews zeigten, dass ich die Übertragungskosten verpasst hatte. Wenn Sie Endbenutzern Daten bereitstellen oder eine überregionale Replikation benötigen, müssen Sie diese Kosten berücksichtigen.

Art der Datenübertragung Transfer kostet 1 GB
EU / US-Region zu jeder anderen Region 0,02 USD / GB
APAC-Region zu jeder anderen Region 0,09 USD / GB
EU / US-Region im Internet 0,05 USD / GB
APAC-Region im Internet 0,08 USD / GB
Zwischen zwei AZs derselben Region 0,01 USD / GB
In einem AZ Kostenlos

Jetzt auch beliebt: