Infrastructure as Code

インフラストラクチャ アズ コード

クラウドにおけるサーバ管理の原則とプラクティス

Infrastructure as Code の表紙
クラウド / インフラ / DevOps
著者:
Kief Morris / 宮下 剛輔 / 長尾 高弘(キーフ モリス / ミヤシタ ゴウスケ / ナガオ タカヒロ)
出版社:
オライリー・ジャパン
出版日:
2017年03月18日頃
ISBN:
9784873117966
在庫:
在庫あり
4.2(5 件 / 楽天ブックス)
中級者向け
Infrastructure as CodeAnsibleChefPuppetクラウドインフラ自動化サーバー管理DevOps構成管理CI/CD

なぜ注目されているか

総合263位 ↓ 2 ランクダウン 言及 11 件・うち記事 10 件を掲載
言及数
272位
03620222023202420252026

書籍紹介

Infrastructure as Code を定義づけし、さらに現代的なサーバインフラ管理のパターンやプラクティスを網羅的、体系的にまとめた本!
「Infrastructure as Code」とは、これまで手動で行ってきたインフラストラクチャの構成管理を、スクリプトや外部ファイルに記述し自動的に行う仕組みのことです。クラウドの発展により、開発環境と本番環境は限りなく同じ状態にすることが可能になり、Chef や Puppet、Ansible などのツールも数多く登場したことでエンジニアの間で注目をされています。本書は Infrastructure as Code を定義づけし、さらに現代的なサーバインフラ管理のパターンやプラクティスを網羅的、体系的にまとめています。

技書の森解説

『Infrastructure as Code』 (Kief Morris 著、宮下 剛輔 監訳、長尾 高弘 訳、オライリー・ジャパン、2017 年 3 月刊) は、サーバーやネットワークの構成を手作業でなく定義ファイルとして管理し、自動化とテストで変更を回していくための原則とパターンをまとめた方法論の本です。副題はクラウドにおけるサーバー管理の原則とプラクティスで、版元の紹介文では、自動化、バージョン管理、テスト、継続的インテグレーションといったソフトウェア開発のプラクティスをシステム管理に応用するための方法論と説明されています。特定のツールの操作手順ではなく、ツールが変わっても残る考え方を手に入れたいインフラエンジニアとそのマネージャーに向いた一冊です。

基礎 / パターン / プラクティスの 3 部 15 章の構成

構成は第 Ⅰ 部 基礎、第 Ⅱ 部 パターン、第 Ⅲ 部 プラクティスの 3 部 15 章です。第 Ⅰ 部は 1 章の課題と原則で、サーバースプロール、構成ドリフト、スノーフレークサーバー、オートメーション恐怖症といったダイナミックインフラストラクチャが生み出した課題を挙げ、再現できるシステムや使い捨てにできるシステムなどの原則を示します。続く 2〜5 章が、版元の紹介にある 4 つのカテゴリ、つまりダイナミックインフラストラクチャプラットフォーム、インフラストラクチャ定義ツール、サーバー構成ツール、主要なインフラストラクチャサービスの解説です。第 Ⅱ 部はサーバーのプロビジョニング、サーバーテンプレート管理、サーバーのアップデートと変更、インフラストラクチャ定義のパターンを章ごとに扱い、第 Ⅲ 部はソフトウェア工学のプラクティス、インフラストラクチャの変更のテスト、変更管理パイプライン、チームのワークフロー、継続性、そして 15 章の Infrastructure as Code のための組織へと、技術から運用と組織の話へ広がっていきます。

構成ドリフトとイミュータブルサーバー、なぜ原則から入るのか

Infrastructure as Code という考え方 の価値は、ツールを入れたこと自体ではなく、環境をいつでも同じ形で作り直せる状態を保てるかどうかで決まります。手作業の変更が積み重なると、同じ役割のはずのサーバーどうしで設定が少しずつずれていく 構成ドリフト が起き、再構築できない一点物のサーバーが生まれます。本書が 1 章でこうした課題に名前を付けてから原則へ進むのは、ツールの選択や設計の判断を、どの課題を防ぐためのものかに結びつけるためと読めます。8 章のサーバーのアップデートと変更のパターンでは、随時変更や継続的な構成同期と並べて、サーバーを書き換えず新しいものに置き換える イミュータブルインフラストラクチャ の考え方をイミュータブルサーバーとして扱い、構成管理ツールの単純化やブートストラップ時の設定まで掘り下げています。11 章はテストピラミッドに沿ったテストスイートの構造化、12 章はファンインパイプラインやコントラクトテストを含む変更管理パイプラインの設計を扱っており、アプリケーション開発で使われてきた手法をインフラの変更に持ち込む道筋が具体的に示されています。

2017 年時点のツール環境を前提に、設計の判断軸を学ぶ本

注意したいのは、本書が 2017 年 3 月刊の翻訳書で、紹介文でもツールの例として Chef、Puppet、Ansible が挙がっているように、その時点のツール環境を前提にしている点です。コンテナとコンテナオーケストレーションも 4 章と 5 章で扱いますが、特定ツールの書き方や設定例を追いたい人には向きません。Terraform や AWS CloudFormation の構文から覚えたい場合は、ツールごとの入門書を先に手に取るほうが早く成果が出ます。一方、ツールを導入したものの、環境ごとの定義ファイルが増え続ける、テストの置き場所が決まらない、変更の反映が人に依存しているといった状況にあるチームにとっては、9 章のアンチパターンや 13 章のワークフローの整理が、自分たちの状態を説明する言葉になります。

DevOps の分野で他にどの本を組み合わせるかは DevOps 本ガイド で整理していますが、本書はその中でも、インフラの自動化を原則とパターンの言葉で語れるようになるための一冊です。手を動かすハンズオン書と並べて読み、日々の構成管理の判断に根拠を持ちたい人にとって、長く手元に置ける本になります。

言及した記事 (10 件)

この本は技書デッキのカードです (備え 14) 図鑑でこの本を見る

この本に興味がある方におすすめ

関連する本

関連記事

関連用語

共有: