JAWS-UG SRE支部#5 目指せCoverage100%! AutoScale環境におけるSavings Plans購入戦略
© Chatwork目指せCoverage100%!AutoScale環境におけるSavings Plans購入戦略Chatwork株式会社 SRE部 佐々木真也2023年1月27日JAWS-UG SRE支部 #5
View Slide
自己紹介2● 名前○ 佐々木真也● 所属○ Chatwork株式会社■ 2020年6月〜■ SRE部 マネージャー● Twitter○ @taishin● 趣味○ サッカー観戦
会社概要3会社名Chatwork株式会社代表取締役CEO山本 正喜従業員数304名(2022年9月末日時点)所在地東京、大阪、ベトナム、台湾設立2004年11月11日
Chatworkとは4効率的に情報共有できるグループチャット仕事の見える化ができるタスク管理見落としがなくなるファイル管理いつでも会議ができるビデオ/音声通話* BOXIL SaaS AWARD 2022「ランキング部門 コラボレーション部門賞」「ベスト評価賞(初期設定の容易さNo.1、価格の満足度No.1)」を受賞 BOXIL「Chatwork」口コミ評価* Nielsen NetView 及びNielsen Mobile NetView Customized Report 2022年5月度調べ月次利用者(MAU:Monthly Active User)調査。* 調査対象はChatwork、Microsoft Teams、Slack、LINE WORKS、Skypeを含む47サービスをChatwork株式会社にて選定。
Chatworkは利用者数No.1*のビジネスチャット53月リリース10万社突破!20万社突破!導入社数37万6000社以上!(2022年9月末日時点)30万社突破!* Nielsen NetView 及びNielsen Mobile NetView Customized Report 2022年5月度調べ月次利用者(MAU:Monthly Active User)調査。* 調査対象はChatwork、Microsoft Teams、Slack、LINE WORKS、Skypeを含む47サービスをChatwork株式会社にて選定。
実施しているEC2関連のコスト削減6● 可能な限りSpot Instanceを使う● OnDemand Instanceに対してはSavings Plansを購入する● 最新のインスタンスファミリー & タイプを使う○ m5.xlarge 0.248 USD○ m6i.xlarge 0.248 USD○ m6a.xlarge 0.2232 USD○ m6g.xlarge 0.198 USD● 最新のボリュームタイプを使う○ gp2 0.12 USD/GB 月○ gp3 0.096USD/GB 月
実施しているEC2関連のコスト削減7● 可能な限りSpot Instanceを使う● OnDemand Instanceに対してはSavings Plansを購入する● 最新のインスタンスファミリー & タイプを使う○ m5.xlarge 0.248 USD○ m6i.xlarge 0.248 USD○ m6a.xlarge 0.2232 USD○ m6g.xlarge 0.198 USD● 最新のボリュームタイプを使う○ gp2 0.12 USD/GB 月○ gp3 0.096USD/GB 月
Chatworkの特性 / EC2利用方法8● ビジネスチャットなので、平日日中のトラフィックが多い○ 夜間・土日はトラフィックが少なく、ノード数も少ない● 長期的にはトラフィックは増加傾向だが、週単位の傾向はほぼ変わらない● EKSのWorker NodeでSpot InstanceとOnDemand Instanceを併用している○ Spot Instance■ Web系 頻繁にScale In/Outするもの○ OnDemand Instance■ Batch系 できれば途中で終わってほしくないもの
一週間のOnDemandノード数9Mon Tue Wed Thu Fri Sat Sun
一週間のOnDemandノード数10● 土日稼働しているノードを全部Savings Plansにしたい○ → 土日のCoverageが100%になるようにSavings Plansを購入する● Coverage○ 購入した Savings Plans が全体の何%までカバーできているかMon Tue Wed Thu Fri Sat SunここをSavings Plansで購入したい
Coverageの確認11
Coverageの確認12
Coverageの確認13
Savings Plansの料金モデル14● Compute Savings Plansを選択○ 主な理由■ EC2 Instance Savings Plansだと、インスタンスファミリーの変更をSavings Plansの変更と合わせないといけないのでCompute SavingsPlansEC2 Instance SavingsPlansコストを削減 最大 66% 最大 72%インスタンスファミリーの変更 ◯ ✕リージョンの変更 ◯ ✕Lambda、Fargateへの適用 ◯ ✕
Compute Savings Plansのオプション15● 期間○ 1年○ 3年● 支払いオプション○ 全額前払い○ 一部前払い○ 前払いなし● 時間単位のコミットメント○ 推奨事項に沿う○ 自分で計算する
Compute Savings Plansのオプション16● 期間○ 1年○ 3年● 支払いオプション○ 全額前払い○ 一部前払い○ 前払いなし● 時間単位のコミットメント○ 推奨事項に沿う○ 自分で計算する全額前払いだと結構な額になるので推奨に任せるのはちょっと・・・
土日のCoverageを100%(近く)にする購入手順171. 土日のオンデマンド費用を確認する2. オンデマンド費用から時間単位のコミットメントを計算する3. ドキドキしながら購入ボタンを押す
オンデマンド費用を確認18カバレッジレポートでオンデマンド費用を確認
計算方法19インスタンスファミリーごと下記を算出して合算オンデマンド費用48(h)×Compute Savings Plans利用料金 ($)On Demand利用料金 ($)https://aws.amazon.com/jp/savingsplans/compute-pricing/
過去 〜 スプレッドシートで計算20ここを手動で入力
過去 〜 スプレッドシートで計算21スプレッドシートで計算計算されてここに表示される
現在 〜 Chatworkに毎週通知22毎週土日のカバレッジと時間単位のコミットメントを取得してChatworkに通知するLambdaを実行計算されてここに表示される
購入のタイミング23● 前年購入分がExpireした翌週に購入○ 土日のCoverageを確認するため○ 一定期間のOn Demand料金が発生するMon TueWed Thu Fri Sat Sun Wed前年購入分がExpire土日分の料金が確定Coverageが100%になるように購入On Deamnd 料金● 年何回かに分ける○ サービス追加等でインスタンスが追加されたとき○ 現在年5回 (ちょっと多い・・・)○ 一年一回だと調整が荒くなる、金額でかくてコワイ・・・
買い忘れ防止24● 購入したときに来年のカレンダーに登録● Cost Anomary Detection で通知
まとめ25● AutoScale環境でSavings Plansを購入するときは○ OnDemand Instanceが少ないときのCoverageを見て購入する○ 購入は年何回かに分けたほうが調整しやすい○ 買い忘れに注意!○ 購入時の恐怖を軽減する方法を教えて!
参考:ChatGPTに聞いてみた26
We are Hiring !!!27https://hrmos.co/pages/chatwork/jobs/1020019
働くをもっと楽しく、創造的に