AWS Cloud Development Kit v2 vereinfacht den Umgang mit Updates
Die Developer Preview des Open-Source-Frameworks für Infrastructure-as-Code vereint die Construct Library in einem Paket und nutzt standardmäßig Feature Flags.

(Bild: Shutterstock/Milos Milosevic)
Amazon hat die Developer Preview der Version 2.0 des AWS Cloud Development Kit (AWS CDK) veröffentlicht. Im Unterschied zu verbreiteten Infrastructure-as-Code-Frameworks (IaC) erlaubt das quelloffene AWS CDK Entwicklerinnen und Entwicklern, ihre Ressourcen für das Provisionieren ihrer Cloud-Anwendungen über AWS CloudFormation mit gängigen Programmiersprachen wie TypeScript, Python, Java, C# (.NET) und Go zu schreiben. Das neue Release soll nun die Handhabung in vielerlei Hinsicht vereinfachen – insbesondere in Hinblick auf das Einbinden aktualisierter Pakete sowie bei der Migration auf aktualisierte Versionen des AWS CDK.
Neues Programmiermodell fĂĽr Constructs
Als Reaktion auf das Feedback von Anwenderinnen und Anwendern, denen das Dependency Management mit der bisher fĂĽr einzelne Services auf unterschiedliche Pakete verteilten AWS Construct Library zu komplex erschien, fĂĽhrt AWS CDK v2 die Bibliothek in einem einzigen Paket als aws-cdk-lib
zusammen. Sie enthält sämtliche Contructs des Cloud Development Kits, Construct Libraries von Drittanbietern benötigen lediglich eine Dependency auf aws-cdk-lib
. DarĂĽber hinaus hat AWS auĂźerdem das Programmiermodell fĂĽr Constructs in die Library constructs
ausgelagert – als Vorbereitung auf ein übergreifendes Konzept für Construct Libraries, wie es bereits in den Projekten cdk8s und terraform-cdk zum Einsatz kommt.
Während neu eingeführte, noch als experimentell eingestufte APIs aufgrund unzureichender Kennzeichnung in den CDK-1.x-Versionen zu überraschenden Breaking Changes führen konnten, durchlaufen neue APIs künftig eine von aws-cdk-lib
unabhängige Inkubationsphase. So lange sie sich noch bewähren müssen, erhalten die Pakete Namen, die ihren experimentellen Status erkennen lassen, wie beispielsweise @aws-cdk-experiments/aws-xxx, und Versionsnummern 0.x, die den Vorveröffentlichungsstatus deutlich machen. Erst als stabiles Modul fließen sie in aws-cdk-lib
ein.
Migrationsprobleme vermeiden
Die in AWS CDK v1 als grundlegendes Konzept eingeführten Feature Flags bieten Entwicklerinnen und Entwicklern die Möglichkeit, Verbesserungen und Fehlerbereinigungen schrittweise zum Kit beizutragen, ohne dabei laufende Applikationen zu beeinträchtigen. Bei der Migration neuer wie auch bestehender Anwendungen auf Version 2 des CDK sind jedoch sämtliche Feature Flags standardmäßig aktiviert – eine Rückkehr zum alten Verhalten ist dabei in der Regel ausgeschlossen. Für Fälle, in denen die Migration jedoch zu einem Ausfall beziehungsweise einer Unterbrechung der Applikation führen sollte, lassen sich die verursachenden Feature Flags offenbar doch zurücksetzen. AWS empfiehlt, vor einer geplanten Migration mit dem Befehl cdk diff
eine Abschätzung möglicher Auswirkungen auf die eigenen Apps vorzunehmen.
Weitere Informationen sowie Details zu sämtlichen Änderungen in der Developer Preview des AWS Cloud Development Kit v2 finden Interessierte im AWS Blog sowie auf der Projektwebsite auf GitHub.
Echte Programmiersprachen statt YAML & Co.
AWS hatte das Cloud Development Kit erstmals 2018 als Alternative zu Infrastructure-as-Code-Tools vorgestellt, die YAML oder eigene, proprietäre Konfigurationssprachen wie Terraform HCL verwenden. Das AWS CDK eröffnete Entwicklerinnen und Entwicklern die Option, mit vertrauten Programmiersprachen wie TypeScript, JavaScript und Java zu arbeiten – später folgten noch Python, .NET und Go. Der auf das Provisionieren von Cloud-Anwendungen über AWS CloudFormation zugeschnittene Ansatz bringt Dev und Ops näher zusammen. Denn er erlaubt die Deklaration wiederverwendbarer Software-Module für die Infrastruktur und bietet typsichere Codevervollständigung. Damit hat sich AWS CDK in den vergangenen Jahren einen festen Platz in Cloud-Entwicklerkreisen erobert.
(map)