Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

はてなのインフラの歴史、そしてMackerelへ至る道とこれから

781 views

Published on

はてな謹製のサーバー管理・監視SaaSである、Mackerelは、おかげさまでリリースしてから3年が経ちました。リリース後の毎週の機能リリースも継続して続けています。Mackerelの前身は、実は、はてな社内で内製していたサーバー管理ツールです。はてなは創業17年目となりますが、10年近く前から社内仮想化基盤に取り組み、1000台規模のサーバーインフラを管理してきました。そんな中で生まれてきたのが、先代以前のMackerelです。Mackerelはそういった、はてなのインフラ管理の哲学の集大成とも言えるものであり、はてなのサービス展開と共に、今なお進化を続けています。本セッションではそういった、はてなのインフラの歴史や運用哲学、それがどのようにSaaSのMackerelをリリースするまでに至ったのか、そして、今後の構想についてお話します。

Published in: Technology
  • Login to see the comments

  • Be the first to like this

はてなのインフラの歴史、そしてMackerelへ至る道とこれから

  1. 1. Open Cloud Innovation Festa 2016 17 Sep 2016 Hatena Co., Ltd. Hiromichi Sugiyama はてなが歩んできた "Infrastructure as Code"の道のりと が果たす役割について
  2. 2. Hiromichi Sugiyama / 杉山 広通 株式会社はてな サービス・システム開発本部 Mackerelチーム プロデューサー 経歴 - 大手製造業のIT事業会社 - 大規模環境でのインフラエンジニア - オープンソースのモニタリングツール - SaaSシステム - ITILベースのサービスマネジメント - はてなでMackerel事業へ携わる sugiyama88@hatena.ne.jp
  3. 3. アジェンダ 1. はてなについて 2. はてなのインフラとMackerelがはたす役割 3. Infrastructure as Code 4. Mackerelのご紹介 5. Mackerelのビジョン
  4. 4. 1 はてなについて
  5. 5. 会社概要 所在地 京都(烏丸御池) 東京(表参道) 資本⾦ 185,713千円 市場 東証マザーズ 設⽴ 2001年7⽉(16年⽬) 創業者 近藤 淳也 社⻑ 栗栖 義⾂
  6. 6. はてなのミッション
  7. 7. はてなのサービス
  8. 8. 他にも多数のサービスあり
  9. 9. 2 はてなのインフラと Mackerelが果たす役割
  10. 10. 16年の歴史
  11. 11. marqs-60 CMX-50 自作サーバー時代(その昔:数年前)
  12. 12. ハイブリッド環境(現在) オンプレ データセンター パブリック クラウド 数千台の大規模環境でサービス全体を運営
  13. 13. 大規模なサービス環境
  14. 14. インフラエンジニアは 数名
  15. 15. いかに効率よく 持続的に管理するか?
  16. 16. Dynamic Infrastructure Platform(世の潮流) • より動的で便利になるインフラ環境
  17. 17. 存在する多数のサービス&ホスト 数十のサービス 数千のホスト
  18. 18. 膨大な組み合わせへの対処
  19. 19. サービス・ロール・ホスト 一貫した管理概念を採用 Service Role Host
  20. 20. Service Role Host はてな Bookmark appproxy DB DB1 DB2app3app2app1proxy1 proxy2 適用例:はてなBookmark
  21. 21. わかり易さと利便性を 数十のサービス 数百のロール 数千のホスト
  22. 22. 開発や運用との関わりは?
  23. 23. DevOps Lifecycle • 開発と運用が永続的なサイク ルを成す • 多種多様な効率化ツールや サービスが存在 • 適材適所 • 好み Mystery of DevOps Devops Lifecycle http://www.edureka.co/blog/mystery-of-devops/
  24. 24. DevOps Tools • 適材適所、優れたツールが多数 Feedback Develop Test Deploy Monitor
  25. 25. Mackerelが果たす役割
  26. 26. logo (2) 個別には便利であるが。。。 • 動的なインフラ環境をそれぞれ定義して扱 うのか? Monitoring Server Configuration Deploy ?
  27. 27. logo (2) ホストレジストリとしてのMackerel • ホスト情報はMackerelへ集約 • ツール間を疎結合(便利なAPI) Monitoring Server Configuration Deploy 旧Mackerel
  28. 28. logo (2) 更なる進化(現在) • Mackerelを軸とした動的管理を実現 droot Monitoring & Host Registry Server Configuration Deploy Infrastructure Test SSH-Operation Infrastructure DNS Registry tinydns
  29. 29. ホストレジストリは非常に簡単 ホスト ① ホスト起動時に 必ずサービスとロールをセットし Mackerelエージェントを起動する ② Mackerelにホスト情報が登録される ③ APIで動的にホスト情報を取り出し て再利用 ① ② ③ ?
  30. 30. 3 Infrastructure as Code
  31. 31. これまでの道のりを 振り返り 共通していた一つのこと
  32. 32. Infrastructure as Code • インフラをコードで宣言的に記述することにより、 いままでソフトウェア開発で有効性が立証されてきた ベストプラクティスをインフラへも適用する Infrastructure as Code Managing Servers in the Cloud By Kief Morris Publisher: O'Reilly Media Final Release Date: June 2016
  33. 33. Infrastructure as Codeの恩恵 • 動的なインフラへの対処 • 迅速に、何度でも、確実に同じ変更が可能(ストレスがない) • 障害からの復旧速度 • コードレビュー • 単純作業から離れ、価値あることに時間がさけるようになる
  34. 34. モダンなインフラツールの要素 VCS Test Orches tration TDD CI CD
  35. 35. はてなでの一例
  36. 36. Dev Ops Service A Service B Service C はてなの開発と運用の体制 • Opsは一つの組織だが、サービスごとに担当をアサインしている
  37. 37. Dev Ops Service A Service B Service C 開発と運用の体制 • Opsは一つの組織だが、サービスごとに担当をアサインしている Webアプリケーション エンジニア
  38. 38. Dev Ops Service A Service B Service C 開発と運用の体制 • Opsは一つの組織だが、サービスごとに担当をアサインしている Webアプリケーション エンジニア Webオペレーション エンジニア
  39. 39. コード管理する利点(一例) • コードレベルで可視化されているので、簡単に越境できる アプリケーション ミドルウェア OS プラットフォーム Dev Ops DBに精通しているOpsエンジニアがSQL のレビューをしたり Devエンジニアがミドルウェアを試すた めのChefレシピを書いたり ミドルウェアのオプション構成を理解 しながらコードを書いたり ↓ポイント
  40. 40. 開発と運用の責任範囲 • グレイゾーンを作らずお互い尊重しながら助け合えている アプリケーション ミドルウェア OS プラットフォーム Dev Ops
  41. 41. Performance Working Group (おまけ) • サービスへコミットしてる全メンバーが定期(スプリント毎)に性能分析を実施 (Mackerelを活用) • 中長期のリリース影響など分析し、開発やインフラのキャパシティ計画へ即時反映 アプリケーション ミドルウェア OS プラットフォーム Dev Ops
  42. 42. 4 Mackerelのご紹介
  43. 43. Mackerelとは? • "SaaS型"サーバー監視サービス • エンジニアが欲しかった ワクワク するよ うな機能を提供し、圧倒的な 効率化 を実現 • はてなの主力サービスをささえ続けてきた (最高のドッグフーディング)
  44. 44. 2014.9.17正式リリース (本日ちょうど2周年!!)
  45. 45. アーキテクチャー • エージェントから メトリックを投稿 HTTPS REST API
  46. 46. 直感的なユーザー体験
  47. 47. 簡単に直ぐはじめられる • ガイドに従うだけ • たった数分 mackerel-agent written in Golang
  48. 48. 最小のルールが最高の利便性を • エージェントを立ち上げるだけで • 自動的に監視が始まり • 同じロールのホストは同じグラフへ
  49. 49. 常に進化し続けるサービス 毎週新機能のリリースを継続中 陳腐化せず常に進化 100+週連続
  50. 50. 選ばれる理由 • 導入/UIが簡単で分かりやすい • 開発スピード • マルチクラウドで使える • 日本語サポートが充実 • NewRelicとの併用
  51. 51. サービスプラン
  52. 52. 主な機能
  53. 53. 1.アラート通知にグラフ • Slack, HipChat, TypeTalk, Yammer
  54. 54. 2.URL外形監視 • 利用者視点のHTTP/HTTPS監視 • 外部からのレスポンスタイムを可視化 • ステータスコード・レスポンスタイムでアラート • キーワードの存在チェック • SSL証明書の有効期限をチェック Web Service URL
  55. 55. 3.監視ルールのコード化 • Infrastructure as Code • mkr monitor diff/pull/push • JSON形式でルールを扱う
  56. 56. 4.監視ルールをGitで管理
  57. 57. 5.メトリックを柔軟に可視化(式) 差分 前週との重ねあわせ 最大 最大・平均・最小 合計
  58. 58. 6.AWS Integration • AWS CloudWatch APIから様々なメトリックやイベ ントを取得し可視化 • 1台のホストとして管理 • EC2,ELB,RDS,ElastiCacheから順次拡大 API Amazon CloudWatch Amazon RDS Amazon ELB
  59. 59. 7.職人芸をアルゴリズムで支援 過去の傾向から将来を予測して警告 Critical > 80% 将来 Trends 1ヵ月前 現在
  60. 60. 5 Mackerelの果たす役割 (今後も)
  61. 61. クラウド化の流れ • 開発ツールはクラウドへ • svn/git → GitHub (GitHub Enterprise) • Jenkins → TravisCI, CircleCI • 実行環境もクラウドへ • オンプレ → AWS, GCP, Azure,SoftLayer
  62. 62. Mackerelへの流れ • 運用ツールもクラウドへ • Zabbix, Nagios → Cloudwatch, NewRelic and Mackerel !! • 使いやすいUIによる、より安定した運用を
  63. 63. Infrastructure as Code • ホスト設定をコード化(Chef/puppet) • Mackerelの設定もCodeで管理 • 監視ルール/ダッシュボードのコード化 • 順次、API化を推進
  64. 64. Mackerelの未来 • All-in-Oneサービスではない • 様々なツール/サービスとの連携 • Slack/GitHub/Reactio • システム管理のコアツールとしての Mackerel
  65. 65. DevOpsの中核として • ライフサイクル全体の効率化を促進 Dev Ops
  66. 66. Mackerelのビジョン エンジニアをワクワクさせる 「直感的サーバー監視サービス」
  67. 67. さらなる進化
  68. 68. ホストレジストリの強化 • ホストなどの任意の要素にKey-Value値をAPI等で設 定可能に • インストールされたパッケージ情報 • 資産管理番号 近日リリース
  69. 69. アルゴリズム支援 • 統計や機械学習の理論を応用 • 異常検知 • 予測 • 分類
  70. 70. サービス成長傾向(ホスト純増) 急成長
  71. 71. 次世代Mackerel • 成長を支える、あらたなアーキテク チャへの変革! • ご期待下さい!
  72. 72. さいごに一つ
  73. 73. We are Hiring • セールスエンジニア(急募) • Webアプリケーションエンジニア
  74. 74. mackerel.io

×