Closed6

AWS CDK コンストラクトの分割戦略 スクラップ

M.K Tech k.masachikaM.K Tech k.masachika

コンストラクトで分割が注目されている

  • リソースグループカット

    • DatabaseやNetwork
  • コンポーネントカット

    • バックエンドとマイクロサービスなどの単位
M.K Tech k.masachikaM.K Tech k.masachika

コンストラクトで分割する文化

解決された問題

  • CDKの基本概念での分割
  • コンストラクト単位でぼAspect対応
  • CFnコンソールでのTreeView

解決されていない問題

  • 肥大化
  • リファクタリングのしにくさ
  • 再利用性
M.K Tech k.masachikaM.K Tech k.masachika

レベル指向プラクティスにおけるレベル概念

  • L1 自動生成されるコンストラクト
  • L2 特定のリソースを簡単に利用できるようにするコンストラクト
  • L3 特定のアーキテクチャパターンを簡単に利用できるようにするコンストラクト
  • L4 特定のサービス向けのコンストラクト(本来の概念ではない)
M.K Tech k.masachikaM.K Tech k.masachika

L2コンストラクトの作り方

  • 特定のリソースにフォーカウする
  • L2ni
  • よくある機能があるだけで最初はOK
    • L2インターフェースの定義
    • 物理名の決定(CFnが自動生成しないばあい)
    • IGrantable & grantXxxの実装
    • iConnectaabeの実装(xxx.connections.allFromなど)
  • その時必要なプロパティだけをPropsで定義
  • 複雑性をとじこめるのでFine-grained Assertions Testは必要
  • Integ Testも可能なら実装

ライブラリ化

フェーズ1
チーム内のみで利用
フェーズ2
組織内で配布
フェーズ3
OSSへ公開

このスクラップは5ヶ月前にクローズされました