Closed6
AWS CDK コンストラクトの分割戦略 スクラップ
- 吉川さん
- AWS
コンストラクトで分割が注目されている
-
リソースグループカット
- DatabaseやNetwork
-
コンポーネントカット
- バックエンドとマイクロサービスなどの単位
コンストラクトで分割する文化
解決された問題
- CDKの基本概念での分割
- コンストラクト単位でぼAspect対応
- CFnコンソールでのTreeView
解決されていない問題
- 肥大化
- リファクタリングのしにくさ
- 再利用性
レベル指向プラクティスにおけるレベル概念
- L1 自動生成されるコンストラクト
- L2 特定のリソースを簡単に利用できるようにするコンストラクト
- L3 特定のアーキテクチャパターンを簡単に利用できるようにするコンストラクト
- L4 特定のサービス向けのコンストラクト(本来の概念ではない)
L2/L3が見つからない場合
- Open Constractをつかう
- Constracut Hubで探す
- 自分で作る
L2コンストラクトの作り方
- 特定のリソースにフォーカウする
- L2ni
- よくある機能があるだけで最初はOK
- L2インターフェースの定義
- 物理名の決定(CFnが自動生成しないばあい)
- IGrantable & grantXxxの実装
- iConnectaabeの実装(xxx.connections.allFromなど)
- その時必要なプロパティだけをPropsで定義
- 複雑性をとじこめるのでFine-grained Assertions Testは必要
- Integ Testも可能なら実装
ライブラリ化
フェーズ1
チーム内のみで利用
フェーズ2
組織内で配布
フェーズ3
OSSへ公開
このスクラップは5ヶ月前にクローズされました