監視」という本が、2019年1月17日にオライリー・ジャパンさんから出版されました。Monitoring」という本で、それを私が翻訳したものです。私が訳した本としては3冊目、オライリー・ジャパンさんから出版されるものとしては「入門Kubernetes」に続いて2冊目です。私がこの記事を書くのにモタモタしているうちに、書評を書いてくださった方が早くもいらっしゃるのですが、いちおう翻訳者としてこの本について少し紹介しておこうと思います。監視」のユニークなのは、監視と言うとどうしても特定の監視ツール(Nagios、Zabbix、Mackerelなどなど)の話になってしまいがちなのですが、そこをあえて特定ツールの名前をなるべく出さないようにしているところです。著者が冒頭の第1章から戒めているのは、ツール依存です。ツールから監視を考えると非効率な仕組みを作ってしまいがちであり、さらに監視とは単一の問題ではなく色々な問題が複雑に絡み合ったものなので、監視したいもの、監視すべきものを元にしてツールを選ぶという順番を取るべきであるという主張が書かれています。それ以降も、著者の経験を元にした監視のアンチパターン、デザインパターン、そしてサーバやネットワークからビジネスKPIの監視、セキュリティ監視などといった対象ごとの監視のポイントが書かれるという流れです。どの記述も著者の強い主張がにじみ出ているのですが、それでいて監視についての本質を突いたことが簡潔にまとめられています。数年前私がとあるシステムの運用を引き継いだ時、監視は一通り設定されており、障害があれば気づける状態にはなってはいました。毎日大量のアラートメールが飛んできており、しかも大部分は無視してよいものでした。そのため、私の最初の仕事はそれらが自動的に既読になるようメールの設定をすることでした。その時点ではそんなものかなと思いつつ、あれこれ試行錯誤をしてそういった「慣れている人が見ないと本当に対応が必要かどうかわからないアラート」ばかりを生成する監視システムを改善していきました。Monitoring」を読んだ時は、その時の試行錯誤の結果分かったことがほとんど書いてある!という驚きを感じたものです。この本を翻訳しようと思ったきっかけがこの驚きでした。監視をしないといけないから監視ツールを導入したけれど本当に十分なのか分からない、意味不明なアラートメールがたくさん飛んできていて困っている、これからシステムの監視をしないといけないが何をしたらいいか分からない、といった監視の初心者の方が、監視に対する考え方を身につけるのにはとてもよい本です。原文ではあえてツールに関する記述が少なくなっていますが、それだと監視に初めて触れる人にとっては抽象的な話ばかりになってしまうので、もう少し具体的な話を付録として付け加えればいいのになと、原書を読んだ時から考えていました。そこで、SaaS型サーバー監視サービスであるMackerelのプロダクトマネージャーである株式会社はてなの松木雅幸さん(@songmu)に付録を書いていただきました。注意点などを含め分かりやすい解説を書いていただいたことで、本全体のバランスがずっとよくなったと確信しています。監視」というどストレートなタイトル、短すぎるとは思ったものの特に違和感は感じませんでした。驚きを感じた人が多かったようですが。監視」というタイトルに違和感を抱かない程度には監視脳になっています。私もまさにこの感覚でいました。今回も、レビュアーの方々には丁寧に本文をチェックしていただき、技術的な指摘から日本語としての読みやすさまで、様々なアドバイスをいただきました。レビュアーのみなさま、そして付録の執筆をしていただいたsongmuさんにはここで感謝を表したいと思います。『入門Kubernetes』を翻訳しました2018-03-12コンテナを管理するオーケーストレータとしてデファクトスタンダードになりつつあるKubernetesに関する入門書『入門Kubernetes』を翻訳しました。2018年3月22日に、オライリー・ジャパンから発売されます。Running』です。目次Amazonの書籍詳細ページKubernetesの開発者たちが直接Kubernetesを解説した本で、Kubernetesでアプリケーションを動かすために必要な色々な概念を、実際にKubernetesクラスタ上で動かしてみながら学んでいくという構成になっています。チュートリアルだけでなく「なぜコンテナを使うべきなのか」「どういう経緯でKubernetesが生まれたのか」「マイクロサービスの何がいいのか」といった、コンテナやマイクロサービスが広まって来た背景についても書かれています。そのため、コンテナはほとんど触ったことがないという人でも読み始められるようになっています。入門書なのでKubernetesの機能のすべてが網羅されているわけではありませんが、Kubernetesを理解するための基本的な事項については一通り書かれています。Kubernetesの公式ドキュメントはとても丁寧に書かれているので(ただし英語)、まずこの『入門Kubernetes』を読んでKubernetesの仕組みと基本的なリソースを学び、さらにその先を知りたい場合には公式ドキュメントを読み込んでいくというのにぴったりだと思います。1.5あるいは1.6をベースに書かれています。1.9までに加えられた変更などを、注釈などの形でできるだけ反映しました。1.9対応データを含むリポジトリを用意しました。原著への「内容はいいのに誤植が多すぎる」といった指摘に対しては、翻訳の際にできる限り修正を反映させるようにしています。英語を日本語に翻訳することで日本語の情報量を増やしたいという思いで、人力翻訳コミュニティYakstというサイトを作って翻訳したり、『SQLパフォーマンス詳解』というデータベースに関する本の翻訳などをしてきました。その先に、いつかは書店で売られる本の翻訳がしたいと思っていたところ、機会をいただいて実現することになりました。私自身Kubernetesに関してはまだまだ経験が浅いこともあり、Kubernetesの運用経験豊富なレビュアのみなさまからの指摘無しにこの本は完成しなかったといっても過言ではありません。レビューしていただいた@mahataさん、@Ladicleさん、@superbrothersさん、@strskさん、@deeeetさん(順不同)には本当に感謝するばかりです。「私は『入門Kubernetes』でKubernetesを始めました」という人がたくさん現れて、日本のKubernetesコミュニティがさらに盛り上がっていくことにつながれば、翻訳者としてこの上ない喜びです。databases」という題で発表した。題名からわかるように、英語での発表。McMahonさんが主催している、Rubyのことを中心にしつつも色々なトピックを取り上げている英語話者向けの勉強会。Paulさんからお声がけがあって、DBエンジニアからの知見はRubyistにもうけると思うよということで、英語の勉強と本の宣伝とデータベース知識の整理の意味で発表することにした。Paulさん貴重な機会をくれて本当にありがとうございました!内容的には、SQLパフォーマンス詳解(の英語版)の第1章の要約みたいな感じで、インデックスがなぜ必要なのか、Bツリーインデックスはどうやってデータを探すのに役立つのかといった基本的なところを書いた。Recordばっかり使ってて、SQLがどう動いているのかあまり意識していなかったり、高速に応答するクエリをどう書いたらいいのかわからない人に向けて、インデックスコワクナイヨ、ということを言ったつもり。特定のDB(MySQLとかPostgreSQLとか)についてあえて触れなかったので、内容的に抽象的すぎたかもしれない。いう発表って、どの程度の人をターゲットにするかブレないようにすること、そして抽象的すぎず突っ込みすぎずな内容にもっていくのが難しい。今年は意識的に英語でアウトプットしていこうと思っているので、できる限り機会を見つけてこういう場で発表するつもり。ライセンスの下に提供されています。