@hihihiroroのLog

ダラダラと。本ブログは、個人の意見であり、所属会社とは関係がありません。

いまさらながら「ウェブオペレーション」を読んだ

今年は色々勉強をしようと思って積読になっている本を消化している。 ウェブオペレーションはすでに1年位以上放置してしまっていた。

ウェブオペレーション ―サイト運用管理の実践テクニック (THEORY/IN/PRACTICE)

ウェブオペレーション ―サイト運用管理の実践テクニック (THEORY/IN/PRACTICE)

ウェブオペレーションという単語は株式会社はてなのエンジニアの名前ではよく聞いているけど具体的にどういう人なのかは分かってなかった。ざっくりオペレーション側のことなのかなと思っていたけど、役者まえがきによると「ITシステム管理の専門分野で、ウェブアプリケーションの開発・運営・保守・調整・修理を含む」らしい。開発も入るのか。

内容は複数の寄稿者によるウェブサイトの運用にまつわるトピックを扱ったエッセイ集になっている。目次を見てもらえれば分かるけれども内容は寄稿者によって違うので本当に幅広い。面白く読んだのは4、7、13、17章。

φ(..)メモ

継続的デプロイ

小さなサイズでの設計・実装・デプロイが大事だと書かれている。わかってはいるけど出来ていない。 少し他のエンジニアとも話をしてみたところ何回も同じバッチをリリースするのが面倒くさい、テストを回すのに時間がかかると嫌がっていた。どちらも自動化しておいて、ボタン1つ押せばテスト、リリース、切り戻しができるようにしておけば良いのだろう。まだまだやることは多いな。

いかにして複雑なシステムは失敗するか

リチャード・クック博士の論文について書いてある。失敗する理由がきれいにまとまっていると思った。短いので何回も読んで自分の中でまとめておきたい。

障害を活用する:ふりかえりの技芸と科学

部署の中でふりかえりをよくやっているのを見るが改善までうまくいってるのを見てない。全員参加していない、その場で振り返ったら終わっていることが多い気がした。以下のことをやってないからなんだろうなと思った。

改善は完了するまで追跡しなければならない。

ふりかえって終わってしまっているので定期的な観測をしていくようにする。

夜中に聞こえる奇妙な物音(と、ぐっすり眠る方法)

そうだよね。ちゃんと眠りたいよね。

誰も信じない

新卒で配属されて最初の1年間先輩にずっと言われていた。できる人だからってミスしないわけでもないし、なによりも自分が間違うはずがないと思って信じ切らないようにと言われた。今でもこれは守っている。

技術的にも面白い

6章の監視、12章のリレーショナルデータベース、14章のストレージ、15章のNoSQLについては運用者はもちろん開発者も知っておくべき知識であることは間違いない。

まとめ

ウェブサービスに関わっている人には読むのをオススメしていきたい本だった。2011年の本ではあるが今も必要な知識であることは問題ないと思う。DevOpsやSREに必要な考え方がまとまっていると思う。新卒が一歩すすむために読むのにもちょうど良さそうなのでチームの若い子に読ませてみようと。

今見るとAmazonでも楽天ブックスでも新刊が売ってない。もしや絶版...?

#RSGT2018 に参加してきた

01/11-13に大崎で行われたRegional Scrum Gathering Tokyo 2018にボランティアとして参加してきた。 ボランティアとして働いてみてここがすごかったなと思ったことを今後のイベントのためにもφ(..)メモメモ。

イベント規模

2セッション、約350名参加。
スタッフは20名。

ここがすごいよRSGTスタッフ

料理と飲物が豪華

ネットワーキングパーティ、お昼のお弁当、おやつ、珈琲屋さんが美味しいものが準備されていた。
僕はお弁当を毎日お昼の時間にTwitterFacebookでシェアをする仕事を勝手にしていた。弁当を取る時に迷わないように前もって写真をシェアしたのは良かったのではと勝手に思っている。美味しいものを食べながらだと皆楽しく話ができてるように見えたので美味しいものは正義。

話しやすいスペース

机と椅子が所々にあったり、単焦点プロジェクタが用意されていたりと参加者の人達がいつでも好きなタイミングで話ができるように準備されているのが良いと思った。
誰かが話していると気になった人がさらに集まってきてどんどん参加者の輪が大きくなっていた。
好き勝手に話したい人と内容を喋れるスペースがあるため色々な意見交換ができていたら良いなと思う。

良いチームメンバ

実際にボランティアとして働いたのは前日から土曜日までの4日間だけ。なのに、皆とうまく話ができた気がするし、イベントもうまく回っていた気がする。これが、実際の現場だとしたらちゃんと機能できたチームとして褒めてもらえると思う。
イベントに責任をもっている人がいてチームをまとめる人がいて、チームのためにみんなが勝手に動いていた。自分の現場でも同じことをやればうまくチームが回るのかな。

臨機応変な対応

僕はイベントでやらなければいけないことを実はあまり知っていなかった。
さらにその場で急にできたものも多かったと思う。それもうまく機能していた。

  • 1日目最後のセッションの時間延長
  • Job Board
  • ワークショップ申し込みボード
  • OSTの時間割の貼り出し

スタッフが必要と思ったことをその場で行っただけなのにうまく回っていてすごいと思った。

気の良い参加者

お手伝いをすすんでやってくれる方がいっぱいいた。
机や椅子を運んでくれたり、帰りのハイタッチに並んでくれたり、オープンスペースでみんなを巻き込んで話をしてくれてたり。 コーチクリニックの先生役を沢山の人がやってくれていたのを見た。参加者の人にたくさん助けてもらったなと勝手に思っています。

まとめ

内容や場所もそうだけど、スタッフと参加者が一体になって良いイベントにしようと思って参加しているのがイベントをうまく回すコツなのではないのかと思った。なによりもスタッフが一番楽しんでいたと思う。自分たちが楽しくないものは参加者も楽しくないだろうから自分たちが楽しめるようにするのは大事だなと思った。
お手伝いいただいた参加者の皆様、ボランティアとして参加して一緒に働いてくださったみなさま大変ありがとうございました。
とても良い経験をさせていただきました。

あー、たのしかった。

「エンジニアのためのデザイン思考入門」を読んだ

デザイン思考という言葉を聞くけどなにかよく分からなかったので学んでみようと思ったけど、ただデザイン思考って言葉を勉強するだけだと読み終われなそうだったのでエンジニアのための本が出るとのことだったのでエンジニアのためのデザイン思考入門を読んでみた。

エンジニア思考とは、

ユーザへの「共感」から「問題定義」を行い、アイデアの「発想」「プロトタイプ」「テスト」といった5つのステップを繰り返すことで、問題の本質をインサイトとしてとらえ、そのインサイトにもとづいたソリューションをデザインすること、そのプロセス、その考え方。(P.14)

デザイン思考となにかということが細々と書いているわけではなく、東京工業大学のエンジニアリングデザインプロジェクト(EDP)という講義の説明がされていたり、実際に講義を受けた人たちのコラムとかが面白く読めた。講義は東京工業大学東京藝術大学、武蔵野美術大学の学生さんと社会人の受講者やボランティアを交えて多様性のあるチームを作っているみたい。

読んでみて取り入れてみたいなと思ったのは、 * どんなに雑でも良いのでプロタイプを作ってみる。プロトタイプにも種類があるので必要なものをつくる。 * CEP : Critical Experience Prototype * CFP : Critical Function Prototype * DHP : Dark Horse Prototype * FKP : FunKtional Prototype * FCP : FunCtional Prototype * XFP : X-is-Finished Prototype * VFP : Validated Final Prototype * ユーザに対してインタビューを繰り返す

現状は自分たちで勝手に必要そうな機能やインターフェースを決めてしまっているので実際に使っているユーザともう少し話をしてから作っても良いのかなと思った。

まとめ

サービスをユーザに提供するものについては、インタビューをしてプロトタイプを作って試してみてもらうを繰り返すのは大事だと思う。この本では、課題の絞り込み方、多様性のあるチームを組無事の重要性、アイデアを形にするためのプロセスなどが学べた。「T型人材」になりたいな。今度はもう少し真面目にデザイン思考について勉強しようと思ったので次はデザイン思考が世界を変えるを読んでみようと思った。

さーて、あいまいさとダンスしようと。

「初めての自動テスト」を読んだ

今やってるプロジェクトのすすめ方でテストについて自分がよく分かってなかったことを理解したし、メンバーと話をする時にずれてるなと思うことがあったし、周りの人が読んでたので共通認識を得るって意味でも初めての自動テストを読んでみた。

この本は、アジャイルサムライの著者であるJonathan RasmussonがWeb上で動作するアプリケーションに対する自動テストについて書いた入門者になる。
前提知識をそれほど必要とはしていない。この本の中でHTTPやRESTfulについての説明、プログラムの書き方についてまで書いてある。

この本の中ではテストのピラミッドで3種類の異なるテストをずっと説明している。

それぞれのテストの目的、必要な理由などが細やかに分かりやすく書いてある。
自動テストを書いたことのない人、実際には書く必要のない人、書いてるけど理解が不十分だと思う人など沢山の人が読んで面白い本だと思う。
自分でテストをする必要のない人たち、マネージャーや営業の人達、画面をデザインするデザイナーなどにすすめてみたいな。

自分の中でもやもやしていたのはこの3種類のテストを混ぜてススメているせいかなと思った。テストの境界をもう少し考えてテストの種類を考えていこうと思った。

まとめとしてこの本の中で自分がいちばん気に入ったところを使わせてもらって終わりにしたい。

私たちはすべてをテストできないことを知っています。しかし本当に重要な部分に対しては、可能な限りテストしなければなりません。

「自動的に夢がかなっていく ブレイン・プログラミング」を読んだ

目標が達成できない僕に後輩がおすすめしてくれた本。
今回は 自動的に夢がかなっていく ブレイン・プログラミングを読んだ。

自動的に夢がかなっていく ブレイン・プログラミング

自動的に夢がかなっていく ブレイン・プログラミング

目標を達成するための方法が書いてあったので折角新年にもなったかと出し、やってみようと思ってメモ。
本の内容としては網様体賦活系の効率的な使い方が書いてあった。

RAS

網様体賦活系(Reticular Activating System)

  • 毛様体という神経の集まり
     * 体の生命活動を維持するもの
  • 情報をふるいわけ、自分にとって必要なものだけ拾い上げる
      GPSシステム
      どこに行きたいかがわかれば連れて行ってくれる。
     
    検索エンジン
      目標が決まれば、情報を片っ端から収集する。

自分のやりたいことを決める

何をしたいか決める→あとはRASに任せるが基本方針。

したいことリスト

したいことリストは3個に分けて決める。
目標の決め方はくっきりと。大事なことは

非定型ではなく、肯定形でやりたいことを書く

  1. A ・・・ 近いうちに達成したいこと
  2. B ・・・ もう少し考える時間がほしいこと
  3. C ・・・ おもしろい、挑戦してみたいこと

そして手書きで目標を書き出しておくことが重要。

期間の決め方

こちらも大事なのは3個。

  • 現実的な期間を決める
  • 短めに設定する  長い場合は目標を分割する *すぐに実行する  始めることを引き伸ばさない

リストの運用

視覚化

脳は見えるものしか反応できない  →何回も見直す

アフォメーション

自己暗示を行うことで視覚化を行う。

リストを作ったら何回も見直す。
そしてリストは適宜更新する。

まとめ

自分のやりたいことを紙に書き出して、リストの確認・頻繁に行う。
これで自分のRASに対してプログラミングができるとのことだ。
やればできると言われ続けなにもできてない気がするのでやり始めてみようと思う。
先ずは、手帳にやりたいことを書き出してみる。

自動的に夢がかなっていく ブレイン・プログラミング

自動的に夢がかなっていく ブレイン・プログラミング

「Mesos実践ガイド」を読んだ

昨年末にKubernetesのスライドを作成して公開したら皆さんに読んでもらえた。

しかし自分の運用しているサービスはMesosを用いている。
前に購入したけどまだ読んでなかったので正月の時間を使って、Mesos実践ガイドを読んでみた。

Mesos実践ガイド

Mesos実践ガイド

この本は以下のような章立てで作られている。

第1章 Mesosの概要
第2章 Apache Mesosクラスターの構築
第3章 Apache Mesosの管理ツール
第4章 Mesosphere DC/OSクラスターの構築
第5章 Mesosphere DC/OSにおけるアプリケーションの配備
第6章 Mesosphere DC/OSにおけるLocal Universe の構築
第7章 Mesosphere DC/OSにおける計算資源管理
第8章 Mesosphere DC/OSの応用事例 -不正金融取引処理の検知と可視化-

第1章でIT基盤の変動についての話である。
ここで、IT基盤がどう変わったか、なぜMesosのような分散システム基盤が生まれたかが書いてある。
また、Mesosの用語についても軽くここで触れられている。ここまでは楽しく読んだ。

その後の章ではCentOSのサーバにMesosクラスターの構築や、フレームワークの構築手順が書いてある。
僕はここで、構築する際に困ることや気をつけなければいけないこと。
カーネルの変更部分や設定パラメータの細かい説明などがあるかと思っていたのだが、さらっと終わっていた。
実際に、自分で触ったことある人にとっては物足りない本だなという印象だった。

まとめ

実践ガイドとなっているが実サービスで使うために必要なことはあまり書いてないのかなという印象だった。
ただ、Mesosを知らない触ったことない人にとってはまとまっている内容を楽しめるのでは思った。
やっぱり、英語版の本をちゃんと読むしかないかなと。
Apache Mesos EssentialsApache Mesos CookbookBuilding Applications on Mesosなど。

Apache Mesos Basics (English Edition)

Apache Mesos Basics (English Edition)

Apache Mesos Cookbook

Apache Mesos Cookbook

Apache Mesos Essentials (English Edition)

Apache Mesos Essentials (English Edition)

201712 振り返り

べんきょうかい

勉強会で従兄弟に会うというイベントが発生した。
自動化は大事だと思うしやっていくべきだと思うけど、この勉強会の後に波田野さんによる運用自動化、不都合な真実を読んだのでやるところやらないところの取捨選択大事だなと思った。
デザイン思考が面白そうだったので角さんのエンジニアのためのデザイン思考入門IDEOのCEOによるデザイン思考が世界を変えるを買ってみた。来月用の積読になってしまった。

ほん

本棚を買ってみたので床や机においていた本を本棚に詰めてみたら入らない本がたくさんあった。
予想以上に本を所持していることが分かったので積読消化をすすめてみた。
ただし半分は今月買った新刊になるので余り消費ができていない。

えいが

オリエント急行殺人事件がそんなに考えずに観に行ったがとても面白かった。
たぶん最初に読んだミステリ小説なんじゃないかな。
スター・ウォーズはこんなんだったなーという感想。次回も観るけど。

そのた

飲みに行ったな。どうやら忘年会が今月9回。。。
もう何も覚えてない気がする。飲み会中に困っている人がいるって話を聞いたからまた飲み会企画しようと。

ぶろぐ

spakerdeckにあげたKubernetesの資料を予想以上の反響だった タイミング的なことがあったとしても嬉しい。ありがたいことです。
まだ追加したい内容もあるし地道に更新していきたいと思う。
それ以外はAdvent Calendarを2本書いたけど面白い内容が書けなくて残念。