mackerel.ioMackerelのプロダクト開発エンジニア中心の開発プロセスで大切にしていること2022/2/17 Developers Summit 2022 winter株式会社はてな 渡辺 起 (id:wtatsuru)
View Slide
自己紹介● 渡辺 起○ id:wtatsuru @tatsuru○ 株式会社はてな● 略歴○ 2011年 インフラエンジニアとして入社○ インフラ基盤チーム責任者を経て○ Mackerel プロダクトマネージャー■ 兼 チーフエンジニア 2
本日の内容● Mackerelの紹介● エンジニアによるエンジニアのためのプロダクト開発○ エンジニアが企画の主役○ ドッグフーディングを大切にする○ ユーザーに向き合うために大切にしていること3
Mackerelの紹介4
5
6システムの運用・監視を簡単にはじめられます● 導入はガイドにしたがってコマンドを実行するだけ● エージェントが死活監視とメトリック取得を自動で開始● 直感的なUIでサービスの状況を可視化● 監視をはじめる敷居が下がり、チームで取り組めます
7Mackerelのアーキテクチャ
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, ...○ 開発・運用プロセスも変革期132014年のウェブシステムアーキテクチャ
はてなのインフラ史とMackerelの誕生背景● 社内の運用で培ったノウハウをサービス化○ サービス・ロールにより集合としての管理○ APIによる開発プロセスへの組み込み○ 同時にUIのブラッシュアップ14
Mackerelの誕生背景● はてながWebサービスを開発し、拡大してきた● インフラの効率的管理のためにシステム化● ノウハウをサービスとして提供するのがMackerel15
大事にしていること● 育てる監視○ 簡単に導入、わかりやすい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としての失敗● なぜ?何が必要? 21WhyHowDefinition 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) の運用○ 計測だけでなく組織での運用まで必要になる32Developers Summit 2021 Summer での発表 ダッシュボードサンプル(数字は仮のもの)
最近の取り組み事例:SLI/SLO● ユーザーの技術ブログでの公開を機に● Mackerelでの構成例紹介、利用ツールも提供33MackerelでSLI/SLO運用をする際に役立つ機能やツールの紹介
まとめ34
本日の内容● Mackerelとその誕生背景の紹介● エンジニアによるエンジニアのためのプロダクト開発○ エンジニアが企画の主役○ ドッグフーディングを大切にする文化○ 技術に対して誠実に○ 顧客中心文化を作るCREの取り組み35
以下、宣伝コーナー36
Mackerel を実際に使ってみたいという方はMackerelエバンジェリスト Soudai さんによる入門セミナーhttps://ja.mackerel.io/info/event/mackerel-seminar2022022437
以上ですエンジニア職(特にCRE)積極採用中!https://hatenacorp.jp/recruit/engineerもっと話を聞きたい方は Meety もどうぞ →38