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

サーバ/インフラ徹底攻略をご恵贈いただいていました!@mizzyさんありがとうございます。明日会うのにレビュー無しでお会いできないので遅まきながらエントリ。

全体通して、モダンなインフラ運用管理や関連技術を学ぶには必読だなという印象を持ちました。

特に表紙に載っているワード通りですが

  • Infrastructure as Code
  • テスト駆動インフラ&CI
  • Immutable Infrastructure

それぞれについて

  • 何故出て来たのか、また話題になっているのか
  • 実際にどういうことをやるのか、どう実践するのか

が把握でき、自分で手を動かしながら理解するのに非常によくまとまっています。

自分は情報のキャッチアップと今までの整理としてとても参考になりましたが、入門書としても良書だと思うので、これから上記トピックについて学びたい人にも強くお薦めします。

Infrastracuture as Code & インフラCI

自分が今もっとも興味がある内容。

Infrastracture as CodeについてはChefなら巻頭企画「[入門]コードによるインフラ構築」を、Puppetなら特集2「テスト駆動インフラ&CI最前線」を読むことにより

  • コードでサーバの状態を記述することによるメリット
  • テストでサーバの状態をチェックすることによるメリット

が学習できます。また特集3ではさらにそこから進めて、Wercker, DigitalOceanを利用した継続的テストの実践が紹介されています。

実は自分も現在進行形でJenkins, Vagrant on Linuxを利用したインフラCIを進めていますが、準備や手間を考えると紹介されている内容はすぐ取り組めて効果も高そうだと感じました。

また、特集2第4章で紹介されているGitHub Flowをベースとしたワークフローを読むことで、それぞれ紹介されてきた技術要素がつながり、享受するメリットが最大化されることが改めて納得出来ました。

Immutable Infrastructure

特集3もImmutable Infrastructure登場の背景から実践まで詳細に網羅されています。

特に、オンプレ環境での実践としてApache MesosやMarathon, Zookeeperなどの一通りの設定方法がまとまっていますが、この特集ほど詳細に記述されている情報はWebでもそれほど多くない為、これらを使ってBlue-Green Deploymentを実現する流れは、一度は自分でも構築して理解を深めたいなと感じます。

またAWSを利用したBlue-Green Deploymentも紹介されており、こちらはより実践的な内容になっていました。

その他特集

今はデファクトスタンダードとなったNginxの詳解である特集4、リバースプロキシサーバとしては自分もよく利用していますが、キャッシュ機能については弱いので参考になりましたし、拡張モジュールのしくみと作り方は見たことがなかったので勉強になりました。少し話がそれますがngx_mrubyなど組み合わせる利用シーンもアツいですし、押さえていきたいプロダクトとしてNginx単体で取り上げられているのは渋いチョイスだなと感じました。

特集5ではサイバーエージェント社のメンテナンスについて体系だって整理された情報を得られる特集でしたが、こちらもあまり表には出てこないような生々しい運用の裏側がのぞけて良かったです。メンテナンスの精度をあげる努力や、実際の取り組みの中でも特に内製の「障害情報管理ツール」があるのは興味深かったのと、時限リリースなどに用いられるいわゆる「タイマーコード」はあるあるだなあと自分の実情と照らしながら読ませていただきました。単にメンテだけでなくインフラ設計や耐障害性についても言及されており読み応えもすごかったです。