Mackerelのプロダクト開発 - エンジニア中心の開発プロセスで大切にしていること
by
https://speakerdeck.com/tatsuru
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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