blog

DeNAのエンジニアが考えていることや、担当しているサービスについて情報発信しています

2020.08.12 DeNAインフラノウハウ発信プロジェクト

【クラウドコスト工夫編】DeNAインフラノウハウの発信プロジェクト連載まとめ

by Daisuke-Tamada

#infrastructure #aws #google-cloud #cost-optimization #infra-cost

2019年8月から2020年5月の10ヶ月間、[DeNAインフラノウハウの発信プロジェクト](https://engineer.dena.com/posts/2019.08/we_start_new_project_providing_itpf_knowhow/)としてIT 基盤部が蓄積してきた技術的ノウハウを発信してきました。IT 基盤部はDeNA全グループ・全システム基盤を横断して管理している部署です。

こちら長い連載であったため、記事を見逃してしまった方も多かったのではないかと思います。また、システム基盤を管理するエンジニアといっても、その領域は様々であり、「自分と関連のありそうな記事だけ読みたい」という方もいるかと思います。そこで、今まで連載した記事を以下に分け、それぞれまとめ記事として公開しています。

本記事では、 クラウドコスト工夫編 として、クラウドのコストに関する記事をご紹介します!自分と関連のありそうな記事だな と思った方は、ぜひ読んで下さい!


QCTマネジメント

インフラコスト 60% 削減達成までの道のりとは

クラウド環境において「最高品質のインフラ」を「提供までのリードタイムを短くしたまま」で提供する。

これらの水準を落とさないことを前提として、大幅なコスト削減を達成しました

こちらについて、試行錯誤した内容などご紹介します!


Auto Scaling から見るInfra System の構成

Auto Scalingの観点で様々な問題に対処するため、以下のような様々な工夫をご紹介します。

  • 独自の Auto Scaling システムを開発、台数維持を担当する Instance Controllerと台数計算を担当する Auto scaler で構成
  • 自動化タスク管理のWorkflowシステムを開発、タスク管理を担当する Scheduler と実行を担当する Executor
  • Instance と Volume の Life cycle を分けたログ回収システム

MySQLサーバのMulti Instance化によるコスト最適化方法

コスト最適化が難しいMySQLのInstanceを無停止で増減し最適化

DeNAで行っているMySQLサーバコスト最適化について、以下の事例をご紹介します。

  • 4shard 12台のInstance上にある12個のMySQLを3台の Instanceに集約
  • Multi InstanceとMHA for MySQLを活用し停止メンテなく集約する

AWS スポットインスタンスを用いたサービスの平均故障間隔(MTBF)を定量的に評価する

DeNA が運用する大型ゲームではステートレスなサーバにスポットインスタンスを使用しています。

スポットインスタンスはAWSに中断(=shutdown)されることがある代わりに、コストを大幅に抑えることができるインスタンスです。

AWSのイベントで見かける資料では、定常的な負荷はリザーブドインスタンスや Savings Plans を利用し、さらに負荷が増える部分で万が一落とされても問題ない範囲をスポットインスタンスで運用することが推奨されていたりします。

しかし、DeNA では web、memcached、worker等のサーバにおいて、ほとんどのリソースをスポットインスタンスで運用し、それでいてサービスは絶対に落ちない自信を持っています。

こちらについて、以下のようなスポットインスタンスの可用性について紹介します

  • スポットインスタンスの中断条件とは
  • スポットインスタンスのみで安定したサービスを提供するには

GCP プロジェクトにおけるコスト監視

多数の GCP プロジェクトにおけるコスト監視運用に関して

GCP BigQuery, GAE flexible, GAE cron を活用して GCP の利用状況及びコストをモニタリングし、想定外の利用を検知した際に担当者にアラートを送る運用により、大きなコスト削減を実現した話をご紹介します。


おわりに

いかがでしたでしょうか。今後も以下のようなまとめ記事を公開していく予定です。

もしよろしければ、 @DeNAxTech のフォローをして、今後のまとめ記事もぜひご覧ください!

最後まで読んでいただき、ありがとうございます!
この記事をシェアしていただける方はこちらからお願いします。

recruit

DeNAでは、失敗を恐れず常に挑戦し続けるエンジニアを募集しています。