Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Mackerelのプロダクト開発 - エンジニア中心の開発プロセスで大切にしていること
Search
tatsuru
PRO
February 17, 2022
Technology
0
4.3k
Mackerelのプロダクト開発 - エンジニア中心の開発プロセスで大切にしていること
tatsuru
PRO
February 17, 2022
Tweet
Share
More Decks by tatsuru
See All by tatsuru
プロダクトオーナーとしてSLOに向き合う 〜Mackerelチームの事例〜 / SRE NEXT 2023
tatsuru
PRO
0
1.9k
Mackerel の EventBridge 対応開発秘話
tatsuru
PRO
1
140
技術が実現するイノベーションとWebサービス運用の未来 / Innovation from&for Web Operations
tatsuru
PRO
0
1.4k
成長するためのエンジニア組織 / Hatena Engineering Group 2018
tatsuru
PRO
1
95
はてなのログ運用 これまでとこれから / Hatena Engineer Seminar #6
tatsuru
PRO
7
12k
Mesosを使ったImmutable Infra 管理システムを作ってみた
tatsuru
PRO
8
7.8k
Other Decks in Technology
See All in Technology
第1回 国土交通省 データコンペ参加者向け勉強会③- Snowflake x estie編 -
estie
0
130
TypeScriptの次なる大進化なるか!? 条件型を返り値とする関数の型推論
uhyo
2
1.7k
VideoMamba: State Space Model for Efficient Video Understanding
chou500
0
190
ノーコードデータ分析ツールで体験する時系列データ分析超入門
negi111111
0
420
Zennのパフォーマンスモニタリングでやっていること
ryosukeigarashi
0
150
【令和最新版】AWS Direct Connectと愉快なGWたちのおさらい
minorun365
PRO
5
760
適材適所の技術選定 〜GraphQL・REST API・tRPC〜 / Optimal Technology Selection
kakehashi
1
690
開発生産性を上げながらビジネスも30倍成長させてきたチームの姿
kamina_zzz
2
1.7k
rootlessコンテナのすゝめ - 研究室サーバーでもできる安全なコンテナ管理
kitsuya0828
3
390
マルチプロダクトな開発組織で 「開発生産性」に向き合うために試みたこと / Improving Multi-Product Dev Productivity
sugamasao
1
310
これまでの計測・開発・デプロイ方法全部見せます! / Findy ISUCON 2024-11-14
tohutohu
3
370
TypeScript、上達の瞬間
sadnessojisan
46
13k
Featured
See All Featured
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
900
Facilitating Awesome Meetings
lara
50
6.1k
Building Better People: How to give real-time feedback that sticks.
wjessup
364
19k
Designing Experiences People Love
moore
138
23k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
31
2.7k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
Adopting Sorbet at Scale
ufuk
73
9.1k
Side Projects
sachag
452
42k
10 Git Anti Patterns You Should be Aware of
lemiorhan
655
59k
[RailsConf 2023] Rails as a piece of cake
palkan
52
4.9k
Mobile First: as difficult as doing things right
swwweet
222
8.9k
Transcript
mackerel.io Mackerelのプロダクト開発 エンジニア中心の開発プロセスで大切にしていること 2022/2/17 Developers Summit 2022 winter 株式会社はてな 渡辺 起
(id:wtatsuru)
自己紹介 • 渡辺 起 ◦ id:wtatsuru @tatsuru ◦ 株式会社はてな •
略歴 ◦ 2011年 インフラエンジニアとして入社 ◦ インフラ基盤チーム責任者を経て ◦ Mackerel プロダクトマネージャー ▪ 兼 チーフエンジニア 2
本日の内容 • Mackerelの紹介 • エンジニアによるエンジニアのためのプロダクト開発 ◦ エンジニアが企画の主役 ◦ ドッグフーディングを大切にする ◦
ユーザーに向き合うために大切にしていること 3
Mackerelの紹介 4
5
6 システムの運用・監視を簡単にはじめられます • 導入はガイドにしたがってコマンドを実行するだけ • エージェントが死活監視とメトリック取得を自動で開始 • 直感的なUIでサービスの状況を可視化 • 監視をはじめる敷居が下がり、チームで取り組めます
7 Mackerelのアーキテクチャ
Mackerelの誕生背景 8
はてなについて • 株式会社はてな • 2001年7月設立 • 従業員数 167人(2021年7月現在) 9
はてなの事業::テクノロジーソリューションサービス 10 個人向けサービスで培った技術・ノウハウを活かし、 サーバー監視、マンガビューワ、共同開発などの企業向けのソリューションやサービスを提供しています Mackerel マンガビューワ 共同開発・協業サービス
はてなのインフラ史とMackerelの誕生背景 • 個人向けのWebサービスを開発してきたはてな • システムも拡大。オンプレミスからクラウドへ 11 はてなブログの下側 より
はてなのインフラ史とMackerelの誕生背景 • インフラ管理のための社内向けサービスとして誕生 ◦ 2000台規模の管理を自動化 ◦ ホスト情報集約、監視・デプロイとAPI連携 12 はてなのインフラ いまむかし はてなのサーバ管理ツールの話
2014年頃の時代背景 • AWSの本格普及期 • DockerとImmutable Infrastracture ◦ サーバーを使い捨てる ◦ 様々なツールの登場
▪ Serf, Docker, Kubernetes, ... ◦ 開発・運用プロセスも変革期 13 2014年のウェブシステムアーキテクチャ
はてなのインフラ史とMackerelの誕生背景 • 社内の運用で培ったノウハウをサービス化 ◦ サービス・ロールにより集合としての管理 ◦ APIによる開発プロセスへの組み込み ◦ 同時にUIのブラッシュアップ 14
Mackerelの誕生背景 • はてながWebサービスを開発し、拡大してきた • インフラの効率的管理のためにシステム化 • ノウハウをサービスとして提供するのがMackerel 15
大事にしていること • 育てる監視 ◦ 簡単に導入、わかりやすいUI。敷居を下げ、チームで取り組む • クラウド時代のプラクティスを提供 ◦ 運用モデル、ノウハウを詰め込む。PDCAのスタート地点。 16
エンジニアによる エンジニアのための プロダクト開発 17
エンジニア向けプロダクトの開発ということは • ユーザー属性が自分達と近い ◦ どういうものが欲しいか、自分に当てはめて考えやすい • ドッグフーディングを重視する ◦ 自分達で使う。はてなの全サービスの運用に利用 18
ドッグフーディングからのフィードバックの一例 • Infrastracture as Code したい ◦ → Mackerel も
Terraform 管理したい! ◦ 独自に作られていたモジュールを移管いただき公式サポート • Mackerel SRE が開発も主導 19
エンジニア中心に企画を育てる • エンジニア自身がドメインエキスパート ◦ 裏方に回りがちなインフラエンジニア、SREが、 Mackerel 開発において企画の主役にもなる • 「これいいね」「こうしたい」を重視する ◦
チーム内での意見交換を活発に ◦ 開発合宿でアイデアを爆発させる 20
企画アンチパターンも...... • 失敗例 ◦ 「これが欲しい」一言だけの GitHub Issue ▪ 盛り上がりが反映されているが... ◦
How に縛られてしまう ▪ Why 7割、How 3割の issue • 完了条件がない ▪ エンジニア出身PdMとしての失敗 • なぜ?何が必要? 21 Why How Definition of Done
アイデアを育てる、道を整備する • 基本に立ち返る ◦ 会話を増やす ◦ バックログのリファインメント ◦ Product Backlog
Item の完了条件を確認 ◦ フローの整備 22 書籍「正しいものを正しくつくる」
技術の進化に従って進化する必要性 • インフラ技術環境は劇的に進化。対応の必要性が高い ◦ 200週連続リリース ▪ 初期段階ではまず機能を揃える。 ◦ クラウド利用の拡大 ▪
Mackerel自体もオンプレミスからクラウドへ。 ◦ コンテナなど新しい技術への対応 23
ユーザー環境 ドッグフーディングの限界 • 社内環境 << ユーザー環境 24 社内環境
ドッグフーディングの限界 • 社内環境 << ユーザー環境 • 必要とされる技術を見極めるには別の理解が必要 ◦ Ansible/Chef, Terraform/Cloudformation,
Kubernetes/ECS, etc. • 幅広い環境をサポートすることになる ◦ OSS製品、パッケージに同梱するプラグイン ◦ エンジニアには幅広くキャッチアップすることになる 25
ユーザーの声を取り入れやすくするために • ユーザーと距離を近づける ◦ 「開発者に会いに行けるサービス」 ◦ 直接のヒアリング以外にも距離を縮める試み ▪ Mackerel Meetup、ユーザーグループ、アンバサダー
26
技術に対して誠実に、オープンに • エンジニア向けサービスだからこそ技術に誠実に • 情報はなるべくオープンにしていく ◦ 内部の構成は公開していく ◦ 障害報告、メンテナンスの背景 27
CRE (Customer Reliability Engineer) • CRE = 顧客信頼性エンジニア ◦ ユーザーの課題解決をミッションとするエンジニア
• ユーザーの自走を助ける、必要な支援を提供 28
課題を蓄積し、フィードバックする • 以前の悩み:課題がIssueとして大量に上がる ◦ 全ては対応できないのでどんどん閉じる • CREが要望フィードバックの場を設計、提供 29 ユーザー課題を解決しプロダクトを成功に導く方法とCREの役割
課題について議論する • CREと開発チームで課題について議論の場を持つ • 運用・監視について本気で考える機会になる ◦ アラート設計と管理方法、こんなシステムの監視はどうあ るべきか... ◦ PdMではなく、いちエンジニアとしても貴重な体験
30
大事にしたいことに立ち返る なんでも対応したい、にならないように • 育てる監視 ◦ 簡単に導入、わかりやすいUI。敷居を下げ、チームで取り組む • クラウド時代のプラクティスを提供 ◦ 運用モデル、ノウハウを詰め込む。PDCAのスタート地点。
31
最近の取り組み事例:SLI/SLO • SRE (Site Reliability Engineering) の取り組み ◦ SLO (Service
Level Objective) の運用 ◦ 計測だけでなく組織での運用まで必要になる 32 Developers Summit 2021 Summer での発表 ダッシュボードサンプル(数字は仮のもの)
最近の取り組み事例:SLI/SLO • ユーザーの技術ブログでの公開を機に • Mackerelでの構成例紹介、利用ツールも提供 33 MackerelでSLI/SLO運用をする際に役立つ機能やツールの紹介
まとめ 34
本日の内容 • Mackerelとその誕生背景の紹介 • エンジニアによるエンジニアのためのプロダクト開発 ◦ エンジニアが企画の主役 ◦ ドッグフーディングを大切にする文化 ◦
技術に対して誠実に ◦ 顧客中心文化を作るCREの取り組み 35
以下、宣伝コーナー 36
Mackerel を実際に使ってみたいという方は Mackerelエバンジェリスト Soudai さんによる入門セミナー https://ja.mackerel.io/info/event/mackerel-seminar20220224 37
以上です エンジニア職(特にCRE)積極採用中! https://hatenacorp.jp/recruit/engineer もっと話を聞きたい方は Meety もどうぞ → 38