TJ Holowaychuk will mit Apex den Umgang mit AWS Lambda vereinfachen

Apex ist ein in Go geschriebenes Werkzeug zum Verwalten von Funktionen für AWS Lambda. Es kümmert sich automatisch um die passenden Ressourcen und bietet eine einfache Versionsverwaltung.

In Pocket speichern vorlesen Druckansicht
Das Tool Apex will den Umgang mit AWS Lambda vereinfachen
Lesezeit: 2 Min.
Von
  • Rainald Menge-Sonnentag

Amazon Web Services hat Lambda als einfache Schnittstelle zum Ausführen von Code im Cloud-Dienst eingeführt. Nutzer müssen nicht zuvor ein passendes System einrichten und keine Hardware oder VM reservieren. Sobald sie ihren Code hochladen, kümmert sich der Cloud-Dienst um die dynamische Bereitstellung der benötigten Ressourcen.

Ganz so einfach, wie es sich anhört, ist es in der Praxis jedoch nicht, meint der vor allem in der Node.js-Entwicklung bekannte TJ Holowaychuk. Daher hat er das Apex-Tool als Open-Source-Projekt gestartet, das nichts mit Apaches gleichnamigem Projekt zu tun hat. Ein Problem bei Lambda besteht laut Holowaychuk im umständlichen Ressourcenmanagement und der mangelnden Benutzerfreundlichkeit.

Apex ist ein in Go geschriebenes Werkzeug, das die Verwaltung der Funktionen und Ressourcen automatisiert. Entwickler legen eine JSON-Datei mit den Projektinformationen an und weitere JSON-Files für die Lambda-Funktionen. Das tatsächliche Verteilen des Projekts mit den enthaltenen Funktionen auf AWS Lambda geschieht über apex deploy. Dabei erstellt das System jeweils eine neue Version. apex rollback setzt das Projekt auf einen älteren Stand zurück.

Das Werkzeug bietet zusätzlich Funktionen zum Löschen von Inhalten, zur Verarbeitung von Eingaben über stdin und für Testläufe (Dry Run) von Verteil- oder Löschvorgängen. Zum Betrachten von CloudWatch Logs bietet es eine Tailing-Funktion. Apex lädt die von AWS Lambda unterstützten Sprachen Node.js, Python und Go direkt hoch. Für andere Sprachen nutzt es Node.js-Shimming.

Apex steht unter der MIT-Lizenz auf GitHub zum Download bereit. Dort befindet sich auch ein Wiki mit Anleitungen zu den einzelnen Komponenten. (rme)