Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Mackerelのプロダクト開発 - エンジニア中心の開発プロセスで大切にしていること

tatsuru
PRO
February 17, 2022

Mackerelのプロダクト開発 - エンジニア中心の開発プロセスで大切にしていること

tatsuru
PRO

February 17, 2022
Tweet

More Decks by tatsuru

Other Decks in Technology

Transcript

  1. mackerel.io
    Mackerelのプロダクト開発
    エンジニア中心の開発プロセスで大切にしていること
    2022/2/17 Developers Summit 2022 winter
    株式会社はてな 渡辺 起 (id:wtatsuru)

    View Slide

  2. 自己紹介
    ● 渡辺 起
    ○ id:wtatsuru @tatsuru
    ○ 株式会社はてな
    ● 略歴
    ○ 2011年 インフラエンジニアとして入社
    ○ インフラ基盤チーム責任者を経て
    ○ Mackerel プロダクトマネージャー
    ■ 兼 チーフエンジニア 2

    View Slide

  3. 本日の内容
    ● Mackerelの紹介
    ● エンジニアによるエンジニアのためのプロダクト開発
    ○ エンジニアが企画の主役
    ○ ドッグフーディングを大切にする
    ○ ユーザーに向き合うために大切にしていること
    3

    View Slide

  4. Mackerelの紹介
    4

    View Slide

  5. 5

    View Slide

  6. 6
    システムの運用・監視を簡単にはじめられます
    ● 導入はガイドにしたがってコマンドを実行するだけ
    ● エージェントが死活監視とメトリック取得を自動で開始
    ● 直感的なUIでサービスの状況を可視化
    ● 監視をはじめる敷居が下がり、チームで取り組めます

    View Slide

  7. 7
    Mackerelのアーキテクチャ

    View Slide

  8. Mackerelの誕生背景
    8

    View Slide

  9. はてなについて
    ● 株式会社はてな
    ● 2001年7月設立
    ● 従業員数 167人(2021年7月現在)
    9

    View Slide

  10. はてなの事業::テクノロジーソリューションサービス
    10
    個人向けサービスで培った技術・ノウハウを活かし、
    サーバー監視、マンガビューワ、共同開発などの企業向けのソリューションやサービスを提供しています
    Mackerel
    マンガビューワ
    共同開発・協業サービス

    View Slide

  11. はてなのインフラ史とMackerelの誕生背景
    ● 個人向けのWebサービスを開発してきたはてな
    ● システムも拡大。オンプレミスからクラウドへ
    11
    はてなブログの下側 より

    View Slide

  12. はてなのインフラ史とMackerelの誕生背景
    ● インフラ管理のための社内向けサービスとして誕生
    ○ 2000台規模の管理を自動化
    ○ ホスト情報集約、監視・デプロイとAPI連携
    12
    はてなのインフラ いまむかし はてなのサーバ管理ツールの話

    View Slide

  13. 2014年頃の時代背景
    ● AWSの本格普及期
    ● DockerとImmutable Infrastracture
    ○ サーバーを使い捨てる
    ○ 様々なツールの登場
    ■ Serf, Docker, Kubernetes, ...
    ○ 開発・運用プロセスも変革期
    13
    2014年のウェブシステムアーキテクチャ

    View Slide

  14. はてなのインフラ史とMackerelの誕生背景
    ● 社内の運用で培ったノウハウをサービス化
    ○ サービス・ロールにより集合としての管理
    ○ APIによる開発プロセスへの組み込み
    ○ 同時にUIのブラッシュアップ
    14

    View Slide

  15. Mackerelの誕生背景
    ● はてながWebサービスを開発し、拡大してきた
    ● インフラの効率的管理のためにシステム化
    ● ノウハウをサービスとして提供するのがMackerel
    15

    View Slide

  16. 大事にしていること
    ● 育てる監視
    ○ 簡単に導入、わかりやすいUI。敷居を下げ、チームで取り組む
    ● クラウド時代のプラクティスを提供
    ○ 運用モデル、ノウハウを詰め込む。PDCAのスタート地点。
    16

    View Slide

  17. エンジニアによる
    エンジニアのための
    プロダクト開発
    17

    View Slide

  18. エンジニア向けプロダクトの開発ということは
    ● ユーザー属性が自分達と近い
    ○ どういうものが欲しいか、自分に当てはめて考えやすい
    ● ドッグフーディングを重視する
    ○ 自分達で使う。はてなの全サービスの運用に利用
    18

    View Slide

  19. ドッグフーディングからのフィードバックの一例
    ● Infrastracture as Code したい
    ○ → Mackerel も Terraform 管理したい!
    ○ 独自に作られていたモジュールを移管いただき公式サポート
    ● Mackerel SRE が開発も主導
    19

    View Slide

  20. エンジニア中心に企画を育てる
    ● エンジニア自身がドメインエキスパート
    ○ 裏方に回りがちなインフラエンジニア、SREが、
    Mackerel 開発において企画の主役にもなる
    ● 「これいいね」「こうしたい」を重視する
    ○ チーム内での意見交換を活発に
    ○ 開発合宿でアイデアを爆発させる
    20

    View Slide

  21. 企画アンチパターンも......
    ● 失敗例
    ○ 「これが欲しい」一言だけの GitHub Issue
    ■ 盛り上がりが反映されているが...
    ○ How に縛られてしまう
    ■ Why 7割、How 3割の issue
    ● 完了条件がない
    ■ エンジニア出身PdMとしての失敗
    ● なぜ?何が必要? 21
    Why
    How
    Definition of Done

    View Slide

  22. アイデアを育てる、道を整備する
    ● 基本に立ち返る
    ○ 会話を増やす
    ○ バックログのリファインメント
    ○ Product Backlog Item の完了条件を確認
    ○ フローの整備
    22
    書籍「正しいものを正しくつくる」

    View Slide

  23. 技術の進化に従って進化する必要性
    ● インフラ技術環境は劇的に進化。対応の必要性が高い
    ○ 200週連続リリース
    ■ 初期段階ではまず機能を揃える。
    ○ クラウド利用の拡大
    ■ Mackerel自体もオンプレミスからクラウドへ。
    ○ コンテナなど新しい技術への対応
    23

    View Slide

  24. ユーザー環境
    ドッグフーディングの限界
    ● 社内環境 << ユーザー環境
    24
    社内環境

    View Slide

  25. ドッグフーディングの限界
    ● 社内環境 << ユーザー環境
    ● 必要とされる技術を見極めるには別の理解が必要
    ○ Ansible/Chef, Terraform/Cloudformation,
    Kubernetes/ECS, etc.
    ● 幅広い環境をサポートすることになる
    ○ OSS製品、パッケージに同梱するプラグイン
    ○ エンジニアには幅広くキャッチアップすることになる
    25

    View Slide

  26. ユーザーの声を取り入れやすくするために
    ● ユーザーと距離を近づける
    ○ 「開発者に会いに行けるサービス」
    ○ 直接のヒアリング以外にも距離を縮める試み
    ■ Mackerel Meetup、ユーザーグループ、アンバサダー
    26

    View Slide

  27. 技術に対して誠実に、オープンに
    ● エンジニア向けサービスだからこそ技術に誠実に
    ● 情報はなるべくオープンにしていく
    ○ 内部の構成は公開していく
    ○ 障害報告、メンテナンスの背景
    27

    View Slide

  28. CRE (Customer Reliability Engineer)
    ● CRE = 顧客信頼性エンジニア
    ○ ユーザーの課題解決をミッションとするエンジニア
    ● ユーザーの自走を助ける、必要な支援を提供
    28

    View Slide

  29. 課題を蓄積し、フィードバックする
    ● 以前の悩み:課題がIssueとして大量に上がる
    ○ 全ては対応できないのでどんどん閉じる
    ● CREが要望フィードバックの場を設計、提供
    29
    ユーザー課題を解決しプロダクトを成功に導く方法とCREの役割

    View Slide

  30. 課題について議論する
    ● CREと開発チームで課題について議論の場を持つ
    ● 運用・監視について本気で考える機会になる
    ○ アラート設計と管理方法、こんなシステムの監視はどうあ
    るべきか...
    ○ PdMではなく、いちエンジニアとしても貴重な体験
    30

    View Slide

  31. 大事にしたいことに立ち返る
    なんでも対応したい、にならないように
    ● 育てる監視
    ○ 簡単に導入、わかりやすいUI。敷居を下げ、チームで取り組む
    ● クラウド時代のプラクティスを提供
    ○ 運用モデル、ノウハウを詰め込む。PDCAのスタート地点。
    31

    View Slide

  32. 最近の取り組み事例:SLI/SLO
    ● SRE (Site Reliability Engineering) の取り組み
    ○ SLO (Service Level Objective) の運用
    ○ 計測だけでなく組織での運用まで必要になる
    32
    Developers Summit 2021 Summer での発表 ダッシュボードサンプル(数字は仮のもの)

    View Slide

  33. 最近の取り組み事例:SLI/SLO
    ● ユーザーの技術ブログでの公開を機に
    ● Mackerelでの構成例紹介、利用ツールも提供
    33
    MackerelでSLI/SLO運用をする際に役立つ機能やツールの紹介

    View Slide

  34. まとめ
    34

    View Slide

  35. 本日の内容
    ● Mackerelとその誕生背景の紹介
    ● エンジニアによるエンジニアのためのプロダクト開発
    ○ エンジニアが企画の主役
    ○ ドッグフーディングを大切にする文化
    ○ 技術に対して誠実に
    ○ 顧客中心文化を作るCREの取り組み
    35

    View Slide

  36. 以下、宣伝コーナー
    36

    View Slide

  37. Mackerel を実際に使ってみたいという方は
    Mackerelエバンジェリスト Soudai さんによる入門セミナー
    https://ja.mackerel.io/info/event/mackerel-seminar20220224
    37

    View Slide

  38. 以上です
    エンジニア職(特にCRE)積極採用中!
    https://hatenacorp.jp/recruit/engineer
    もっと話を聞きたい方は Meety もどうぞ →
    38

    View Slide