最近、AWSは、年次のre:Invent会議で、バージョン2.0のAWSクラウド開発キット(AWS CDK)とAWS Construct Hubの一般向け提供(GA)を発表した。AWS CDKは拡張可能なオープンソースソフトウェア開発フレームワークである。開発者は使い慣れたプログラミング言語を使ってクラウドインフラストラクチャをモデル化し、プロビジョニングできる。一方、AWS Construct Hubはオンラインレジストリを提供する。これによって、オープンソースコミュニティ、AWS、クラウドテクノロジープロバイダーが全CDKに対するコンストラクトライブラリを検出して共有できる。
同社は、新しいリリースが一般向けに利用可能になったため、CDKを使用したクラウドリソースの定義がさらに便利で簡単になったと言っている。Construct Hubを使うと、オープンソースのコンストラクトライブラリをより広範なクラウド開発コミュニティで共有できる。
AWS CDKの最初のバージョンは2019年7月にGAとしてリリースされた。その後、CDKの開発者プレビュー版が続き、開発者を参加させて、フレームワークの進化を促進した。現在、AWS CDKのバージョン2は、CDKプロジェクトで作業する開発者の生産性の向上に焦点を当てている。個々のパッケージ(ライブラリ)を単一のモノリシックパッケージに統合して依存関係の管理を簡素化している。さらに、CDKプロジェクトで複数のサービスからのコンストラクトの参照がより便利になっている。
AWS CDKとConstruct HubのGAに関するニュースブログの投稿で、AWSでの.NETとPowerShellの開発に注力しているディベロッパーアドボケートのSteve Roberts氏は次のように述べている。
バージョン2以降、モノリシックCDKパッケージには、顧客が常に信頼できる安定したAPIのみが含まれています。実験的なAPIは個別のパッケージで出荷されるため、チームとコミュニティがAPIを簡単に改訂できます。そして、顧客に対して、バージョン1の問題を引き起こすような偶発的な重大な変更が発生しないように保証できます。
また、Construct Hubは、コアAWS CDKモジュールを含む700を超えるCDKライブラリを提供している。顧客が好みのプログラミング言語、好みのユースケース、好みのプロビジョニングエンジン(CloudFormation Terraform、Kubernetes)を使ってクラウドアプリケーションを構築できるようになる。さらに、誰でもコンストラクトライブラリをConstruct Hubに提供できる。AWS Construct Hubに関するAWSオープンソースのブログ投稿で、AWS SaaS FactoryチームのシニアパートナーソリューションアーキテクトのAlex Pulver氏が、コンストラクトの概念について説明している。
コンストラクトは「期待状態の一部」を定義するオブジェクト指向のクラスです。コンストラクトを一緒に構成して、より複雑な期待状態を表す高レベルのビルディングブロックを形成できます。AWS、企業、スタートアップ、個々の開発者は、CDKコンストラクトを使って、実証済みのアーキテクチャパターンを再利用可能なコードライブラリとして共有できます。コミュニティの集合知から誰もが恩恵を受けることができるようになります。
最後に、AWS CDKバージョン2.0の詳細については、ベストプラクティスブログの投稿にあるAWS Construct Hubのドキュメントとガイダンスを参照してください。