Yappli Tech Blog

株式会社ヤプリの開発メンバーによるブログです。最新の技術情報からチーム・働き方に関するテーマまで、日々の熱い想いを持って発信していきます。

「オブザーバビリティ・エンジニアリング」に感化され社内でオブザーバビリティ布教活動を行なった話

こんにちは!NewRelic大好きSREの三橋です。
今回は「O'Reilly Japan - オブザーバビリティ・エンジニアリング」に感化され、社内でオブザーバビリティの布教活動を行なった話について記載します。 布教活動といってもまだ社内のエンジニア向けにプレゼンを実施しただけなのですが、まず第一歩を踏み出すことができたということで、発表にあたり工夫した点等をご紹介できればと考えております。
書籍自体の紹介については他の方もされているため、この記事では割愛させていただきます。

参考 dev.classmethod.jp

想定する読者

  • オブザーバビリティの布教活動を行いたいがどのように行なったらよいかお悩みの方
  • ヤプリの裏側に興味がある方

背景

ヤプリでは技術書LTという枠組みで2週間に1度エンジニア向けに書籍紹介ができる枠組みがあります。
当初は自分が発表する予定はなかったのですが、「O'Reilly Japan - オブザーバビリティ・エンジニアリング」があまりにも素晴らしい内容であり、ヤプリが直面している課題と重なる部分が多くあったため、これは発表せざるを得ないということでエントリーさせていただきました。 また発表にあたり、「SREの認知度が低いという課題」や「社内で利用しているオブザーバービリティツールであるNew Relicが十分に活用されていないという課題」も薄々感じていたため、それらも発表に盛り込むことで説得力のあるプレゼンができるのではないかと考えました。

発表にあたり工夫した点

早速ですが発表にあたり工夫した点を記載いたします。

SREの役割の説明

ヤプリのSREは「インフラエンジニア」や「何でも屋」というイメージが(主観的にですが)あります。実際やっていることもインフラエンジニア寄りのことが多く仕方のないことだと私自身も思っていたのですが、先日参加させていただいた「マネーフォワードSRE Meetup」イベントでSanSan株式会社の上司さんが「期待を合わせるためにもミッションを定義しましょう」とおっしゃっており、この言葉に感銘を受け弊社でもミッションの共有が必要であると思うようになりました。ヤプリのSREはフェーズ的にまだインフラエンジニア感はありますが、今後組織が拡大するにつれて期待の不一致が生じてくる可能性があり早段階からSREとは何なのか発信し続ける必要があると感じたためです。
ヤプリではまだ明確にミッションが定義されていないため、発表ではせめてSREの仕事内容が俯瞰できる資料があるとよいなと考え、NewsPicksさんの作成した資料を拝借させていただくことにしました。(大変素晴らしいスライドをありがとうございます!!)
このスライドにより「なぜ今回この発表を行うのか」「どのような立場で発表するのか」を明確にしました。


(NewsPicks様スライドより)

参考
- SREは何を目指すのか - Speaker Deck
- AWS Dev Day Japan 2022に登壇しました - Uzabase for Engineers

ヤプリにおける課題提起

発表は最初の掴みが肝心であり、単なる書籍紹介では聞き手が興味を失ってしまい印象に残らないと考えています。そこでまずは全員の共通認識としてヤプリにおける課題を提起することで聞き手の皆さんに自分事化してもらい、興味を持ってもらえるような資料を準備しました。
具体的な資料は記載いたしませんが、新機能開発と保守の工数の推移を提示し保守工数の割合が増えてきているという事実をデータから示しました。そしてこの課題に対しオブザーバビリティが役に立つかもしれないということを示唆した上で書籍の紹介に入ることにしました。

書籍紹介

ここでも興味を失って欲しくないため、なるべくヤプリの状況と関連づけて資料を準備しました。 具体的には以下のような内容/構成にしました。

すでに実践できている内容の紹介については省く

オブザーバビリティツールの導入などについてはすでに完了しているため、導入時の課題などは省きました。

具体例を挙げる

オブザーバビリティを備えているとヤプリの場合どのような質問に答えられるか具体例を挙げました。 また、イベントデータ等の説明の際に実際にNew Relicに保存されているデータのスクリーンショットを添付するようにしました。

5W1Hを多少意識して疑問を投げかけながら資料を構成する

「オブザーバビリティとは何なのか」「なぜやるのか」「どのようにやるのか」というようなスライド構成にすることで論理が飛躍しないように努めました。

ヤプリにおけるオブザーバビリティ

書籍紹介を通してオブザーバビリティの重要性を理解いただいたところで、ヤプリにおけるオブザーバビリティがどのようになっており、これからどのようにしていけば良いか方向性を示すため追加の資料を用意しました。具体的には以下のようなスライドを用意しました。

New Relicに保存されているテレメトリーデータの収集状況

ここでオブザーバビリティに直結するイベント&トレースデータが不足している(=十分に計装できていない)ことを示しました

New Relicに保存されているテレメトリーデータの活用状況

ここでイベント&トレースデータが十分に活用できていないことを示しました

イベント&トレースデータがあるとNewRelicで何ができるのか

一部サービスではデータが収集できていたため直近で発生していたアラートに対し、どこのサーバで、どのリクエストURIで、何が起こっていたか特定するまでの過程のスクリーンショットを貼り、オブザーバビリティが実際の業務でどのように役に立つかを示しました。

開発者が今後意識していく部分

誰が、何をやるのか明確にするためのスライドを用意しました。下回りはSREにすべて任せてくださいと宣言することで心強さを演出しました。
計装の部分に少し枠がかかっているのはSREが支援するので安心してくださいという意味も込められています。

エンジニアのモチベーションを上げる

「これからオブザーバビリティ強化に向けてやってきましょう」で終わってしまうとそのまま何もなく数ヶ月という月日が流れるという懸念があったため、「課題にしっかり取り組んでいる姿勢を示す」とともに「実際に開発者体験を向上させる」ことでエンジニアの士気を高めたいと考え、以前から取り組んでいたNew Relic CodeStreamの準備をこのタイミングで終わるように急いでタスクを進め、この機会に発表しました。
CodeStream導入前後の変化についてはまた数ヶ月後テックブログにて公開したいと考えております。

参考
docs.newrelic.com

聞き手の反応

ヤプリの文化として「褒め合う」という素晴らしい文化の影響もあるのですが、よい反応だったのではないかと個人的には感じています。

Slackより抜粋

おわりに

オブザーバビリティ布教活動のためにエンジニア向けのプレゼンで工夫した点をご紹介いたしました。オブザーバビリティを強化するには、まずはそのメリットを体感いただくことだと考えているので、New Relicのあらゆる機能を活用できるように下回りの整備を進めていきたいと思います。「当たり前だ」と思われることもあるかと思いますが、これからどのように布教活動を行なったらよいか悩んでいる方の一助に少しでもなれますと幸いです。