Mackerelのプロダクト開発 - エンジニア中心の開発プロセスで大切にしていること
by
https://speakerdeck.com/tatsuru
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
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