現在ポートフォリオ作成のためにテーマの検討や使用技術の選定をしています。
近年のWebサービス開発ではインフラをコード化することが増えているようで、私のポートフォリオでも導入しようと考えているので今回は「インフラをコード化するメリット」「インフラをコード化するためのツール」についてまとめました。
(2023年2月22日時点でざっと調べてわかったことをメモしています。誤った情報があるかもしれませんのでご了承ください。調査を加え次第随時更新します。)
インフラをコード化(IaC)するメリット
- 作業の効率化
- コードを記述してインフラ環境の構築・管理業務を自動化することで、手作業で行うよりも工数を削減できるため作業効率が上がる。また、一度記述したコードは再利用することができるため、同じ構成のサーバーを複数台用意する必要がある場合に、ゼロから何度も構築する手間が省ける。
- 人的ミスの削減
- IaCではコードに基づいて自動的に実行されるため人的ミスの削減が可能。複数のテスト環境を用意する場合や、同じ構成をユーザーごとに用意しなければならない場合など、同じ環境の構築が繰り返し必要な場面で非常に有効。IaCなら人的ミスを心配する必要もなく、環境全体の一貫性が保たれる。
- 管理・メンテナンス業務の負荷削減
- Gitなどのツールでインフラを構成するコードのバージョン管理が可能。コードの変更履歴や過去に実施した作業の確認ができ、大規模な環境でも管理・メンテナンスがしやすくなる。
インフラをコード化するためのツール
- Terraform
- AWS Cloud Formation
- Azure Resource Manager
- Deployment Manager