https://www.youtube.com/watch?v=rx4Uh3jv1cA
Ansible vs. Terraform: What's the difference?
(英語(アメリカ合衆国)>>日本語 自動翻訳字幕可)を見て、
Ansibleの(Terraformと比較して)苦手な点は以下あたりなのですね。
- プロビジョニング
- 宣言による管理
- 依存関係の扱い
- 運用
漠然と思っていたところを言語化してもらえて腑に落ちた。
確かにAnsibleにはリソース間の依存関係を扱う機能は無いですね。。
プロビジョニングをTerraform、構成管理をAnsibleにさせるとして、組み合わせ方としてすぐに思いつくのは、以下あたりか。。
- Terraformのlocal-exec provisionerなどからAnsibleを実行
- Ansible Moleculeのdelegated driverからTerraformを実行
- Ansible PlaybookからTerraformを実行
- Jenkinsなどからそれぞれを呼び出す
個人的にはMoleculeによる統合が整合性が取れていて好きだが、テスト環境限定かもしれない。