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.1k
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.6k
Mackerel の EventBridge 対応開発秘話
tatsuru
PRO
1
110
技術が実現するイノベーションとWebサービス運用の未来 / Innovation from&for Web Operations
tatsuru
PRO
0
1.3k
成長するためのエンジニア組織 / Hatena Engineering Group 2018
tatsuru
PRO
1
91
はてなのログ運用 これまでとこれから / Hatena Engineer Seminar #6
tatsuru
PRO
7
12k
Mesosを使ったImmutable Infra 管理システムを作ってみた
tatsuru
PRO
8
7.7k
Other Decks in Technology
See All in Technology
セキュリティ研修 Day1【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
160
MySQLのロックの種類とその競合
yoku0825
6
1.6k
JBUG岡山 #6 WordCamp男木島の チームビルディング
takeshifurusato
0
150
CTOから見た事業開発とプロダクト開発 / My Perspective on Business and Product Development as CTO
keisuke69
4
960
RAGのサービスをリリースして1年3ヶ月が経ちました
segavvy
4
910
成長期に歩みを止めないための創業期の開発文化形成
mayah
6
420
データベース研修 DB基礎【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
210
AutomatedLabを使って内部ペンテストを勉強しよう! -やられ社内ネットワークの自動構築-
n_etupirka
1
610
AI研修【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
130
Git 研修 Advanced【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
200
AOAI Dev Day LLMシステム開発 Tips集
hirosatogamo
15
3.7k
GoとアクターモデルでES+CQRSを実践! / proto_actor_es_cqrs
ytake
1
150
Featured
See All Featured
How GitHub (no longer) Works
holman
305
140k
Side Projects
sachag
451
42k
Imperfection Machines: The Place of Print at Facebook
scottboms
262
13k
Docker and Python
trallard
37
2.9k
Unsuck your backbone
ammeep
666
57k
Designing with Data
zakiwarfel
96
5k
Creatively Recalculating Your Daily Design Routine
revolveconf
214
11k
Leading Effective Engineering Teams 2024
addyosmani
3
300
Why You Should Never Use an ORM
jnunemaker
PRO
51
8.9k
A Modern Web Designer's Workflow
chriscoyier
689
190k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
35
6.3k
Practical Orchestrator
shlominoach
185
10k
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