プログラマでありたい

おっさんになっても、プログラマでありつづけたい

今どきのサーバ/インフラの構築の仕方。"サーバ/インフラ徹底攻略 (WEB+DB PRESS plus) "

f:id:dkfj:20141028062740j:plain

 10/30発売の「サーバ/インフラ徹底攻略 (WEB+DB PRESS plus) 」を、@imai_factoryさんに献本頂きました。ありがとうございます。まだパラパラめくっている状態ですが、最近のサーバ/インフラの構築・運用方法の潮流について、これ1冊で解る内容になっていて面白いです。

サーバ/インフラ徹底攻略とは?



 WEB+DB PRESSに掲載されたサーバ/インフラ関連記事を再編集したものです。2013年後半から2014年の記事が中心となっているので、取り扱うトピックスとしてもホットなものが多いです。かつ、ある程度時間が経っていることもあり、数ある類似の技術の中で定着しつつあるものが選ばれている印象です。

章ごとの感想


[入門]コードによるインフラ構築

 入門Chef SoloによってInfrastructure as Codeの概念を一気に普及させた@naoya_itoさんによるコードによるインフラ管理の話です。ChefとVagrant、Serverspecを利用して、実践例を解説しています。適度な難度のものを丁寧に説明されてるので、初めての人にちょうど良いと思います。私も、入門Chef Solo片手に動かしながら覚えました。
 ちなみに、この本は章ごとに技評の本の宣伝がされています。この章の末の紹介書籍は、この2冊です。納得です。

Chef実践入門 ~コードによるインフラ構成の自動化 (WEB+DB PRESS plus)

Chef実践入門 ~コードによるインフラ構成の自動化 (WEB+DB PRESS plus)

GitHub実践入門 ~Pull Requestによる開発の変革 (WEB+DB PRESS plus)

GitHub実践入門 ~Pull Requestによる開発の変革 (WEB+DB PRESS plus)

Amazon Web Services最新活用

 この章は、Amazonが誇るソリューションエンジニア(SA)陣による、AWSの紹介です。25ページ程の枠の中で、AWSのサービスの概要と概念、主要なサービスの紹介をポイント抑えて説明しているところは流石です。あらには、構築自動化という本書のテーマに沿って、CloudFormationとChefの組み合わせなど実践的な内容まで載っています。これからAWSをやってみようという人には、30分くらいでだいたい解るという内容になっています。流石です。
 章末の紹介書籍は、下記の2冊です。クラウドを支える技術は、Googleのクラウドの話なので苦渋の選択だったのではと思います。意外なことに、技術評論社さんからAWS関係の書籍でてないっぽいですね。

クラウドを支える技術 ―データセンターサイズのマシン設計法入門 (WEB+DB PRESS plus)

クラウドを支える技術 ―データセンターサイズのマシン設計法入門 (WEB+DB PRESS plus)

  • 作者: ルイス・アンドレ・バロッソ(Luiz André Barroso),ジミー・クライダラス(Jimmy Clidaras),ウルス・ヘルツル(Urs Holzle),Hisa Ando
  • 出版社/メーカー: 技術評論社
  • 発売日: 2014/09/26
  • メディア: 単行本(ソフトカバー)
  • この商品を含むブログ (1件) を見る
コンピュータアーキテクチャ技術入門 ~高速化の追求×消費電力の壁 (WEB+DB PRESS plus)

コンピュータアーキテクチャ技術入門 ~高速化の追求×消費電力の壁 (WEB+DB PRESS plus)

 ちなみに最近のAWSのお勧め本は、「Amazon Web Services 基礎からのネットワーク&サーバー構築」です。同じくAmazonのSA陣による執筆で、AWSのみならずネットワークやサーバ構築の考え方が解る1冊になっています。

Amazon Web Services 基礎からのネットワーク&サーバー構築

Amazon Web Services 基礎からのネットワーク&サーバー構築


テスト駆動インフラ&CI最前線

 この章は、ServerSpecの宮下さんによるテスト駆動開発とCIの話です。インフラのテスト自動化は構築の自動化とセットで、もしくはテスト自動化の方こそ先に導入すべきと考えています。その中で、ServerSpecは一番よい感じのテスト自動化ツールです。振る舞いをチェックするだけなので、ChefやPuppetまたは手作業で作ったサーバにも中立的にテストできます。
 あとGitHub Flowをベースとしたワークフロー変革の話もよいです。「バージョン管理は開発者のしつけ」から「バージョン管理ツールは開発者のコミュニケーションの中心」に変わりつつあるように思えます。その流れの中で、ワークフローどうするのというのが色々なところで議論されています。その中でGitHub Flowは、GitHubを中心としたワークフローのベストプラクティスの一つです。いちど読んでおいたほうがよいですよ。
 
 章末の紹介書籍は、下記の2冊です。GitHub実践入門をこちらにもってきた方が良かったのでは?

フロントエンド開発徹底攻略 (WEB+DB PRESS plus)

フロントエンド開発徹底攻略 (WEB+DB PRESS plus)

  • 作者: cho45(さとう),五十嵐啓人,伊野亘輝,須藤耕平,片山育美,池田拓司,高津戸壮,石本光司,竹迫良範,伊藤直也,若原祥正,沢渡真雪
  • 出版社/メーカー: 技術評論社
  • 発売日: 2014/07/16
  • メディア: 大型本
  • この商品を含むブログを見る
Ruby徹底攻略 (WEB+DB PRESS plus)

Ruby徹底攻略 (WEB+DB PRESS plus)

  • 作者: 角征典,成瀬ゆい,そらは(福森匠大),田中哲,笹田耕一,村田賢太,まつもとゆきひろ,松田明,後藤大輔,浦嶌啓太,高橋健一,柴田博志,近藤宇智朗,大和田純,白土慧,原悠(yhara),伊藤直也,WEB+DB PRESS編集部
  • 出版社/メーカー: 技術評論社
  • 発売日: 2014/06/12
  • メディア: 大型本
  • この商品を含むブログ (1件) を見る

実践Immutable Infrastructure

 はてなのCTOの田中さんによるImmutable Infrastructureの話です。2013年くらいから話題になってきたImmutable Infrastructureですが、クラウドの台頭で大量のサーバを増減させながら運用するようになって、サーバがどうあるべきかという姿の話だと思います。サーバを上げたり下げたりしていると、ステートレスにしておかないと面倒くさいことこの上ないんですね。10台規模くらいだったら手動でも何とかなるけど、数百台規模になると仕組みから考えないといけないという世界なのだと思います。Blue-green Deploymentなど、最近のデプロイ方法の実例など面白いです。

データベース徹底攻略 (WEB+DB PRESS plus)

データベース徹底攻略 (WEB+DB PRESS plus)

  • 作者: 松信嘉範,羽生章洋,ミック,奥野幹也,松下雅和,桑野章弘,青木峰郎,ひろせまさあき,小林篤,島田慶樹,WEB+DB PRESS編集部
  • 出版社/メーカー: 技術評論社
  • 発売日: 2014/03/15
  • メディア: 大型本
  • この商品を含むブログ (2件) を見る
Webサービス開発徹底攻略 (WEB+DB PRESS plus)

Webサービス開発徹底攻略 (WEB+DB PRESS plus)

  • 作者: 勝間亮,石田忠司,杉谷保幸,江口滋,上谷隆宏,青木俊介,久保達彦,池邉智洋,谷口公一,田淵純一,伊野友紀,西岡拓人,吉田俊明,古旗雅史,木野瀬友人,かなだまさかつ,牧本慎平,成田一生,舘野祐一,濱崎健吾,鈴木慎之介,齊藤宏多,WEB+DB PRESS編集部
  • 出版社/メーカー: 技術評論社
  • 発売日: 2013/01/26
  • メディア: 大型本
  • 購入: 6人 クリック: 65回
  • この商品を含むブログ (3件) を見る

[詳解]nginx

 本全体の流れの中で、少し唐突感があるのがnginxの特集です。ただ、最近Apacheとnginxの使い分けが増えてきたので、さらっと抑えておくには良い特集です。未だに字面をみてnginx(エンジンエックス)の読み方が解らなくなります。どこをどうやったら、この読み方になるのでしょうか?

Web開発の基礎徹底攻略 (WEB+DB PRESS plus)

Web開発の基礎徹底攻略 (WEB+DB PRESS plus)

  • 作者: 小飼弾,田籠聡,近藤宇智朗,並河祐貴,赤松祐希,井上誠一郎,ミック,天尋左石,和田裕介,WEB+DB PRESS編集部
  • 出版社/メーカー: 技術評論社
  • 発売日: 2013/07/23
  • メディア: 大型本
  • この商品を含むブログ (6件) を見る
JavaScript徹底攻略 (WEB+DB PRESS plus)

JavaScript徹底攻略 (WEB+DB PRESS plus)

  • 作者: 沖林正紀,吾郷協,高橋征義,名村卓,桜井雅史,縣俊貴,太田昌吾,天野祐介,飯塚直,佐藤鉄平,冨田慎一,WEB+DB PRESS編集部
  • 出版社/メーカー: 技術評論社
  • 発売日: 2013/01/26
  • メディア: 大型本
  • 購入: 7人 クリック: 69回
  • この商品を含むブログ (6件) を見る

メンテナンス本格入門

 いちばん面白いなぁと思ったのが、この章です。サーバーエージェントの技術者陣によって、運用や障害対応など実際の現場での対応方法が紹介されています。こういった情報は勉強会でたまに聞くことが出来ますが、本で読める機会というのは中々ないです。そういった意味で、かなり貴重な資料でしょう。読んでいるとあるあるが多すぎて、いろいろ苦労してきてインフラを支えているのだなと想像でき、胃が痛くなってきます。運用を踏まえての設計は、先人の知恵の結晶です。是非、先人の屍を乗り越えていきましょう。

全体の感想



 この本読んで、WEB+DBの連載陣のレベルの高さは凄いなと思います。毎月読んでたら、だいたいのトレンドは抑えられます。といっても、雑誌なのでテーマカットで掲載するのは難しいので、こういった総集編は良い切り口だなと思います。個々の内容については入り口のところまでの紹介なので、そんなに時間が掛けずに目が通せるので一度読んでおくと良いのではないでしょうか。

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

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

  • 作者: 伊藤直也,片山暁雄,平山毅,舟崎健治,吉荒祐一,今井雄太,八木橋徹平,安川健太,宮下剛輔,田中慎司,久保達彦,道井俊介,飯田祐基,桑野章弘,松浦隼人,中村俊之,福永亘,杉山仁則,WEB+DB PRESS編集部
  • 出版社/メーカー: 技術評論社
  • 発売日: 2014/10/30
  • メディア: 大型本
  • この商品を含むブログ (2件) を見る

サーバ/インフラ徹底攻略の目次



 念のため、目次つけておきます。

巻頭企画
[入門]コードによるインフラ構築
サーバ構成管理の自動化を実現するる……伊藤 直也
第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コンテナでインフラを瞬時に構築する……伊藤 直也

See Also:
Statelessなサーバについて 〜クラウド時代のサーバの在り方
何故、fluentdなのか?
Immutable InfrastructureとChefと冪等性の話
手動でサーバの設定をすることを禁ずる。入門Chef Solo