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.6k
Mackerelのプロダクト開発 - エンジニア中心の開発プロセスで大切にしていること
tatsuru
PRO
February 17, 2022
Tweet
Share
More Decks by tatsuru
See All by tatsuru
プロダクトオーナーとしてSLOに向き合う 〜Mackerelチームの事例〜 / SRE NEXT 2023
tatsuru
PRO
0
2.2k
Mackerel の EventBridge 対応開発秘話
tatsuru
PRO
1
170
技術が実現するイノベーションとWebサービス運用の未来 / Innovation from&for Web Operations
tatsuru
PRO
0
1.5k
成長するためのエンジニア組織 / Hatena Engineering Group 2018
tatsuru
PRO
1
100
はてなのログ運用 これまでとこれから / Hatena Engineer Seminar #6
tatsuru
PRO
7
12k
Mesosを使ったImmutable Infra 管理システムを作ってみた
tatsuru
PRO
8
8k
Other Decks in Technology
See All in Technology
JSX - 歴史を振り返り、⾯⽩がって、エモくなろう
pal4de
2
100
vLLM meetup Tokyo
jpishikawa
1
210
生成AIをテストプロセスに活用し"よう"としている話 #jasstnano
makky_tyuyan
0
150
活きてなかったデータを活かしてみた話 / Shirokane Kougyou vol 19
sansan_randd
1
260
New Cache Hierarchy for Container Images and OCI Artifacts in Kubernetes Clusters using Containerd / KubeCon + CloudNativeCon Japan
pfn
PRO
0
150
「規約、知識、オペレーション」から考える中規模以上の開発組織のCursorルールの 考え方・育て方 / Cursor Rules for Coding Styles, Domain Knowledges and Operations
yuitosato
6
1.6k
Long journey of Continuous Delivery at Mercari
hisaharu
1
210
工具人的一生: 開發很多 AI 工具讓我 慵懶過一生
line_developers_tw
PRO
0
140
Tensix Core アーキテクチャ解説
tenstorrent_japan
0
360
新卒3年目の後悔〜機械学習モデルジョブの運用を頑張った話〜
kameitomohiro
0
210
Rubyで作る論理回路シミュレータの設計の話 - Kashiwa.rb #12
kozy4324
1
190
産業機械をElixirで制御する
kikuyuta
0
170
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
172
14k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Build The Right Thing And Hit Your Dates
maggiecrowley
36
2.7k
Navigating Team Friction
lara
186
15k
Gamification - CAS2011
davidbonilla
81
5.3k
Stop Working from a Prison Cell
hatefulcrawdad
269
20k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
650
The Language of Interfaces
destraynor
158
25k
Music & Morning Musume
bryan
46
6.6k
Automating Front-end Workflow
addyosmani
1370
200k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
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