Upgrade to Pro — share decks privately, control downloads, hide ads and more …

IaCにおけるテスト考察 / Tests in IaC

IaCにおけるテスト考察 / Tests in IaC

@2024-06-24 さくらインターネット IaC 社内勉強会 LT

linyows

June 24, 2024
Tweet

More Decks by linyows

Other Decks in Programming

Transcript

  1. 小 田 知央 / Tomohisa Oda @linyows • 福岡市在住 •

    Fukuoka.go 主催 • 趣味は筋トレとテニス • OSS: Octopass, Dewy, Rotion, Warp… • https://tomohisaoda.com • https://x.com/linyows
  2. IaCのためのツールはほぼ宣 言 的なコード • IaCのツール、Terraform, Ansible, Chef, Puppet は宣 言

    的なインフラリソー スを定義する • 宣 言 的コードの実 行 保証はツール側であり、使う側があえてする必要はない • 利便性のために命令的なモジュールは存在するが宣 言 的になるようモジュール を作るのが好ましい • モジュール開発ではしっかりテストが必要
  3. 5 Ansible incorporates declarative and imperative means. This mix offers

    you the fl exibility to focus on what you need to do, rather than strictly adhere to one paradigm. l l
  4. IaCのUnitテストはコストと 見 合っているか • 経験としてはUnitテストを書く時間と得ら れる安全は 見 合っていない感覚がある • IaC

    本では、Application Codeのテストピ ラミッドとは異なり Declaration Codeの テストは ダイヤモンドモデルになるだろう と書いてある
  5. Online Stack testを書くには? • Online Stack testは、例えば、ネットワーク、コンピュート、データベー ス、ストレージが連携して期待する動作を確認する • そんなツールありますか?

    • 例えば、特定のapache moduleが有効になっていること(設定でなく実際使 える)、メールがを送信するとDKIMヘッダーがついていること • テストするには複雑なことが多い