状態を定義するとプロビジョニング/デプロイ完了してくれる
プロビジョニングって実は複雑
まず”待ち”があるのでasync
複数のユニットがasync込みで依存してる (asyncなDAG構造)
ユニット立ち上げのAPIが存在しても、asyncをhandleしつつ並列か直列か考えて立ち上げAPIを叩くコードを書くのはそれなりに大変
待ちが問題になるのは待ちの後に何かをするから
cloudFormation強みその1は、プロビジョニンググラフ実行の抽象化
プロビジョニング・オーケストレーション…?
IaC自体はAWS SDKで出来る (パラダイムは命令的)
git管理できるのはIaCの結果
別件
IaCのいいところ
記録 ~ 実行
ドキュメント ~ プロビジョニングコード
記録残さないとお話にならない.
GUI操作の記録は、操作のスクショなりドキュメント
ドキュメント整備は人間には難しいので間違いなくミスや乖離が発生する
IaCは操作を書いて実行するのでそのものがドキュメント
乖離のしようがない.