Slide 1

Slide 1 text

mackerel.io Mackerelのプロダクト開発 エンジニア中心の開発プロセスで大切にしていること 2022/2/17 Developers Summit 2022 winter 株式会社はてな 渡辺 起 (id:wtatsuru)

Slide 2

Slide 2 text

自己紹介 ● 渡辺 起 ○ id:wtatsuru @tatsuru ○ 株式会社はてな ● 略歴 ○ 2011年 インフラエンジニアとして入社 ○ インフラ基盤チーム責任者を経て ○ Mackerel プロダクトマネージャー ■ 兼 チーフエンジニア 2

Slide 3

Slide 3 text

本日の内容 ● Mackerelの紹介 ● エンジニアによるエンジニアのためのプロダクト開発 ○ エンジニアが企画の主役 ○ ドッグフーディングを大切にする ○ ユーザーに向き合うために大切にしていること 3

Slide 4

Slide 4 text

Mackerelの紹介 4

Slide 5

Slide 5 text

5

Slide 6

Slide 6 text

6 システムの運用・監視を簡単にはじめられます ● 導入はガイドにしたがってコマンドを実行するだけ ● エージェントが死活監視とメトリック取得を自動で開始 ● 直感的なUIでサービスの状況を可視化 ● 監視をはじめる敷居が下がり、チームで取り組めます

Slide 7

Slide 7 text

7 Mackerelのアーキテクチャ

Slide 8

Slide 8 text

Mackerelの誕生背景 8

Slide 9

Slide 9 text

はてなについて ● 株式会社はてな ● 2001年7月設立 ● 従業員数 167人(2021年7月現在) 9

Slide 10

Slide 10 text

はてなの事業::テクノロジーソリューションサービス 10 個人向けサービスで培った技術・ノウハウを活かし、 サーバー監視、マンガビューワ、共同開発などの企業向けのソリューションやサービスを提供しています Mackerel マンガビューワ 共同開発・協業サービス

Slide 11

Slide 11 text

はてなのインフラ史とMackerelの誕生背景 ● 個人向けのWebサービスを開発してきたはてな ● システムも拡大。オンプレミスからクラウドへ 11 はてなブログの下側 より

Slide 12

Slide 12 text

はてなのインフラ史とMackerelの誕生背景 ● インフラ管理のための社内向けサービスとして誕生 ○ 2000台規模の管理を自動化 ○ ホスト情報集約、監視・デプロイとAPI連携 12 はてなのインフラ いまむかし はてなのサーバ管理ツールの話

Slide 13

Slide 13 text

2014年頃の時代背景 ● AWSの本格普及期 ● DockerとImmutable Infrastracture ○ サーバーを使い捨てる ○ 様々なツールの登場 ■ Serf, Docker, Kubernetes, ... ○ 開発・運用プロセスも変革期 13 2014年のウェブシステムアーキテクチャ

Slide 14

Slide 14 text

はてなのインフラ史とMackerelの誕生背景 ● 社内の運用で培ったノウハウをサービス化 ○ サービス・ロールにより集合としての管理 ○ APIによる開発プロセスへの組み込み ○ 同時にUIのブラッシュアップ 14

Slide 15

Slide 15 text

Mackerelの誕生背景 ● はてながWebサービスを開発し、拡大してきた ● インフラの効率的管理のためにシステム化 ● ノウハウをサービスとして提供するのがMackerel 15

Slide 16

Slide 16 text

大事にしていること ● 育てる監視 ○ 簡単に導入、わかりやすいUI。敷居を下げ、チームで取り組む ● クラウド時代のプラクティスを提供 ○ 運用モデル、ノウハウを詰め込む。PDCAのスタート地点。 16

Slide 17

Slide 17 text

エンジニアによる エンジニアのための プロダクト開発 17

Slide 18

Slide 18 text

エンジニア向けプロダクトの開発ということは ● ユーザー属性が自分達と近い ○ どういうものが欲しいか、自分に当てはめて考えやすい ● ドッグフーディングを重視する ○ 自分達で使う。はてなの全サービスの運用に利用 18

Slide 19

Slide 19 text

ドッグフーディングからのフィードバックの一例 ● Infrastracture as Code したい ○ → Mackerel も Terraform 管理したい! ○ 独自に作られていたモジュールを移管いただき公式サポート ● Mackerel SRE が開発も主導 19

Slide 20

Slide 20 text

エンジニア中心に企画を育てる ● エンジニア自身がドメインエキスパート ○ 裏方に回りがちなインフラエンジニア、SREが、 Mackerel 開発において企画の主役にもなる ● 「これいいね」「こうしたい」を重視する ○ チーム内での意見交換を活発に ○ 開発合宿でアイデアを爆発させる 20

Slide 21

Slide 21 text

企画アンチパターンも...... ● 失敗例 ○ 「これが欲しい」一言だけの GitHub Issue ■ 盛り上がりが反映されているが... ○ How に縛られてしまう ■ Why 7割、How 3割の issue ● 完了条件がない ■ エンジニア出身PdMとしての失敗 ● なぜ?何が必要? 21 Why How Definition of Done

Slide 22

Slide 22 text

アイデアを育てる、道を整備する ● 基本に立ち返る ○ 会話を増やす ○ バックログのリファインメント ○ Product Backlog Item の完了条件を確認 ○ フローの整備 22 書籍「正しいものを正しくつくる」

Slide 23

Slide 23 text

技術の進化に従って進化する必要性 ● インフラ技術環境は劇的に進化。対応の必要性が高い ○ 200週連続リリース ■ 初期段階ではまず機能を揃える。 ○ クラウド利用の拡大 ■ Mackerel自体もオンプレミスからクラウドへ。 ○ コンテナなど新しい技術への対応 23

Slide 24

Slide 24 text

ユーザー環境 ドッグフーディングの限界 ● 社内環境 << ユーザー環境 24 社内環境

Slide 25

Slide 25 text

ドッグフーディングの限界 ● 社内環境 << ユーザー環境 ● 必要とされる技術を見極めるには別の理解が必要 ○ Ansible/Chef, Terraform/Cloudformation, Kubernetes/ECS, etc. ● 幅広い環境をサポートすることになる ○ OSS製品、パッケージに同梱するプラグイン ○ エンジニアには幅広くキャッチアップすることになる 25

Slide 26

Slide 26 text

ユーザーの声を取り入れやすくするために ● ユーザーと距離を近づける ○ 「開発者に会いに行けるサービス」 ○ 直接のヒアリング以外にも距離を縮める試み ■ Mackerel Meetup、ユーザーグループ、アンバサダー 26

Slide 27

Slide 27 text

技術に対して誠実に、オープンに ● エンジニア向けサービスだからこそ技術に誠実に ● 情報はなるべくオープンにしていく ○ 内部の構成は公開していく ○ 障害報告、メンテナンスの背景 27

Slide 28

Slide 28 text

CRE (Customer Reliability Engineer) ● CRE = 顧客信頼性エンジニア ○ ユーザーの課題解決をミッションとするエンジニア ● ユーザーの自走を助ける、必要な支援を提供 28

Slide 29

Slide 29 text

課題を蓄積し、フィードバックする ● 以前の悩み:課題がIssueとして大量に上がる ○ 全ては対応できないのでどんどん閉じる ● CREが要望フィードバックの場を設計、提供 29 ユーザー課題を解決しプロダクトを成功に導く方法とCREの役割

Slide 30

Slide 30 text

課題について議論する ● CREと開発チームで課題について議論の場を持つ ● 運用・監視について本気で考える機会になる ○ アラート設計と管理方法、こんなシステムの監視はどうあ るべきか... ○ PdMではなく、いちエンジニアとしても貴重な体験 30

Slide 31

Slide 31 text

大事にしたいことに立ち返る なんでも対応したい、にならないように ● 育てる監視 ○ 簡単に導入、わかりやすいUI。敷居を下げ、チームで取り組む ● クラウド時代のプラクティスを提供 ○ 運用モデル、ノウハウを詰め込む。PDCAのスタート地点。 31

Slide 32

Slide 32 text

最近の取り組み事例:SLI/SLO ● SRE (Site Reliability Engineering) の取り組み ○ SLO (Service Level Objective) の運用 ○ 計測だけでなく組織での運用まで必要になる 32 Developers Summit 2021 Summer での発表 ダッシュボードサンプル(数字は仮のもの)

Slide 33

Slide 33 text

最近の取り組み事例:SLI/SLO ● ユーザーの技術ブログでの公開を機に ● Mackerelでの構成例紹介、利用ツールも提供 33 MackerelでSLI/SLO運用をする際に役立つ機能やツールの紹介

Slide 34

Slide 34 text

まとめ 34

Slide 35

Slide 35 text

本日の内容 ● Mackerelとその誕生背景の紹介 ● エンジニアによるエンジニアのためのプロダクト開発 ○ エンジニアが企画の主役 ○ ドッグフーディングを大切にする文化 ○ 技術に対して誠実に ○ 顧客中心文化を作るCREの取り組み 35

Slide 36

Slide 36 text

以下、宣伝コーナー 36

Slide 37

Slide 37 text

Mackerel を実際に使ってみたいという方は Mackerelエバンジェリスト Soudai さんによる入門セミナー https://ja.mackerel.io/info/event/mackerel-seminar20220224 37

Slide 38

Slide 38 text

以上です エンジニア職(特にCRE)積極採用中! https://hatenacorp.jp/recruit/engineer もっと話を聞きたい方は Meety もどうぞ → 38