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

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

1kjwk1
July 10, 2024

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

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つの軸で考える整理方法を紹介 •

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