はてなで働くエンジニアにアンケートシリーズ第20回は、サービスプラットフォームチームのSRE、id:masayosuに話を聞きました。
- 社内に「まさよし」が複数いて紛らわしい
- SREメンバーでEKSとGKEの2つをキャッチアップ
- 自分の中にkubernetesの知識が蓄積されていった
- ここまでオープンな会社はこれまで経験したことがなかった
社内に「まさよし」が複数いて紛らわしい
── Q1. はてなidとその由来を教えてください
TwitterのIDが@masayosuなので、はてなidもTwitterと同じ文字列を利用しています。由来は本名が「まさよし」なので。
はてな社内には「まさよし」という名前やはてなidを持つ人が3〜4人くらい存在しているので、紛らわしい状態になっています。
── Q2. いつどんなきっかけで入社しましたか?
2020年7月に、id:hayajo_77さんの紹介で入社しました。
id:hayajo_77さんとはYAPCで知り合い、新潟の会社で2年ほど一緒に働いていました。うれしいことに、また同じ会社で働くお誘いをいただきました。はてなのことはYAPCに参加していたので昔から知っていて、自分の技術力を試せる良いチャンスだと思って受けることにしました。
SREメンバーでEKSとGKEの2つをキャッチアップ
── Q3. 現在の仕事を教えてください
サービスプラットフォームチームのSREと事業開発チームのSREを兼務しています。kubernetesの基盤を中心にAWS、GCPのクラウドリソースのOps業務を担当しています。他に、SLI/SLOの計測の設計や実装なども行います。
── Q. チーム内の立ち位置を教えてください
まずそれぞれのチームについてですが、サービスプラットフォームチームは新旧多くのサービスを担当するチームです。ユーザーさんが利用するサービスはもちろん、社内で利用するサービスについても開発しています。事業開発チームでは広告周りの収益を支えるシステムの開発と運用をしています。
両チームの共通点は、kubernetesを利用しているところです。利用しているクラウドプラットフォームは異なり、それぞれAmazon Elastic Kubernetes Service(EKS)とGoogle Kubernetes Engine(GKE)を利用しています。
2つのプラットフォームをキャッチアップしていくのは大変ですが、SREメンバーの間でできるだけキャッチアップする時間を作って学んでいます。
少し話はそれますが、はてなでは「SRE成熟度レベル」というものを設定しています。入門から上級まであり、それぞれのチームが現在地を認識して上のレベルを目指すには何をするべきかを確認できるガイドラインとなっています。
- はてなの「SRE成熟度レベル」については、シリーズ第9回のid:cohalzの記事もご覧ください
事業開発チームでは、サービスのSLOを決定して定期的に見直す仕組みと運用がうまく回りつつあります。サービスプラットフォームチームではSLOを決めるために可観測性をあげようとログ基盤の見直しを行っています。
チームごとに向き合う課題が異なるため、何を解決するかは半期ごとにSREのロードマップを作りながら進めています。
── Q. 1日の仕事の流れを教えてください
だいたい以下のような流れで暮らしています。
- 午前
- チーム朝会(サービスプラットフォームチーム)
- SRE朝会
- ペアオペ(軽め)
- チーム昼会(事業開発チーム)
- 午後
- ペアオペ
- 夕会
- 個人タスクを拾うなど
所属チームが2つあるため、それぞれのチームの会に出席しています。SRE朝会では、もう1人のSREメンバーと一緒にタスクやPull Requestのレビューなどを行っています。面白い試みとしては自分たちが利用しているクラウドプラットフォームのアップデートを毎週確認していますね。火曜日はAWS、水曜日はGCPみたいな感じです。
ほとんどのタスクは2人でペアオペしています。どちらか1人に何かあってももう1人が対応できるような共有の意味もありますし、どうしても気持ちの乗らないタスクがあったとしても、2人でやることが決まっていれば勢いよく対応できるといったメリットもあります。
夕会は事務連絡とチームコミュニケーションの時間で、「ひとこと日記」(Scrapboxを使い、日付で区切って箇条書きで書く雑談のこと。サービスプラットフォームチームが発祥の地で、他のチームにも伝播していき、現在では全社版も存在する)を書いて発表するなど、ワイワイやっています。
自分の中にkubernetesの知識が蓄積されていった
── Q. 最近うまくいったことは何ですか?
社内でkubernetesの知見が溜まっていっていると実感できるようになりました。
はてなに入社するまでkubernetesを触ったことはなかったのですが、2021年のインターンではkubernetesの講師を任せてもらったり、半年前くらいにid:dekokunが同じサービスプラットフォームチームに来てくれてkubernetesのオンボーディングをしたことで、自分の中にkubernetesの知識が蓄積されていきました。
最近はその知見を社外にアウトプットする機会も増えてきていて、技術ブログを書いたりエンジニアセミナーで発表したりしています。
▼ Hatena Developer Blog developer.hatenastaff.com
▼ Hatena Engineer Seminar #20 発表資料
その蓄積した知識を基に、はてなにおけるEKSの社内標準構成を考えていく機会をもらっています。はてなではコンテナオーケストレーションとしてAmazon Elastic Container Service(Amazon ECS)を利用するケースが多く、EKSを利用しているのは我々のチームだけです。EKSの利用を推奨していくというわけではないですが、選択肢のひとつとして選べるように他チームが導入しやすいよう標準構成を検討しています。まだ完成したわけではありませんが、やりがいを持って取り組めています。
ここまでオープンな会社はこれまで経験したことがなかった
── Q. 最近うまくいっていないと感じることは何ですか?
うまくいっていないということではないのですが、サービスプラットフォームチームはとても多くのサービスやシステムを担当しており、その分管理するデータベースも多いです。ここ半年くらいは20個くらいあるAurora MySQLクラスターのアップグレードをやっていて、さすがに疲れました(笑)。
── Q. 普段大切にしていることは何ですか?
ルーチンを作って、それを繰り返せるようになることを大切にしています。繰り返し実践することによって洗練されるのが好きです。
仕事だけでなく趣味でも同様です。ランニングが好きなのでよく走っているのですが、以前大会に出ていた時は、走れば走るほど結果がタイムに出てきたことを楽しんでいました。ゲームはいわゆる“死にゲー”(難易度が非常に高く、クリアが難しいゲームのこと)が好きで、最初は勝てないボスでも最後には全ての攻撃を見切って勝つことに(自己満足ですが)喜びを感じます。
SREメンバーで毎朝やっているクラウドプラットフォームのアップデート確認はとても好きで、少しの時間の中で毎日繰り返し確認していると、少しずつ自分の知識になっていくのが良いですね。ふとした時に「あのアップデート使えそうだな」など、効果は地味だったりするのですが、確認していて良かったと感じる時があります。
── Q. はてなはどんな会社ですか?
歴史と知識が詰まった会社だと思います。20年近く運用を続けているサービスもありますし、社内には信じられないくらい膨大な量のドキュメントがあります。YAPCなどのイベントで見かけていたのはほんの一部だったんだなと感じました。
これらの知識を学ぼうと思えば好きなだけ閲覧することができますし、日々増えてもいきます。ここまでオープンな会社はこれまで経験したことがありません。
はてなのSREは、サービス開発の中で、システムの設計から構築、運用をリードし、サービスの信頼性と開発速度を両立する仕事です。サービスに求められる信頼性を定義し、チームでサービスを運用していく中での道標となる仲間を募集しています。ご連絡をお待ちしております!
▼ SRE(Site Reliability Engineer)職 転職・中途 - 採用情報
▼ SRE(Site Reliability Engineer)職の新卒採用 - 採用情報