2017.07.17

【DevOps 用語集】Infrastructure as Code(IaC)【2019年12月27日更新】

DevOps Hub編集部
このエントリーをはてなブックマークに追加

Infrastructure as Code(IaC)とは?

インフラの構成をコード化して管理する考え方を指します。

ひとことで「インフラ」といっても様々ですが、
代表的なものとしてサーバやネットワーク機器があげられます。

一般的に企業は様々なサーバやネットワーク機器を利用しているため、
これらの構築・設定・変更が必要になります。

今回は「IaCを導入しない場合」と「IaCを導入した場合」でどう変わるのか、
サーバの構築を例にしてご紹介します。

IaCを導入しない場合

手順書をもとに、手作業で一からサーバを構築する必要があるため、
「構築に時間がかかる」「ミスが多くなる」といった課題が生じます。

また、構築するサーバに関して知見を持つ人が必要で、
「特定の人にしか構築が難しくなる」という課題も生じます。

これらの課題は、構築するサーバが多いほど色濃くなります。

IaCを導入した場合

コード(一つの書式でまとめられた手順書)の利用によって、
上記の課題を解決します。

コードに「手順通りにサーバを自動で構築するプログラム」を記述しておき、
それを実行すれば、手順通りのサーバを簡単に構築できるという仕組みです。

このような構築は、コードの読み書きを習得することで可能になります。

さらにIaCは、インフラの構成をバージョン管理することも可能です。

たとえば、新しいバージョンにアップデートをして不具合が出た際でも、
古いバージョンに戻すことができます。

IaCを実現できるツール

IaCを実現するための有効な手段として、構成管理ツールの活用があげられます。
SB C&Sでは、その中でも代表的な「Ansible」「Chef」を取り扱っております。
詳細に関しては、関連リンクをご参照ください。

関連リンク

Ansibleが実現する「Automation for Everyone」
Chefで実現する継続的なコンプライアンスの自動化

この記事の著者:DevOps Hub編集部

DevOps Hub編集部は、DevOpsに関するコラム、インタビューなどさまざまな記事をお届けします。


DevOps Hubのアカウントをフォローして
更新情報を受け取る

  • Like on Feedly
    follow us in feedly

関連記事

このエントリーをはてなブックマークに追加

お問い合わせ

DevOpsに関することなら
お気軽にご相談ください。

Facebook、TwitterでDevOpsに関する
情報配信を行っています。