Serverlose Preise und Kosten: AWS Lambda

Hallo habr Ich versuche Übersetzungen zu verbessern und freue mich über Ihre Kritik.
(Hinweis: Die Preise gelten ab August 2018)

AWS Lambda verfügt über 263 Werbebuchungen mit einzigartigen Preisschildern. Beispielsweise können sie als "Accelerated InterRegion Inbound using Edge-Standorte außerhalb der USA, Europas oder Japans, von der EU (Paris) bis zur EU (London)" bezeichnet werden und in jeder der 17 Regionen vorhanden sein. Insgesamt sind dies 4.471 Einzelpositionen, die Ihnen nach Abschluss von Lambda in Rechnung gestellt werden können.

Darüber hinaus gibt es 635.035 Positionen für den EC2-Dienst, 12.261 für Route53 und 15.283 für das API-Gateway. Insgesamt bietet Amazon Web Services über eine Million individuelle Tarife für verschiedene Dienste. Ihre Preispolitik ist so komplex, dass es eine ganze API gibt, um nur die Preise zu überprüfen. Damit habe ich diese Zahlen erhalten (obwohl Lambda nicht im Preisrechner enthalten ist).

Lambda-Preise sind sehr nicht trivial: Zunächst wird der kostenlose Level für die erste Million Anfragen verwendet, gefolgt von einem Preisschild von 0,20 USD für jede weitere Million Anfragen plus 0,00001667 USD für GB-Sekunden „Rechenzeit“, die im Laufe des Monats verwendet wurden Dies kostet die Gateway-API (3,50 USD pro Million Anfragen), um HTTP-Anfragen an Lambda zu senden. Sie werden auch für jede Datenübertragung Ihres Lambda (0,09 USD pro GB) sowie für alle Anfragen an Dynamo DB belastet.

Was ist "Rechenzeit"?


Wir haben festgestellt, dass 0,00001667 US-Dollar pro GB-Sekunde Lambda-Rechenzeit gezahlt werden. GB-Sekunde ist eine etwas seltsame Einheit, finden Sie nicht? Dies kann die Anzahl der Sekunden bedeuten, wenn Sie 1 GB Arbeitsspeicher verwenden. Tatsächlich ist dies jedoch die Anzahl der Sekunden, in denen die Berechnungen ausgeführt wurden, multipliziert mit der Anzahl der GB, die für diese Berechnungen zugewiesen wurden.

Für diejenigen, die Mikrocenter als Maßeinheit nicht mögen, habe ich die Zahlen in einem Diagramm zusammengefasst, das zeigt, wie viel Arbeitsspeicher und CPU-Zeit Sie für 1-6 Dollar pro Million Anfragen erhalten:

Bild

Amazon veröffentlicht Preise, die keine Grundgebühr von 0,20 USD enthalten, die ich jedoch in meine Berechnungen einbezogen habe.

Und was ist eine Millisekunde Prozessorzeit? Millisekunden-Computing auf Apple II repräsentiert 3.000 Prozessorzyklen. Auf meinem Intel i7 Laptop sind es 4 Millionen Zyklen. Bei Amazon erhöhen sie die Geschwindigkeit des Prozessors, je nachdem, wie viel Speicher Sie verwenden. Mit anderen Worten, Ihre Leistung ist die Arbeitsspeicher-CPU-Zykluszeit , bei der die CPU-Zykluszeit proportional zum verwendeten Arbeitsspeicher abnimmt. Diese CPU-Beschleunigung wird fortgesetzt, bis die Ressource eines Prozessorkerns erschöpft ist. Anschließend werden Ihnen Ressourcen des zweiten Kerns bereitgestellt, die je nach Build Ihrer Anwendung möglicherweise nützlich oder gar nicht verwendet werden.

Unter Berücksichtigung dieser Details habe ich das Diagramm angepasst, um zu zeigen, wie viel CPU-Zeit Sie tatsächlich erhalten. Ich habe mich auf die üblichen Serverprozessoren konzentriert, die wir im Vergleichstest verwendet haben.

Bild

Wie Sie aus dem Diagramm ersehen können, spielt es keine Rolle, ob Sie Lambda mit 1024 MB für 100 ms oder 128 MB für 800 ms ausführen. Sie erhalten dieselbe Menge an Berechnungen und zahlen dieselbe. Über 1024 MB erreichen Sie die Leistung eines Prozessorkerns und erhalten die Leistung des zweiten Kerns (wenn Ihre Anwendung Multithread-fähig ist und diese verwenden kann).

Abrundung


Zusätzlich wird die Prozessorzeit auf die nächsten 100 ms gerundet, was bedeutet, dass selbst ein einfaches Lambda, das die aktuelle Zeit in unseren Tests zurückgibt, uns 0,41 USD pro Million Anrufe gekostet hat. Natürlich arbeitet Ihr Lambda selten mit der exakten Anzahl von Millisekunden, die ein Vielfaches von 100 ist. Häufiger werden Sie eine bestimmte Anzahl von ms verwenden, die Amazon rundet, um zu berechnen, wie viel Sie bezahlen werden. Da sie immer aufgerundet werden, bedeutet dies, dass Sie durchschnittlich 50 ms CPU für jeden Aufruf überbezahlen:

Bild

API-Gateway


AWS Lambda kann eine Vielzahl von Aufgaben in Amazon ausführen. Zuallererst sind sie für uns interessant, um Webanwendungen ohne Server zu erstellen. Und zu diesem Zweck kann Lambda nicht direkt verwendet werden, da es eine Art HTTP-Server benötigt, der die Anforderung in die aufgerufene Lambda-API konvertieren kann. Der einfachste Weg, dies zu tun, ist die Verwendung der Amazon Gateway-API.

Die Kosten für API Gateway betragen 3,50 USD pro Million Anfragen, was häufig die Kosten für Lambda selbst übersteigt. Hier ist unser Diagramm oben, jedoch angepasst für API Gateway:
Bild

Sie werden feststellen, dass die Zeilen von 1, 2 und 3 Dollar aus der Tabelle verschwunden sind. Das absolute Minimum sind $ 3,91 / Million Anfragen, vorausgesetzt Ihr Lambda verbraucht sehr wenig CPU.
Sie müssen auch für den Datenverkehr und eine zusätzliche Gebühr pro Stunde zahlen, wenn Sie das Caching verwenden möchten.

Route 53


Amazon Route53 DNS ist auch nicht kostenlos. In den ersten Milliarden Abfragen belaufen sich die Kosten auf 0,40 USD pro Million DNS-Abfragen. Damit belaufen sich unsere minimalen Gesamtkosten auf 4,31 USD / Mio.

Mehr Ausgaben


Das Berechnen aller Kosten kann mühsam sein. CloudWatch-Protokolle kosten 0,50 USD pro GB. Gleichzeitig wirken sich 0,09 US-Dollar pro GB Datenverkehr erheblich auf das Konto aus.

Lambda @ Edge


Amazon bietet eine Möglichkeit, Code über den Cloudfront CDN-Dienst auszuführen. Dort sind konstante und variable Kosten dreimal so hoch wie bei herkömmlichem Lambda.

Um Lambda @ Edge für HTTPS-Anfragen nutzen zu können, müssen Sie zunächst Cloudfront für 1 Million US-Dollar kaufen. Sie zahlen auch für die Bandbreite, die leicht zum Hauptkostenposten werden kann. Wenn Ihre Site 1 MB beansprucht, zahlen Sie am Ende bis zu 85 US-Dollar pro Million für Cloudfront-Bandbreite oder 250 US-Dollar für Regionen wie Südamerika. Zuzüglich 20 USD pro Million Anfragen, die an den Absender zurückgesandt werden müssen.

So viel müssen Sie letztendlich nur für Lambda @ Edge-Berechnungen bezahlen:

Bild

Source: https://habr.com/ru/post/de481664/


All Articles