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.7k
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.4k
Mackerel の EventBridge 対応開発秘話
tatsuru
PRO
1
180
技術が実現するイノベーションとWebサービス運用の未来 / Innovation from&for Web Operations
tatsuru
PRO
0
1.6k
成長するためのエンジニア組織 / Hatena Engineering Group 2018
tatsuru
PRO
1
110
はてなのログ運用 これまでとこれから / Hatena Engineer Seminar #6
tatsuru
PRO
7
12k
Mesosを使ったImmutable Infra 管理システムを作ってみた
tatsuru
PRO
8
8k
Other Decks in Technology
See All in Technology
はじめてのOSS開発からみえたGo言語の強み
shibukazu
4
1k
今日から始めるAWSセキュリティ対策 3ステップでわかる実践ガイド
yoshidatakeshi1994
0
120
Modern Linux
oracle4engineer
PRO
0
160
「その開発、認知負荷高すぎませんか?」Platform Engineeringで始める開発者体験カイゼン術
sansantech
PRO
2
920
品質視点から考える組織デザイン/Organizational Design from Quality
mii3king
0
210
Automating Web Accessibility Testing with AI Agents
maminami373
0
1.3k
roppongirb_20250911
igaiga
1
250
下手な強制、ダメ!絶対! 「ガードレール」を「檻」にさせない"ガバナンス"の取り方とは?
tsukaman
2
460
これでもう迷わない!Jetpack Composeの書き方実践ガイド
zozotech
PRO
0
1.1k
JTCにおける内製×スクラム開発への挑戦〜内製化率95%達成の舞台裏/JTC's challenge of in-house development with Scrum
aeonpeople
0
270
サラリーマンの小遣いで作るtoCサービス - Cloudflare Workersでスケールする開発戦略
shinaps
2
470
EncryptedSharedPreferences が deprecated になっちゃった!どうしよう! / Oh no! EncryptedSharedPreferences has been deprecated! What should I do?
yanzm
0
490
Featured
See All Featured
Unsuck your backbone
ammeep
671
58k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Rails Girls Zürich Keynote
gr2m
95
14k
A Modern Web Designer's Workflow
chriscoyier
696
190k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
Typedesign – Prime Four
hannesfritz
42
2.8k
Building an army of robots
kneath
306
46k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
The Language of Interfaces
destraynor
161
25k
GraphQLとの向き合い方2022年版
quramy
49
14k
The Cult of Friendly URLs
andyhume
79
6.6k
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