freee を支えるインフラ技術 / freee-infrastructure

freee を支えるインフラ技術 / freee-infrastructure

【freee × プレイド】Tech Meetup 〜インフラ監視編〜

Dacd98e0fcfc478b24f9cd7ec9208904?s=128

Manabu Sakai

January 19, 2017
Tweet

Transcript

  1. を支えるインフラ監視 【freee × プレイド】Tech Meetup

  2. #plaidtech

  3. 話すこと • freee で使っている監視系サービス • 少人数で運用するためのノウハウ

  4. 話さないこと • 監視の基本的なこと • 各監視サービスの比較や使い方

  5. 自己紹介 Twitter / GitHub @manabusakai

  6. 自己紹介 • 坂井 学(さかい まなぶ) • 2016 年にインフラエンジニアとして入社 • Scala

    / Ruby / PHP を書いてました • 得意分野は AWS ◦ AWS 認定ソリューションアーキテクト - プロフェッショナル ◦ AWS 認定 DevOps エンジニア - プロフェッショナル
  7. スモールビジネスに携わる方が より創造的な活動にフォーカスできるよう

  8. freee が提供するサービス • 会計 freee • 給与計算 freee • 会社設立

    freee • マイナンバー管理 freee • 開業 freee
  9. freee が提供するサービス

  10. freee で使っている 監視系サービス

  11. • サーバー監視 ◦ Mackerel <https://mackerel.io/> ◦ CloudWatch <https://aws.amazon.com/cloudwatch/> ◦ Prometheus

    <https://prometheus.io/> • パフォーマンス監視 ◦ New Relic <https://newrelic.com/> ◦ MONyog <https://www.webyog.com/> • トラッキング ◦ Redash <https://redash.io/> ◦ Kibana <https://www.elastic.co/products/kibana/>
  12. それぞれの守備範囲 AWS サーバ アプリ データベース Mackerel ◯ ◯ ◯ CloudWatch

    ◯ Prometheus ◯ New Relic ◯ MONyog ◯
  13. インフラエンジニアは 何人いますか?

  14. 3 / 80 人

  15. None
  16. 1 人あたり 20 万事業所

  17. 効率化しないと回らない!

  18. 少人数で運用するために 工夫していること

  19. ① 情報はプルよりプッシュ 必要な情報は一か所にプッシュされる仕組みを作る。 • Slack に通知しているもの ◦ Mackerel からのアラート ◦

    GitHub など外部サービスの障害情報 ◦ アプリケーションのパフォーマンスサマリー ◦ AWS のコスト ◦ Qiita:Team の新着記事
  20. ① 情報はプルよりプッシュ

  21. ② フルマネージドサービスの活用 AWS のフルマネージドサービスを活用して、 監視するポイントを根本から減らす。 • トレードオフとの兼ね合い ◦ 運用が楽になる ⇔

    ブラックボックスが増える ◦ ノーメンテナンス ⇔ 障害が起きたら手が出せない ◦ 設定が簡単 ⇔ 痒いところに手が届かない
  22. ③ 障害が起きることを前提に 障害が起きることを前提にインフラを設計する。 • 例えば ◦ サーバは Auto Scaling で管理し可用性を担保する

    ◦ 単一障害点を作り出さない ◦ リトライを前提としたコードを書く ◦ etc...
  23. ③ 障害が起きることを前提に “障害を避ける最もよい方法は、 常に障害を起こすことである”

  24. ④ 本業にフォーカスする サービスをより良くすることにフォーカスする。 それ以外の部分はお金で解決するのもアリ。 • Zabbix から Mackerel へ移行 ◦

    結果的には Mackerel のコストは充分ペイした ◦ Mackerel Meetup #8 Tokyo (2016/10/17) で発表 ▪ ref. Zabbix から Mackerel へ - Mackerel で実現したコストダウン
  25. ④ 本業にフォーカスする

  26. ⑤ トラッキングして見える化 数値をトラッキングして見える化する。 • 数値は嘘をつかない ◦ 曖昧さを排除できる ◦ 数値を元に改善サイクルを回す

  27. ⑤ トラッキングして見える化 様々なメトリクスをトラッ キングして、見える化

  28. まとめ

  29. まとめ freee はごく普通の監視サービスを使っていますが、 工夫することで少人数を実現しています。 1. 情報はプルよりプッシュ 2. フルマネージドサービスの活用 3. 障害が起きることを前提に

    4. 本業にフォーカスする 5. トラッキングして見える化
  30. エンジニア募集中

  31. 最後に宣伝 今年から個人事業主として開業しました。 • AWS の導入支援 • AWS アーキテクチャのコンサルティング などをやっています。 興味を持った方は、気軽にお声がけください