SRE Lounge #7 に参加してきました

これです。 https://sre-lounge.connpass.com/event/114005/

感想等

とてもよいイベントでした。SREって、そうだよねーと思うところが多かった。SREがカバーする範囲が広いということと、すべてをカバーできる人はいないからお互いにリスペクトして多様性がある状態にしておくのがいいんじゃないかという話があってわかりみが深かった。ここまでが仕事なんでと責任範囲を区切ってしまうことは、DevOpsの考え方的にも自分は違うと思っている。オーバーラップしていくしかないと思う。

ここから先は自分やみんなのツイートを引用したい

そうですね。

Toilの話

toilの話は何度も出ていた。ゆううううううううううううううううううううううき氏のブログは何度も言及されていた。次世代Webカンファレンスがあってすぐだしタイムリーだったのもありそう。

Toilとの闘いの内面についてはこのブログに書かれていることが、なんかすごくすんなりきた。 chroju.github.io

自分が思っているのはこれです。

Toilとの向き合い方についての自分の中での答えは、今の所割れ窓タイムによって継続的に技術的負債や、暗黙的な運用に対して光を当ててみて、長くいるメンバーから歴史的経緯を聞いて改善案を話し合ったりするというものです。下記の記事にまとまっています。他の人達がどうToilと向き合っているのかを知りたい。Toilの計測ももちろん大事だけど、どう制御しているのか。

blog.hokkai7go.jp

まあぶっちゃけると、正直Toilとの向き合い方だよねと思って始めたわけではないんだけど、やってみるとじわじわと良さを感じているところでした。

SREのこと、みんなわかってくれていないけど、それは自分たちがうまく伝えられていないからでは?という話へのリアクション

これはまじでありそうですね。エンジニアがエンジニア採用をやる意味もこういうところにあると思う。

さいごに

なんかこんな感じです。次は登壇したいなと思っています。

新年早々Rubyのバージョン上げようとしたらRubyGemsとBundler2の組み合わせで問題にぶつかった

問題

which bundle できてるのに、bundlerの実体がないの?

$ which bundle
/hoge/ruby/bin/bundle
$ bundle
Traceback (most recent call last):
    2: from /hoge/ruby/bin/bundle:23:in `<main>'
    1: from /hoge/ruby-2.5.3/lib/ruby/2.5.0/rubygems.rb:308:in `activate_bin_path'
/hoge/ruby-2.5.3/lib/ruby/2.5.0/rubygems.rb:289:in `find_spec_for_exe': can't find gem bundler (>= 0.a) with executable bundle (Gem::GemNotFoundException)

結論

RubyGemsとBundler2のバージョンの組み合わせによって起こる問題のよう。

昨日、私はBundler 2.0をリリースしました。 そのうちの1つは、BundlerがRubyGems v3.0.0を必要とするように設定したことです。 リリース後、多くのユーザーが本当に新しいバージョンのRubyGemを必要とするBundler 2の問題に直面していることが明らかになりました。 私たちはユーザーからのフィードバックを注意深く聞いていて、RubyGemsの要件を最低でもv2.5.0に緩和することにしました。 この要件を調整する新しいBundlerバージョンv2.0.1をリリースしました。 これによって引き起こされた混乱についてユーザーに謝罪します。

(Google翻訳より)

bundler.io

stackoverflowにもあるように、 The real answer is here if you try to install bundler 2.0.1 or 2.0.0 due to Bundler requiring RubyGems v3.0.0 というのが原因。

stackoverflow.com

対応

gem install bundler -v '1.17.3'

これだけでよかった みなさんも気をつけましょう。よい2019年をお過ごしください

ちなみに

ありがたい記事ですね。 tmtms.hatenablog.com

Bundler Gem 標準添付は延期
Ruby 2.5 に入る予定だったのですが、2.5 リリースには間に合わなかったようです。

間に合っていたらこの件は起きてなさそうだった。2.6に期待。

ざっくり時系列で振り返る2018年

1月

  • id:asonas と渋谷のサイゼで新年を開始 1/3
  • ののた生誕、虹コン 1/7
  • アンナチュラルにハマっていた
  • BiSHカラオケ 1/14
  • 室蘭でSansan勉強会 1/15
  • 北海道でも札幌以外の場所へも還元しようとちょっと頑張っていた頃
  • いくらお金と労力を注ぎ込んだかわからないけど、婚活サイトから付き合うこともあるんだなって思った。救われたけどもう労力かけるのが面倒で嫌かも
  • グレイテストショーマンいい映画だった。音楽もいい

2月

  • The music of john williams: star wars and beyond 2/24
    • 東京フィルとてもよかったです

3月

kamipoさんと現場かぶりしたときには、終演後に感想会をやることがこのときあたりから増えた

  • シェイプオブウォーターもよかった
  • レキシカラオケ 3/10
    • 縛りカラオケおもしろい!
  • 高木和弘無伴奏ヴァイオリンリサイタル~ササノハ2018~ 3/28
    • めちゃくちゃ良かった。

今思い出しても、ちょっとよくわからないくらい超絶技巧で良かったです。

4月

  • BiSHライブ 4/21
  • でんぱ組ライブ 4/28
    • 初の遠征でした。ねもちゃんの地元茨城まで。

5月

  • LDD室蘭 5/19 blog.hokkai7go.jp
  • 初のヒゲ脱毛
    • 痛いけど耐えられないほどではなかった。同居人のほうがハマっていてウケた
  • BiSH横アリ 5/22
  • 新規案件の立ち上げをほぼ独力でやることになって、めちゃくちゃ楽しくてやっぱりサービスやアプリケーションエンジニアと関わらないとだめなんだと気がついた。2018年に気がついたことの中で一番良かったことかもしれない。
  • 初めて外資系の採用プロセスに乗るというのを経験できた

6月

  • BiSH x Sads 6/15
  • 2回目の台湾 6/22-24
    • 現地集合現地解散はなかなか調整が大変ということがわかった
    • 台湾そのものと、キャセイのラウンジめちゃくちゃ良い
    • 6年も間をあけず、毎年のように行きたいと思った

blog.hokkai7go.jp

7月

8月

8/1 はすごく面白くて、現職のはてなの最終面接があったので朝から絶食のうえ最終面接して、そのままタクシーで健康診断を受けに行った しかも、人生初の胃カメラを選択して、だいぶしんどい感じになりつつ昼ごはんも食べられず、技術書典に出展できることを知った気がする

  • TIF初参戦 8/4
    • BiSHを見るために暑い中大変だったけど、フィロソフィーのダンスというアイドルグループを知ることができてよかった。マリリかわいい。
  • 宮古→室蘭のルートで帰省 8/11-8/14
    • 何度も山奥には行っていた宮古だけど、初めて市内に降り立ててよかった。
  • 平塚グリーンサウナに夜から昼までずっといたけど本当に良かった 8/28

9月

  • 同い年の社員で北海道 9/1-3
    • ほぼ卒業旅行。うまいものしか食べていなかった
    • タイミングが数日ずれていたら地震に巻き込まれて東京に戻れなかったっぽい。
  • はてな入社 9/4
    • いつか京都へ移住することが決まった
    • 出張のとき使ってみたけど、受け取れる時間があるならスーツケースのレンタルは結構いいことがわかった
  • 二子玉Fishで初めてボルダリングのコンペ出た 9/22

10月

  • 技術書典5 に初出展 10/8

    • 技術好きだけど、人とか組織のほうが興味対象として大きいってことを感じ始めた
  • うっかり沖縄 10/27 blog.hokkai7go.jp

11月

  • くるりハンバートハンバート良かった 11/3 blog.hokkai7go.jp

  • 会社の人たちとバンドで初スタジオ 11/16

    • 練習動画を見たドラムの先生からいいバンドですねと言われてだいぶ良かった
  • 琵琶湖の上での船上結婚式よかった 11/18
  • BiSH福岡と翌日にチェキ 11/23
    • 推しを前にすると人は幸せそうな顔をすることがわかった(自分)

12月

  • re:Inventでラスベガス 11/25-12/2

blog.hokkai7go.jp blog.hokkai7go.jp developer.hatenastaff.com

時系列じゃないけど心に残ったこと

  • うっかりして伊豆に日帰り旅行とかも行っていた
    • 京都になったので、また違ううっかりができると思うと楽しみ
  • ドラムレッスンは2017年から個人レッスンに切り替えていた
  • 前職の社員総会で初めて人前でドラムを叩いた
  • 道民と、びっくりドンキーによく行った年だった
  • 銭湯、サウナにもめちゃくちゃ行った
  • WACKオーディションおもしろかったですね。勝ち残った子がアイドルに変わっていくさまを見られたのはよかった。MAHO EMPiREかわいいよMAHO EMPiRE
  • ボルダリングもほぼ週に一度行っていた

さいごに

2018年は大小含めて20のライブに行っていたようでした。アイドルとともにあった一年です。2019年はハロプロ入門として曲を聞いていきます。また昨年の誕生日記事に書いてますが、目標の長期運用が行えるようになったり、毎月の個人的なふりかえりを実行したり、投資による効果が出たりというのは引き続き行うことができました。

なんか京都に移住することになった

はじめに

これまで8年弱東京に住んでいました。下記の転職エントリに関連しますが、はてなでSREをしており京都採用だったので今回2018年の年末というタイミングで東京を離れ、京都に移住しました。あと、平成最後の天皇誕生日に30歳になりました。 blog.hokkai7go.jp

タイムライン

サラバかなは、もちろんBiSHの曲ですね。まだ中途だから。

対象的にとても良い運転手にも出会っていて、50過ぎの人なのに降り際に勉強になりましたとか、語り口が優しいですねと言ってくれて尊い乗車体験だった。

関連情報

下記の記事を見ていて、なるほどねー京都かー。と思っていましたが、まさか自分が京都に移住するという選択肢を取るとはタイミングでは思っていませんでしたし、onkさんと同僚になるとも思っていませんでした。これからもよろしくお願いします。

なんか京都に移住することになった - onk.ninja

タイトルはここから blog.sugyan.com

引越について

年末に引越をやるのはわりと大変ですね。引っ越しするのが大変という事実をすっかり忘れていました。そのうえ今回はわりとスケジュールが厳しくて、

  • 11/16-20: 結婚式や家の契約等で京都
  • 11/23-24: 推し事で福岡
  • 11/25-12/2: re:Invent2018でラスベガス
  • 12/7-9: 出張等で京都
  • 12/22: 推し事で幕張

と言った感じで移動や楽しいイベントが多く、しかも年末で忘年する必要があって毎日飲む予定がある中で引越し準備をする必要があってエキサイティングでした。こんな状況においても風邪ひとつ引くこともなく健康でいられたのは、そもそも頑丈に生んでもらえたことと、サウナの習慣ができて健康という両方のおかげのように思います。ありがたい。入居したらやっと気が楽になってきた。

とはいえ

BiSHや知人のライブや出張があれば東京にはよく行きますし、それっぽい用事があれば北海道にも行きます。もともとフットワークが軽い人間なので、会えなくなるなぁと悲観してほしくないなと思っています。これまでと変わらぬ感じでお願いします。いきなり今日飲むぞ!というのは難しいけど調整します!

さいごに

そういえば12/23が誕生日でしたが、引っ越し前で出すのも微妙だろうと思ってほしいものリストを出していませんでした。今は引越し後なので、遠慮せずどしどし贈っていただけるとありがたいです。30歳の前後でこのような大きめな決断を躊躇なくできてよかったと感じています。補足しておくとコンパクトな街でかつ、碁盤の目状になっているという札幌を思い出す構造の都市であることと、ごはんがおいしいということは自分にとって重要なことでした。暑さと寒さには気をつけたいと思います。

http://amzn.asia/iaY4Y0D

これを見ていて自分と仲の良い方々、京都に来たときは一声かけてください。ちょっとしか時間なくても、お茶か新福菜館あたりでラーメンでも行きましょう。引き続きよろしくお願いします。

割れ窓理論をWebインフラの改善に活用し、チーム内の知識共有を促進している話

はじめに

はてなでSREをしている id:hokkai7go です。この記事は、SRE Advent Calendar 2018の13日目の記事です。 

割れ窓理論とWeb開発での実践例について

割れ窓理論(われまどりろん、Broken Windows Theory)とは、軽微な犯罪も徹底的に取り締まることで、凶悪犯罪を含めた犯罪を抑止できるとする環境犯罪学上の理論。アメリカの犯罪学者ジョージ・ケリングが考案した。「建物のが壊れているのを放置すると、誰も注意を払っていないという象徴になり、やがて他の窓もまもなく全て壊される」との考え方からこの名がある。破れ窓理論[1]壊れ窓理論[2]ブロークン・ウィンドウ理論などともいう。  [割れ窓理論 - Wikipedia] より

割れた窓が放置されていると他の窓も割られやすくなってしまいます。軽犯罪を取り締まることで重大な犯罪も抑止できるとする理論です。不安や無秩序な状態を取り除くことができるというのも大きそうです。 

 pixivさんが以前このような記事を公開されていました。devpixiv.hatenablog.com公開された当時からこの記事に書いてある内容がとても気になっていました。なぜなら私達はエンジニアで改善に向かいたいからです。また、はてなでSREとなりインフラ周りを中心としてソフトウェアと向き合うことが増えたことや、こうした活動の提案を受け入れてもらえる感じがあったためSREチームでも割れ窓を直す活動をやってみることにしたのでした。SRE以外のプロダクトチームでも実践しているようでした。

また少し視点は違いますが、労働災害防止の経験則であるハインリッヒの法則を見ても、異常(ヒヤリ・ハット)や軽微な事故を放置するのは良くないことがわかります。SREは信頼性向上に責任をもっており、障害という重大事故を防ぐための現場活動として割れ窓理論の実践は有用であるように見えました。

ハインリッヒの法則(ハインリッヒのほうそく、Heinrich's law)は、労働災害における経験則の一つである。1つの重大事故の背後には29の軽微な事故があり、その背景には300の異常が存在するというもの。

今回のAdvent Calendarでもすでに引用されていましたが、まさに下記を体現する活動であると捉えています。

ゴミが散らかったりしないように環境を保つことによってイノベーションにまっすぐ焦点を当て続け本物のエンジニアリングが前進できるようにしているのです

Betsy Beyerら著、澤田 武男ら監修 「SRE サイトリライアビリティエンジニアリング ―Googleの信頼性を支えるエンジニアリングチーム」2017年  

はてなSREチームでの割れ窓理論の実践について

はてなSREチームでは、割れ窓に関するタスクを行う一連の時間を「割れ窓タイム」と呼んでいます。現在のところ、以下のような実施方法となっています。

  • 適宜、チームメンバーは割れ窓を発見したらissueを作成し、割れ窓ラベルをつけておく
  • 割れ窓タイムの日程を確保し、取り組みやすそうなissueを週刊割れ窓マガジンという記事にリストアップしておく
  • 週に1度、1時間リモートでつないで作業時間をとる(SREチームは東京、京都の2拠点で仕事をしているからです)
  • 割れ窓タイムスタート時に、その日の割れ窓タイム用issueを立て、やることが決まればissueにその旨を書き、ログを取っていく
  • 実施後に非同期的に参加者がその日の割れ窓タイム用issueに感想やKPTにつながる内容をコメントする
  • 感想やKPT等を割れ窓タイム用issueにまとめる
  • 振り返りやすいよう、スプレッドシート上でissue URL等を一覧にしておく
  • 割れ窓タイム企画者が、企画の改善のために振り返りを行う

また、割れ窓の対象物ですが

  • SREチームで作っているソフトウェア
  • サーバの設定
  • 物理サーバやAWS上などのリソース
  • アラート

といったものを扱っています。割れ窓タイムで取り組むべき内容と、普段の仕事で取り組むべき内容の線引が難しいなとも感じており、割れ窓タイムで実施する内容のガイドラインを作ろうかと考えているところです。

効果

効果は以下にまとめました

  • 割れ窓タイムがないと取り組めないタスクに取り組むことができる
  • モブプロ、モブオペを推奨しており、知識(前提知識や、コード、過去の経緯等)の共有を図りやすい。新しく入った人のキャッチアップにも利用可能
  • 一人で取り組むには勇気がいりそうなところも、複数人で判断できるので勇気を持って取り組むことができる
  • あそこに割れ窓がありそうという認識がみんなに出てきた
  • みんなが集まっているので、タスクで困ってもすぐに相談、解決できてスピード感がある
  • これって割れ窓じゃないですか?と話す機会が増えた
  • 同じ割れ窓が発生することを検知できる
  • 普段だと時間取れないけど、割れ窓で直しましょうという会話がされるようになった

タスクの解決ができるだけでなく、知識の共有やコミュニケーションの促進につながるという点が良いと感じています。

 

今後に向けて

これまで割れ窓タイムを8回ほど実施してきたのですが、割れ窓タイムで取り組むべき内容と、普段の仕事で取り組むべき内容の線引が難しくなってきているところがあります。また割れ窓タイムのスケジューリングや、短時間で終わらないものへの対処、過去の経緯や多分に絡む物のコンテキストの説明の難しさにどう立ち向かうのがよいのかという点を今後の改善点としたいと思います。

ゴミが散らからないようにして、本物のエンジニアリングが前進していけるようにしていこうな!

こうした取り組みを一緒にやっていきたいSRE職を大募集中です。

hatenacorp.jp

 

参考文献

割れ窓理論にまつわるうわさを整理しよう。そして見えざる権力を見える化しよう。 - 廿TT

割れ窓理論を導入してWebサービスのクオリティに直結した話 - pixiv inside [archive]

 

Rails Girls Kyoto9thのコーチをしてきました

掲題のとおり、Rails Girls Kyoto 9thのコーチをしてきました。ブログを書くところまでが Rails  Girlsですという話があったので当日中にきちんと書いておきます。

http://railsgirls.com/kyoto201812.html

 

コーチ経験は、2013年のTokyo 2ndに続いて5年ぶり2回目でした。なんとなく当時のページを見た感じでは、当時はRuby2.0がリリースされた頃だったらしいです。今では2.5系が最新なので、気がつけばわりと時間が経っていました。

 

時間が経っていたので、最近の様子に追随できてないかなと少し不安だったのですが、最近のガイドにて復習してみたところ、わりと大丈夫なことがわかり安心しました。

 

当日は何をやっていたかというと、インストールデイはニコニコしたり飾り付けの風船を生産しまくりました。というのも、マンツーマンでつくことのないフリーのコーチだったからです。

実際に開発を行う本編の日(今日、2018/12/08)は、戸惑っている様子のテーブルに行き、問題解決のアドバイスをしたり、進捗を聞いたり、完成を一緒に祝ったりしていました。

 

 

問題解決に関わった話について、具体的にはWindowsでRuby2.5とRails5.2でcarrierwaveを使おうとすると、sqlite3で問題が出ました。gem installやbundle installは正常に終わるけど、railsがcannot load such file -- sqlite3/sqlite3_native (LoadError)と言ってくる問題でした。これは結局どうしようもなく、Ruby2.4を使うようにしたようでした。

ほかはmigrateのやり直しの件や、Herokuを使う際にS3アップロードを行うので、fog経由でアップロードしたいが設定でうまくいかないというあたりでした。設定値のアドバイスなどをしましたが結局うまくいっていてよかったです。Rails Girlsのガイドにもあまり説明が載っていない部分にまで踏み込んでいたペアがあったとはすごいなぁと感じました。

 

自分もそこそこいた意味があったのかなと思えたので、最高でした。あと、「動いたらハッピー!」、「便利でーす!」という言葉も最高でした。末永く使っていきます。

 

個人的な話でいうと、京都移住を控えているなかで京都や関西圏の方々とたくさんお話する機会となってとてもよかったです。コーチ募集中ですよと知らせてくれた id:Sixeight さんありがとうございました。

オーガナイザーの桐生あんずさん、お疲れ様でした!

豊洲で寿司からのもつ鍋フィニッシュ

同僚が豊洲市場で寿司を確認したいと言っていたので、その企画に乗って昨日(2018/12/06)は出社前に寿司を食べてきた。夜はもつ鍋を食べた。東京に住む時間が残り短くなってきたのでいい感じに贅沢してやろうという思いだ。

こんな感じだった。心の栄養は大事だ。築地に市場があるとき、何度か同様に出社前に築地に寄って寿司や煮魚、親子丼、カレーなどを食べて出社するということをやっていた。朝からスタートダッシュをしている感じがしてとても良い。豊洲市場になってからは行けてなかったので、同僚が「明日行くぞ!」と言っていてタイミングがよかった。豊洲市場はすべてがとても綺麗で、見学者と市場関係者が完全に分離されており工場のようだった。あの雑然とした築地市場の体験はもうできないのだった。何度も行っておいてよかったなと感じた。豊洲市場はニュースでしか知らないという人も行ってみるといい。駅前にデータセンターしかなかった市場前駅が機能しはじめていて驚いた。

そんな素晴らしい朝を過ごし、仕事時間をなんとか終えて夜は同僚たちとともにもつ鍋に行った。もつ鍋写真はコンデジで撮ったのでいつか上げたい。早朝から起きていたおかげで、テンションがいつもより2割り増しくらいになっていた感じがあったし、ゲラゲラ笑えたいい熱狂の渦だったとおもう。