「サーバ/インフラ徹底攻略」を読んだ

サーバ/インフラ徹底攻略 (WEB+DB PRESS plus)

サーバ/インフラ徹底攻略 (WEB+DB PRESS plus)

ご恵贈ありがとうございます!

TL;DR

mizzyさんのServerspecを利用したインフラCIの章、
サイバーエージェント社のメンテナンスの章は最高だった

もくじ

巻頭企画
[入門]コードによるインフラ構築
サーバ構成管理の自動化を実現する

第1章:ChefとVagrantによるインフラのコード化
設定の一元管理で作業を省力化する……伊藤 直也
第2章:Serverspecによるテスト駆動インフラ構築
設定変更の反映を確実なものにする……伊藤 直也
特集1
Amazon Web Services最新活用
レイヤ別比較,構築の定石,構成管理の自動化

第1章:Amazon Web Servicesレイヤ別比較
各サービスの特徴を理解し,うまく使い分ける……片山 暁雄,平山 毅
第2章:EC2とVPCによるシステム構築
セキュアで可用性を高めたインフラの作り方……舟崎 健治,吉荒 祐一
第3章:RDSによるデータベースの活用
作成,デプロイ,バックアップ……今井 雄太,八木橋 徹平
第4章:CloudFormationによる構築の自動化
テンプレートの作成からミドルウェア構築設定まで……安川 健太
特集2
テスト駆動インフラ&CI最前線
Infrastructure as Codeがもたらすワークフローの刷新

第1章:インフラのテストとその重要性
「インフラのコード化」による開発手法の応用……宮下 剛輔
第2章:テスト駆動インフラの実践
VirtualBox,Vagrant,Puppet,Serverspecによるテスト自動化……宮下 剛輔
第3章:インフラCIの実践
GitHub,Wercker,DigitalOceanによる継続的テスト……宮下 剛輔
第4章:インフラの継続的改善の実践
GitHub Flowをベースとしたワークフロー変革……宮下 剛輔
特集3
実践Immutable Infrastructure
使い捨てサーバによる運用の変革

第1章:Immutable Infrastructureとは何か
不変なサーバ,Blue-green Deploymentとそれらの利点……田中 慎司
第2章:Immutable Infrastructureで利用するツール/サービス
比較・整理と,システム全体での組み合わせ……田中 慎司
第3章:コンテナ型仮想化とクラウドによる実践
Docker+HAProxy,Amazon EC2+ELB……田中 慎司
第4章:クラスタ管理ツールによる実践
Apache Mesosでリソース管理の自動化……田中 慎司
特集4
[詳解]nginx
設定の柔軟性と優れたスケーラビリティ

第1章:nginxの世界へようこそ
アーキテクチャ,用途,メリット,デメリット……久保 達彦
第2章:はじめてのnginx
インストール,起動と終了,基本設定……道井 俊介
第3章:一般的なWebサーバの構築
バーチャルホスト,アクセス制御,SSL通信,基本認証……飯田 祐基
第4章:実践的なWebアプリケーションサーバの構築
Unicorn/RailsやPHP-FPMと連携させる……道井 俊介
第5章:大規模コンテンツ配信システムの構築
キャッシュ,ロードバランシングを活用する……飯田 祐基
第6章:拡張モジュールのしくみと作り方
nginxを自由にカスタマイズするための基礎知識……久保 達彦
特集5
メンテナンス本格入門
緊急対応,計画停止,メンテフリー化

第1章:メンテナンスとは
種類と手法を整理する……桑野 章弘
第2章:計画メンテナンスの流れ
事前準備,作業のチェック,振り返り……松浦 隼人
第3章:緊急メンテナンスの流れ
普段から備えるべきこと,障害時の対応……松浦 隼人
第4章:メンテフリーへのアプローチ【インフラ編】
省力運用を実現するインフラ,データベース設計と障害検知……松浦 隼人,中村 俊之
第5章:メンテフリーへのアプローチ【アプリケーション編】
ダウンタイムを減らすリリース手法とアプリケーション設計……福永 亘,中村 俊之,松浦 隼人
第6章:ガールフレンド(仮)とアメーバピグの事例
現場でどう実践し,どう障害を切り抜けたか……福永 亘,杉山 仁則
一般記事

Dockerで軽量な仮想環境
Linuxコンテナでインフラを瞬時に構築する……伊藤 直也

感想

なおやさんの章

Vagrant、Chef、Serverspecなどを利用したことのない人が
手元でひと通り読みながら進めるとインフラのコード化を実感できる.

AWSさんの章

Amazon Web Servicesの章はひと通りのサービスの説明と
実際にアプリケーションを動かす例が記載されている.
これを読めばいきなりAWSを駆使できるかと言われればNoだが
AWS全体のサービスを把握するのに良さそう.

mizzyさんの章

mizzyさんの章はServerspecの作者であるmizzyさんご自身の
Serverspecの活用方法で、実際にDigitalOceanwerckerを利用して
手を動かしながら、インフラのCIを体験することができる.
利用しているサービスも、DigitalOceanは一般的なインスタンスでも
1時間に1.6円(2014/10現在)で利用でき、
werckerはまだ無料の(2014/10現在)CIサービスなのでとても簡単に始めることができる.

導入だけでなくGitHub Flowを利用してどのように運用するかまで載っているので
インフラのCIインフラのCIって最近よく聞くけどどうやったらいいんだ.
という私と同じようなエンジニアにとっては大変ありがたい章だ.
全体のデザインのモチーフが宇宙観があって最高だった.

stanakaさんの章

先ほどのmizzyさんの章のモチーフが宇宙だったのに比べ、stanakaさんの章は神社だ.
Immutable Infrastructureをどのように実践するかの具体的な内容が記載されている.
はてな社はこの環境でプロダクトのサービスが動いているのだろうか.すごい.

nginxの章

nginxについて色々な内容が書いてあった.
本書の全体の構成の中で、nginxだけを扱うというスコープが
他の章と比べると少し変な感じがした.

メンテナンスの章

サイバーエージェント社の存在するサービスに対して
どのようにメンテナンス作業を行っているのかという社外に出てこないような知見を
このように書籍として読めるのは本当に貴重だと思う.

ウェブサービス業界のサーバサイドの勉強会はかなり多く開催されているが、
このような泥臭いというか、目新しくはないけど
確実に行わなければならない企業毎の知見みたいなものを共有していく重要性を
改めて考えさせられた章だった.ありがたい

Dockerの章

Vagrant + Dockerの基本的な内容が記載されている.
とりあえずどんなものか知るのに良さそう.

まとめ

職人がサーバひとつひとつ温もりを持って構築している職場を改善したい人や、
大企業でメンテナンス作業がどう行われているのか知りたいエンジニア、
インフラのコード化、インフラのCI、AWSなどざざっと把握してみたい人には良いと思う.