Upgrade to Pro — share decks privately, control downloads, hide ads and more …

事業の状況を含めたコスト削減に向けて色々と決断している話

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.
Avatar for 1kjwk1 1kjwk1
July 10, 2024

 事業の状況を含めたコスト削減に向けて色々と決断している話

Avatar for 1kjwk1

1kjwk1

July 10, 2024
Tweet

Other Decks in Technology

Transcript

  1. 2 KDDI Agile Development Center Corporation 自己紹介 KDDIアジャイル開発センター株式会社(KAG) 名前:河路 慶一

    出身:愛知県(現在は東京) 趣味:子育て、スケボー、 漫画の自炊など 監視運用 エンジニア スクラムマスター/ プロダクトオーナー リード 監視運用の大切さをコアに持ちながら、エンジニアを経て プロダクトオーナーをサポートするような役割で活動中 24H365D監視輪番、設備保守担当 teratermマクロを作り続けてオペレーション自動化 バックエンド、インフラ(IaC)など Java/python/mysql/terraform等々 プロダクトオーナーを支援し 事業貢献を一緒に実現する
  2. 3 KDDI Agile Development Center Corporation 本日のテーマ • 事業の状況がじわじわ悪化している商用サービスを細々と長く運用している(約4年) •

    お客様が減っているが重要なお客様がいるため停止できない • こうなってきていることを予測して、自発的に少しずつAWSコスト削減は実施してきた プロダクトオーナーから 「もっともっとAWSコスト削減してください」 と言われたとき、どのように対応していきますか?
  3. 4 KDDI Agile Development Center Corporation コスト削減を2つの軸に分けて整理する 「承認」だけでよい「堅実」なもの ・明らかな無駄を減らすため、消し忘れリソース削除、未使用リソース削除 ・過剰な余剰を減らすために、スペック見直し、非利用時間帯にリソース停止

    ・長期利用割引や利用量コミット割引、ボリュームディスカウントを利用 「決断」が必要な「大胆」なもの ・可用性リスクを受容して冗長化廃止、高可用性オプションを外す ・運用がなおざりになるのを暗に受容し、マネージドサービス利用を廃止 ・顕在化したときに検知・追跡できる範囲が狭まるのを受容して セキュリティログの取得レベルを下げる 2024/04から開始されているWEBマガジン「SRE Magazine」 002号に寄稿された「ばばさん」という方の記事を参考に
  4. 6 KDDI Agile Development Center Corporation 現在の体制と私の役割 • 開発チーム(4名)は、ほぼ別案件しながら時々本案件の対応している •

    私は、開発当初はアーキテクトとしてインフラ、監視運用の設計等も行なっていた • 私は、現状はプロダクトオーナーリードであり、事業についてオーナーと考える立場 運用経験がある 技術者としての視点 サービス、事業に責任 を持つ視点 大胆な決断をしたくない立場であり、 しないといけない立場である板挟みで悩み
  5. 7 KDDI Agile Development Center Corporation アーキテクチャの紹介 • 2つのシステムで構成 ◦

    xRアプリケーション向けのCMS ◦ 特定のCMS顧客向けのWEBシステム • システム構成はよくあるSPA構成 ◦ フロント amplify console(vue3) ◦ バックエンド fargate(golang) ◦ データベース Aurora(MySQL) ◦ その他 • 認証 cognito • コンテンツ配信(CDN) Cloudfront • etc…
  6. 9 KDDI Agile Development Center Corporation 「承認」だけでよい堅実なコスト削減 • コストエクスプローラーを確認しながらコストが支配的な箇所を見つけて対応を検討 ◦

    コストエクスプローラーより請求書の方が見つけやすい印象 • 具体的に実施したこと ◦ コンピューティングリソースのスケールダウン(スケールインは可用性のため2台まで) ◦ 不要なEBSボリュームの削除(場合によってはAMIも) ◦ 検証環境(STG)の可用性廃止 ◦ 開発環境(DEV)の常時停止(ほぼ開発がなくなったため、夜間→常時停止に変更) ◦ 提供機能の一部を廃止して利用しているAWSコンポーネントを減らす ◦ etc…
  7. 10 KDDI Agile Development Center Corporation 「決断」が必要な大胆なコスト削減 • 前提条件 ◦

    商用サービスなのでSLAは変更できない ◦ 長期運用実績からOLAは多少見限れるところがありそう • 決断したこと(全然大胆じゃない、、、) ◦ 監視方法を見直す ◦ ネットワーク構成をいじる
  8. 11 KDDI Agile Development Center Corporation 監視方法を見直す • お客様の利用方法を把握しており、発生する可能性のある障害パターンも把握している •

    細かいメトリクス分析、未知の障害に対する準備はあきらめて最低限の監視のみにする ◦ Datadog解約して契約コストを削減し、aws内での監視対応に変更する • (本当に)危ないメトリクスだけメトリクスアラームで検知 • (本当に)危ないログコードだけサブスクリプションフィルタで検知 ◦ 結果的にDatadogからの定期的なメトリクス収集も停止され、Cloudwatchの GetMetricData APIのコストも削減される まぁ大丈夫だろうと思いつつ ときどき不安になる 心のダメージ システムダメージ メトリクス収集に関するあれこれ • リージョンやサービスを指定していないと余分に 収集してコストかかっている可能性があります • メトリクスストリームを利用したpushで収集し ている場合は、updateのコストが削減されます
  9. 12 KDDI Agile Development Center Corporation • 本案件の構成では、最終的にNatGatewayが高い問題に行き着く • マルチAZのままNatGatewayをなるべく減らす(ネットワーク関連リスクを一部許容)

    ◦ 3AZ->2AZにする ◦ (まだできてない)VPCを統合してNatGatewayを減らす ◦ (まだできてない)開発環境の常時停止時にNatGatewayを削除する ◦ (まだできてない)NatGatewayをNatインスタンスにする ネットワーク構成をいじる 心のダメージ システムダメージ デザインパターンから外れてくる心配 以外と対応に時間がかかる
  10. 13 KDDI Agile Development Center Corporation まとめ • コスト削減を2つの軸で考える整理方法を紹介 •

    事業継続のために「大胆」な決断が必要になることがあることを紹介 • 自身の案件での「堅実」と「大胆」の例を紹介 みなさんの堅実なコスト削減の先にある 大胆な決断をしたコスト削減をぜひ教えてください!