概要
WEB+DB PRESS plus徹底攻略シリーズでは,Webアプリケーション開発のためのプログラミング技術情報誌『WEB+DB PRESS』の掲載記事をテーマ別に厳選し,再編集してお届けします。『サーバ/インフラ徹底攻略』では,インフラ構築/運用の自動化ツールとして注目されているChef,Vagrant,Serverspec,Docker,その他にもAmazon Web Services,テスト駆動インフラ&インフラCI,Immutable Infrastructure,nginx,運用時のメンテナンスなど,エンジニアにとって必須のノウハウを1冊にギュッとまとめました。
巻頭企画
[入門]コードによるインフラ構築
サーバ構成管理の自動化を実現する
これまでのサーバ運用においてアップデートやバグ修正がある場合は,手順書にしたがって変更を加えるなどの作業を行っていました。しかしツールの進化によって,仮想環境上にサーバを構築し,コードでサーバの構成管理を行うという手法が利用されるようになりました。本巻頭企画ではそのような手法を実現するツールであるChef,Vagrant,Serverspecを取り上げ,導入から設定までわかりやすく解説しています。
特集1
Amazon Web Services最新活用
レイヤ別比較,構築の定石,構成管理の自動化
日本でもクラウドの利用が企業を中心に急速に進んでいます。本特集はクラウドの中で一番利用されているAmazon Web Services(AWS)の最新機能の紹介と主要なサービスの使いどころについて解説します。第1章で30以上にもわたるAWSのサービスのうち,特に重要なサービスの紹介とレイヤ別の比較を行ったあと,第2章でEC2,VPCのインフラ,第3章でRDSなどのデータベースの設定について解説し,第4章でCloudFormationによる構成の自動化を解説します。
特集2
テスト駆動インフラ&CI最前線
Infrastructure as Codeがもたらすワークフローの刷新
本特集のテーマは「テスト駆動インフラ」と「インフラCI」です。Puppet やChef といった構成管理ツールの普及により,インフラをコード化する「Infrastructure as Code」が広がりました。インフラをコードで記述できるようになると,テスト駆動開発や継続的インテグレーション(CI)といった開発手法をインフラに対して適用することが可能となります。そこで本特集では,テスト駆動インフラとインフラCIを実運用レベルで実践するための具体的な方法を解説します。テスト駆動インフラにはPuppet,Serverspec,Vagrant,VirtualBoxを用い,インフラCIにはGitHub,Wercker,DigitalOceanを用います。
特集3
実践Immutable Infrastructure
使い捨てサーバによる運用の変革
直訳すると「不変なインフラ」となるImmutable Infrastructureは,2013年に提唱され,現在注目を集めている手法です。Immutable Infrastructureでは,各サーバを一度セットアップしたあとは変更は行わず,いつでもサーバを再構成できるようにしておくことによって,運用コストを下げ,アプリケーションのテストやデプロイのプロセスをシンプルにします。本特集ではImmutable Infrastructureの概念や背景説明から,Docker+HAProxy,Amazon EC2+ELB,Apache Mesosによる実践までを徹底解説します。
特集4
[詳解]nginx
設定の柔軟性と優れたスケーラビリティ
Webサーバ,リバースプロキシなどとして利用できるnginxは,柔軟な設定が行えたり,高負荷時もパフォーマンスの劣化が少ないなどの特長があります。本特集では,大規模なサービスをnginxで構築・運用している執筆陣により,基本的な使い方から,現場の方にしかわからない実践的なノウハウまで解説します。
特集5
メンテナンス本格入門
緊急対応,計画停止,メンテフリー化
サーバメンテナンスを,可能な限りサービスを停止せず,短時間で,安全に行うために必要な知識を解説する特集です。定期的なもの,緊急のものや,サービスを停止するもの,一部を止めるもの,無停止のものなどを整理し,それぞれで考えるべきことを解説します。また,可能な限りメンテナンスを行わずに済むインフラ,アプリケーション設計についても解説します。後半では「ガールフレンド(仮)」「アメーバピグ」など実際のサービスで執筆者たちが経験したメンテナンスを例に挙げ,それまでの章で解説した知識をどのように活用するのかを明らかにします。
こんな方におすすめ
- 最新のインフラ構築/運用ツール事情を押さえたい人
- インフラの構築/運用の効率化を図りたい人
- アプリケーション開発がメインだが,インフラについても理解を深めたい人