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.

Lesezeit: 2 Min.
In Pocket speichern
vorlesen Druckansicht Kommentare lesen 1 Beitrag

(Bild: Shutterstock/Milos Milosevic)

Von
  • Matthias Parbel

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.

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.

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.

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)