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
freee を支えるインフラ技術 / freee-infrastructure
Search
Manabu Sakai
January 19, 2017
Technology
7
15k
freee を支えるインフラ技術 / freee-infrastructure
【freee × プレイド】Tech Meetup 〜インフラ監視編〜
Manabu Sakai
January 19, 2017
Tweet
Share
More Decks by Manabu Sakai
See All by Manabu Sakai
アウトプットが切り拓いた自分のエンジニア人生 / Infra Study 2nd #8
manabusakai
0
25k
GitHub Actions の self-hosted runner と Amazon EKS を使った Docker のビルドパイプライン / secure-docker-build-pipeline
manabusakai
0
2k
SaaS における EKS のシングルテナントクラスタ戦略とスポットインスタンス活用術 / EKS single-tenant cluster strategy and Spot Instances
manabusakai
0
6.9k
freee のエンジニアは障害から何を学び、どう改善しているのか? / What do freee engineers learn and improve from failures?
manabusakai
8
19k
我々は Kubernetes の何を監視すればいいのか? / CloudNative Days Kansai 2019
manabusakai
24
8.5k
CI/CD パイプラインを最速で組み立てるための 4 つのポイント / Four points to assemble the CI CD pipeline fastest
manabusakai
9
3.7k
Kubernetes を使ってエンジニア組織の生産性を上げよう / kubernetes-and-engineer-productivity
manabusakai
3
7.2k
freee のマイクロサービスを K8s + Go で組む! 短期プロジェクト成功の記録 / microservices-using-k8s-and-go
manabusakai
4
10k
Kubernetes 入門者が 3 か月で本番導入するためにやったこと / kubernetes-beginner
manabusakai
7
14k
Other Decks in Technology
See All in Technology
『Firebase Dynamic Links終了に備える』 FlutterアプリでのAdjust導入とDeeplink最適化
techiro
0
130
アジャイルチームがらしさを発揮するための目標づくり / Making the goal and enabling the team
kakehashi
3
140
Engineer Career Talk
lycorp_recruit_jp
0
190
Making your applications cross-environment - OSCG 2024 NA
salaboy
0
190
VideoMamba: State Space Model for Efficient Video Understanding
chou500
0
190
開発生産性を上げながらビジネスも30倍成長させてきたチームの姿
kamina_zzz
2
1.7k
Incident Response Practices: Waroom's Features and Future Challenges
rrreeeyyy
0
160
DynamoDB でスロットリングが発生したとき_大盛りver/when_throttling_occurs_in_dynamodb_long
emiki
1
430
IBC 2024 動画技術関連レポート / IBC 2024 Report
cyberagentdevelopers
PRO
1
110
CysharpのOSS群から見るModern C#の現在地
neuecc
2
3.5k
AWS Lambdaと歩んだ“サーバーレス”と今後 #lambda_10years
yoshidashingo
1
180
BLADE: An Attempt to Automate Penetration Testing Using Autonomous AI Agents
bbrbbq
0
320
Featured
See All Featured
Done Done
chrislema
181
16k
Ruby is Unlike a Banana
tanoku
97
11k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Why Our Code Smells
bkeepers
PRO
334
57k
Code Reviewing Like a Champion
maltzj
520
39k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
840
Documentation Writing (for coders)
carmenintech
65
4.4k
Imperfection Machines: The Place of Print at Facebook
scottboms
265
13k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Git: the NoSQL Database
bkeepers
PRO
427
64k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
Transcript
を支えるインフラ監視 【freee × プレイド】Tech Meetup
#plaidtech
話すこと • freee で使っている監視系サービス • 少人数で運用するためのノウハウ
話さないこと • 監視の基本的なこと • 各監視サービスの比較や使い方
自己紹介 Twitter / GitHub @manabusakai
自己紹介 • 坂井 学(さかい まなぶ) • 2016 年にインフラエンジニアとして入社 • Scala
/ Ruby / PHP を書いてました • 得意分野は AWS ◦ AWS 認定ソリューションアーキテクト - プロフェッショナル ◦ AWS 認定 DevOps エンジニア - プロフェッショナル
スモールビジネスに携わる方が より創造的な活動にフォーカスできるよう
freee が提供するサービス • 会計 freee • 給与計算 freee • 会社設立
freee • マイナンバー管理 freee • 開業 freee
freee が提供するサービス
freee で使っている 監視系サービス
• サーバー監視 ◦ 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/>
それぞれの守備範囲 AWS サーバ アプリ データベース Mackerel ◯ ◯ ◯ CloudWatch
◯ Prometheus ◯ New Relic ◯ MONyog ◯
インフラエンジニアは 何人いますか?
3 / 80 人
None
1 人あたり 20 万事業所
効率化しないと回らない!
少人数で運用するために 工夫していること
① 情報はプルよりプッシュ 必要な情報は一か所にプッシュされる仕組みを作る。 • Slack に通知しているもの ◦ Mackerel からのアラート ◦
GitHub など外部サービスの障害情報 ◦ アプリケーションのパフォーマンスサマリー ◦ AWS のコスト ◦ Qiita:Team の新着記事
① 情報はプルよりプッシュ
② フルマネージドサービスの活用 AWS のフルマネージドサービスを活用して、 監視するポイントを根本から減らす。 • トレードオフとの兼ね合い ◦ 運用が楽になる ⇔
ブラックボックスが増える ◦ ノーメンテナンス ⇔ 障害が起きたら手が出せない ◦ 設定が簡単 ⇔ 痒いところに手が届かない
③ 障害が起きることを前提に 障害が起きることを前提にインフラを設計する。 • 例えば ◦ サーバは Auto Scaling で管理し可用性を担保する
◦ 単一障害点を作り出さない ◦ リトライを前提としたコードを書く ◦ etc...
③ 障害が起きることを前提に “障害を避ける最もよい方法は、 常に障害を起こすことである”
④ 本業にフォーカスする サービスをより良くすることにフォーカスする。 それ以外の部分はお金で解決するのもアリ。 • Zabbix から Mackerel へ移行 ◦
結果的には Mackerel のコストは充分ペイした ◦ Mackerel Meetup #8 Tokyo (2016/10/17) で発表 ▪ ref. Zabbix から Mackerel へ - Mackerel で実現したコストダウン
④ 本業にフォーカスする
⑤ トラッキングして見える化 数値をトラッキングして見える化する。 • 数値は嘘をつかない ◦ 曖昧さを排除できる ◦ 数値を元に改善サイクルを回す
⑤ トラッキングして見える化 様々なメトリクスをトラッ キングして、見える化
まとめ
まとめ freee はごく普通の監視サービスを使っていますが、 工夫することで少人数を実現しています。 1. 情報はプルよりプッシュ 2. フルマネージドサービスの活用 3. 障害が起きることを前提に
4. 本業にフォーカスする 5. トラッキングして見える化
エンジニア募集中
最後に宣伝 今年から個人事業主として開業しました。 • AWS の導入支援 • AWS アーキテクチャのコンサルティング などをやっています。 興味を持った方は、気軽にお声がけください