Amazon CodeCatalyst: Das Preismodell erklärt

  • Veröffentlicht

Ich habe versucht, eine Kostenschätzung für Amazon CodeCatalyst (für unsere Vergleichseite DevStack vs. CodeCatalyst) zu berechnen, war aber von dem komplexen Preismodell verwirrt. Falls es anderen auch so geht: Hier habe ich meine Fragen und -antworten zum Pricing zusammengefasst.

Was ist Amazon CodeCatalyst?

Amazon bezeichnet CodeCatalyst als einen „Softwareentwicklungsdienst“, der eine Reihe von Cloud- und Automatisierungsressourcen für DevOps-Aufgaben bietet. Einer dieser Dienste sind Dev Environments, d. h. Cloud Development Environments oder CDEs. CodeCatalyst ist Teil der AWS-Cloud-Plattform und nur als SaaS verfügbar.

Was sind Amazon CodeCatalyst Dev Environments?

Amazon CodeCatalyst Development Environments sind einzelne Container, die für einzelne Entwickler_innen deployed werden und als Entwicklungsumgebungen dienen. Die Container enthalten typischerweise eine Kopie des Quellcode-Repositorys und können mit AWS Cloud9, VS Code oder einer der JetBrains-IDEs über den Browser zugegriffen werden.

Amazon CodeCatalyst Development Environments sind nicht dafür vorgesehen, die Software zu erstellen und auszuführen, an der die Entwickler_innen in ihrer Entwicklungsumgebung arbeiten. Stattdessen können Workflows eingerichtet werden, bei denen beispielsweise ein Commit, den ein_e Entwickler_in in der Entwicklungsumgebung durchführt, eine Build-Pipeline in AWS auslöst und die Software in eine andere AWS-Ressource, zum Beispiel eine Staging-Umgebung, deployed.

Wie viel kostet Amazon CodeCatalyst?

Wie alle anderen AWS-Produkte hat auch CodeCatalyst eine ziemlich komplexe Preisstruktur. Lizenzen werden pro Benutzer_in erworben. Es gibt neun verschiedene Elemente, für die den Nutzern_innen Kosten berechnet werden. Derzeit sind zwei Lizenzstufen verfügbar, die Kontingente für jedes einzelne Element im Preismodell enthalten. Die Standardstufe ist für einzelne Entwickler_innen gedacht. In der Enterprise-Stufe können Kontingente zwischen den Benutzern_innen geteilt werden.

Was sind Amazon CodeCatalyst Dev Environment Hours?

Als ich zum ersten Mal versuchte, eine Kostenschätzung für CodeCatalyst zu erstellen, war ich am meisten von der Tatsache verwirrt, dass die Preislisten separate Gebühren für „Dev Environment Hours“ und „Compute“ auflisten. Die Dev Environment Hours sind die Zeit, in der eine Entwicklungsumgebung läuft – von dem Moment an, in dem ein_e Entwickler_in eine Entwicklungsumgebung startet, bis zu dem Zeitpunkt, an dem diese Entwicklungsumgebung gestoppt oder gelöscht wird.

Kosten die Amazon CodeCatalyst Dev Environments für alle Maschinentypen dasselbe?

Es gibt verschiedene Maschinentypen für Dev Environments. In der Preistabelle ist eine Anzahl von Stunden für Dev Environment Hours aufgeführt, die in jeder Lizenzstufe enthalten sind, aber es wird nicht angegeben, ob das unabhängig vom Maschinentyp ist. Also habe ich nachgefragt. Leider habe ich vom AWS-Supportsystem keine zufriedenstellende Antwort zu erhalten. Am Ende habe ich einfach angenommen, dass die Logik dieselbe ist wie bei den Compute-Minuten: Die in jeder Lizenzstufe enthaltenen Stunden basieren auf dem kleinsten Maschinentyp (2 vCPU/4 GB RAM). Jede größere Maschine kostet doppelt so viel wie die vorherige. Dies ist eine Annahme!

Zum Beispiel sind in der Enterprise-Stufe 160 Stunden Dev Environment Hours pro Benutzer_in enthalten. Das würde bedeuten:

  • 160 Dev Environment Hours für eine 2 vCPU/4 GB RAM Maschine, danach $0,12/Stunde
  • 80 Dev Environment Hours für eine 4 vCPU/8 GB RAM Maschine, danach $0,23/Stunde
  • 40 Dev Environment Hours für eine 8 vCPU/16 GB RAM Maschine, danach $0,46/Stunde
  • 20 Dev Environment Hours für eine 16 vCPU/32 GB RAM Maschine, danach $0,92/Stunde

Wofür wird Amazon CodeCatalyst Compute verwendet?

Amazon CodeCatalyst Compute wird für sogenannte Workflow-Aktionen verwendet. Workflow-Aktionen sind Automatisierungen, die innerhalb einer Entwicklungsumgebung ausgelöst werden können. Zum Beispiel kann ein Build- und Test-Workflow ausgelöst werden, wenn ein_e Entwickler_in Code in das Quell-Repository der Entwicklungsumgebung committet. Separate AWS-Ressourcen werden gestartet, um diesen Workflow auszuführen: ein Build-Server, eine Testumgebung usw.

Das bedeutet, dass Amazon CodeCatalyst Compute die Zeit ist, in der andere AWS-Ressourcen zusätzlich zu einer Entwicklungsumgebung laufen, um Automatisierungsschritte auszuführen, die durch Aktionen von Entwicklern_innen in ihrer Entwicklungsumgebung ausgelöst werden.

Was sind Amazon CodeCatalyst Compute Minutes?

Amazon CodeCatalyst Compute Minutes sind keine tatsächlichen Minuten. Es gibt verschiedene Maschinentypen, die für Workflow-Aktionen verwendet werden können, die Compute Minutes nutzen. Die Amazon CodeCatalyst Compute Minutes basieren auf dem kleinsten Maschinentyp: 2 vCPU/4 GB RAM. Es sind drei Größen verfügbar, und jede Größe kostet doppelt so viel wie die vorherige.

Zum Beispiel sind in der Enterprise-Stufe 1500 Compute Minutes pro Benutzer_in enthalten. Das bedeutet:

  • 1500 Minuten Compute für eine 2 vCPU/4 GB RAM Maschine (25 Stunden), danach $0,005/Minute ($0,3/Stunde)
  • 750 Minuten Compute für eine 4 vCPU/8 GB RAM Maschine (12,5 Stunden), danach $0,01/Minute ($0,6/Stunde)
  • 375 Minuten Compute für eine 8 vCPU/16 GB RAM Maschine (6,25 Stunden), danach $0,02/Minute ($1,2/Stunde)

Was sind Amazon CodeCatalyst Custom Blueprints?

Ein Aspekt, der mir relevant erschien, obwohl dafür kein Preis angegeben war, war die Funktion der „Custom Blueprints„. Bei meinen Recherchen war ich überrascht festzustellen, dass AWS erst kürzlich begonnen hat, Custom Blueprints zu unterstützen. Diese ermöglichen es Organisationen, ihre Entwicklungsumgebungen und die damit verbundenen automatisierten Workflows anzupassen.

So berechnen Sie eine Kostenschätzung für Amazon CodeCatalyst

Um zu berechnen, wie viel CodeCatalyst kosten kann, benötigen Sie folgende Informationen:

  • Wie viele Stunden erwarten Sie, dass Ihre Entwickler_innen Dev Environments pro Monat nutzen?
    • Faktoren, die dies beeinflussen:
      • Wie viel Zeit Ihre Entwickler_innen tatsächlich an Code arbeiten im Vergleich zu anderen Aktivitäten wie Meetings, Unterstützung von Kollegen_innen usw.
      • An wie vielen verschiedenen Projekten Ihre Entwickler_innen arbeiten. Wenn sie an mehreren Projekten parallel arbeiten (d.h. verschiedene Softwareprodukte/Apps oder verschiedene Versionen derselben Software), könnten sie eine höhere Nutzung der Dev Environments haben, da sie wahrscheinlich mehrere Entwicklungsumgebungen gleichzeitig laufen lassen.

Für unsere Berechnung nehmen wir 160 Stunden Laufzeit der Dev Environments pro Monat an.

  • Welchen Maschinentyp benötigen die Entwickler_innen für ihre Dev Environments?
    • Faktoren, die dies beeinflussen:
      • Wie groß und komplex ist Ihre Codebase? Große und komplexe Codebasen benötigen möglicherweise größere Maschinen, um selbst grundlegende IDE-Funktionen wie Linting, Volltextsuche usw. zu unterstützen.
      • Was werden Ihre Entwickler_innen innerhalb der Dev Environments tun? Wenn Ihre Entwickler_innen Code kompilieren und debuggen möchten, erfordert dies mehr Ressourcen, als wenn sie nur Code speichern und bearbeiten.

Für unsere Berechnung nehmen wir an, dass wir mindestens einen Teil unserer Anwendung innerhalb der Dev Environment ausführen wollen und eine 8 vCPU / 16GB RAM Maschine benötigen.

  • Welcher Maschinentyp wird für die Workflow-Aktionen benötigt, die Ihre Entwickler_innen verwenden werden, wie z.B. Build und Testing?
    • Wenn Sie bereits Build-Server oder CI/CD-Pipelines haben, können Sie die dort verwendeten Maschinenarten überprüfen.
    • Unsere eigenen Build-Server laufen mit 4 vCPUs und 16GB RAM, was keine Option in CodeCatalyst ist, daher haben wir auch für Compute eine 8 vCPU / 16GB RAM Maschine angenommen.
  • Wie viele Workflow-Aktionen werden Ihre Entwickler_innen benötigen und wie lange laufen sie?
    • Dies war am schwersten abzuschätzen. Unsere Entwickler_innen builden unsere Software sehr oft lokal. Unser_e durchschnittliche_r Vollzeitentwickler_in pusht 100-150 Mal pro Monat nach Staging. Jeder Build kann zwischen 5-30 Minuten dauern, abhängig davon, wie viele Komponenten gebuilded werden müssen, ob die Caches bereits gefüllt sind oder nicht, ob und welche Tests ausgeführt werden usw. All dies hängt von den Art der gepushten Änderungen ab.
    • Ich kam auf eine Mindestgrenze von 10 Stunden Build- und Testzeit pro Monat (100 Builds, je 6 Minuten), mit einer Obergrenze irgendwo bei 40 Stunden Build- und Testzeit pro Monat (150 Builds, je 16 Minuten).

Für unsere Berechnung entschied ich mich, 25 Stunden (= 1500 Minuten) Build-Zeit pro Monat anzunehmen.

  • Für unsere Berechnung entschied ich mich anzunehmen, dass die enthaltenen Quoten für Speicher, Paketanforderungen usw. ausreichen und habe diese nicht separat geschätzt. Wenn Ihre Software mit großen Datenmengen arbeitet, könnte dies ein weiterer relevanter Kostenfaktor für Sie sein.

Unsere Schätzung für Amazon CodeCatalyst

# Dev Environment hours Compute minutes
Benötigt
160 / Monat 8 vCPU / 16GB RAM
1500 / Monat 8 vCPU / 16GB RAM
In Lizenz enthalten
40
375
Zusätzliche Einheiten benötigt
120
1125
Kosten pro zusätzliche Einheit
$ 0,46
$ 0,02
Gesamt
120 * 0,46 = $ 55,2
1125 * 0,02 = $ 22,5

Gesamtkosten:

  • Grundlizenzkosten: $20
  • Zusätzliche Dev Environment Hours: $55,20
  • Zusätzliche Compute Minutes: $22,50
  • Gesamtkosten pro Entwickler_in pro Monat: $97,70

Amazon CodeCatalyst: Für wen ist es?

Der Eindruck, den ich nur aus der Recherche des Preismodells gewonnen habe: Amazon CodeCatalyst ist ein komplexes Produkt, das hauptsächlich an Entwickler_innen und Organisationen gerichtet ist, die bereits AWS als ihren Haupt-Cloud-Anbieter nutzen und bereits Ihre CI/CD-Pipeline in AWS eingerichtet haben. Für alle, die AWS noch nicht für DevOps-Automatisierungen nutzen, hat CodeCatalyst eine steile Lernkurve.

Beim Vergleich ihres Preismodells mit anderen Anbietern ist Amazon CodeCatalyst auch auf der teuren Seite (obwohl ich vermute, dass viele jüngere CDE-Anbieter derzeit investitionssubventionierte Preise anbieten, die nicht nachhaltig sind).

Erfahren Sie mehr über die verschiedenen CDE-Produkte, die derzeit auf dem Markt sind: Full list of CDE vendors (+ feature comparison table)

Johannes Ebner

Marketing Manager