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
ビットキーでのWell-Architectedな コスト削減のための事例集
Search
株式会社ビットキー / Bitkey Inc.
PRO
April 20, 2023
Technology
350
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ビットキーでのWell-Architectedな コスト削減のための事例集
株式会社ビットキー / Bitkey Inc.
PRO
April 20, 2023
More Decks by 株式会社ビットキー / Bitkey Inc.
See All by 株式会社ビットキー / Bitkey Inc.
失敗を経て、Harness Engineering で 大切にしたいことを考える / Learning from Failure: What Matters in Harness Engineering
bitkey
PRO
1
430
AI Adaptable なテストを整える工夫 / Ways to Make Your Tests AI-Adaptable
bitkey
PRO
3
260
人が担う「価値」とは?これからの「QA」とは / Human Value and the Future of Quality Assurance
bitkey
PRO
0
250
キャリア25年目にしてTypeScript に出会うまで - 「型」を通じて振り返るプログラミング言語遍歴 / Meeting TypeScript After 25 Years in Tech - Looking Back at My Programming Language Journey Through "Types"
bitkey
PRO
2
440
AIのために、AIを使った、Effect-TSからの脱却 〜テストを活用した安全なリファクタリングの進め方〜
bitkey
PRO
2
890
Flutter初心者が生成AIで大規模アプリ開発をキャッチアップした工夫 〜元ネイティブエンジニアが実践した、技術転換の高速道路〜 / Flutter with LLM: A Former Native Engineer's Fast Track to Large-Scale Apps
bitkey
PRO
0
310
〜備えあれば憂いなし〜とりあえず障害訓練やろ? デジタル/フィジカル横断プロダクトを24365で維持するための戦略 / Better Safe Than Sorry: Incident Drills for 24/365 Digital-Physical Products
bitkey
PRO
0
170
雑談は、センサーだった
bitkey
PRO
2
550
AIが書いたコードを信じられない問題 〜レビュー負荷を下げるために変えたこと〜 / The AI Code Trust Gap: Reducing the Review Burden
bitkey
PRO
8
1.6k
Other Decks in Technology
See All in Technology
勉強会企画をアプリで構造化してみた 〜そこで見えた、AIとの付き合い方〜 / I've structured a study group plan using an app.
pauli
0
330
DMM.com 購入改善推進チーム におけるCodeRabbitを用いた レビューフロー改善の一例
ysknsid25
1
520
小さいから、全部わかる。— 常駐AI "xangi" のすすめ
sugupoko
0
270
Amazon EVS で VCF 9.0 / 9.1 のサポート開始まとめ
mtoyoda
0
280
Agentic AI 時代のテスト手法: Kiro とはじめるプロパティベーステスト (AWS Summit Japan 2026 | DEV212)
ymhiroki
0
220
AIと共生する開発者プラットフォーム:バクラクのモノレポ×マイクロサービス基盤
sakajunquality
1
2.6k
最近評価が難しくなった
maroon8021
0
250
Why is RC4 still being used?
tamaiyutaro
0
310
キャリアの中で本を作る / Making a Book During Your Career
ak1210
0
120
Docker Desktop不要の時代が来る? WSL標準の「wslc」で Linuxコンテナを動かしてみた.
ueponx
0
810
記録をかんたんに、提案をパーソナルに ── AIであすけんが目指すもの
oprstchn
0
170
Zoom2Youtube.Claude
kawaguti
PRO
3
460
Featured
See All Featured
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.9k
How to make the Groovebox
asonas
2
2.3k
My Coaching Mixtape
mlcsv
0
170
Faster Mobile Websites
deanohume
310
32k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
270
YesSQL, Process and Tooling at Scale
rocio
174
15k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
800
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
180
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.5k
A designer walks into a library…
pauljervisheath
211
24k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
640
Transcript
Copyright © 2023 Bitkey Inc. All right reserved. ビットキーでのWell-Architectedな コスト削減のための事例集
クラウドネイティブ環境下でのコスト削減の取り組み 株式会社ビットキー 田中崇博 2023/04/20
2 Copyright © 2023 Bitkey Inc. All right reserved. Outline
1. 自己紹介 / 会社説明 2. はじめに 3. AWS Well-Architected Frameworkとは 4. コスト最適化の柱 5. ビットキーにおける事例 6. まとめ
3 Copyright © 2023 Bitkey Inc. All right reserved. 1.
自己紹介 / 会社説明
4 Copyright © 2023 Bitkey Inc. All right reserved. 1.
自己紹介 / 会社説明 田中 崇博 Takahiro Tanaka 2019.08 2022.04 2022.11 Webシステム開発企業に入社 医学生向けポータルサイトのソフトウェア開発を担当 認証基盤、会員管理、API開発、データマイグレーショ ンなどを担当 Webシステム開発事業からECシステム開発事業へ異動 会員管理、API開発、データマイグレーションなどを担 当 ビットキーへ参画 Third Placeチームのエンジニアとして、主に バックエンド領域の開発に従事
5 Copyright © 2023 Bitkey Inc. All right reserved. 1.
自己紹介 / 会社説明 Mission: テクノロジーの力であらゆるものを 安全で便利で気持ちよく「つなげる」 創業:2018年8月 / 従業員数:233名 資本金:14,946,908,300円 (2022年12月31日時点 資本準備金を含む)
6 Copyright © 2023 Bitkey Inc. All right reserved. 1.
自己紹介 / 会社説明 国内累計販売台数No.1でおなじみのbitlock ※2021年9月現在(ESP総研調べ)
7 Copyright © 2023 Bitkey Inc. All right reserved. 1.
自己紹介 / 会社説明 個人だけでなく、法人向けにも展開 多彩な解錠方法や、入退室ログの管理・取得などもサポート
8 Copyright © 2023 Bitkey Inc. All right reserved. 1.
自己紹介 / 会社説明 暮らし・仕事・体験の領域で、あらゆるサービスをつなげる
9 Copyright © 2023 Bitkey Inc. All right reserved. 2.
はじめに
10 Copyright © 2023 Bitkey Inc. All right reserved. 2.
はじめに 背景 ビットキーが創業してから5年を迎えるにあたり、 今までの設計/実装のスピード重視で構築してきた アーキテクチャを見直したい (ユーザーの急速な増加に伴い、 高負荷な状態に耐える必要が出てきた)
11 Copyright © 2023 Bitkey Inc. All right reserved. 2.
はじめに 背景(なぜ現行のアーキテクチャを見直すのか) なぜ現行のアーキテクチャを見直す必要があるのか? • ユーザー数がどんどん増えていく中で、コストが線形に増えてしまっている • スケーラビリティ的にも問題があって、5年間でビジネスが成長した結果、 実装時には想定していなかった問題が起きてしまった
12 Copyright © 2023 Bitkey Inc. All right reserved. •
今後更に利用ユーザー数が増加すること、 高い安定性が求められることが想定されるため、 今まで以上に安定したアーキテクチャを探る必要が出てきた • また、クラウドの利用コストが ここ1年で1.5倍にまで膨らんでしまっている 2. はじめに 背景(なぜ現行のアーキテクチャを見直すのか) なぜ現行のアーキテクチャを見直す必要があるのか? よって、コスト意識をもった刷新や実装が急務
13 Copyright © 2023 Bitkey Inc. All right reserved. 2.
はじめに 背景(現行のアーキテクチャとコスト管理) ビットキーでは、IoTの部分をメインでAWSを利用している AWSをクラウドネイティブで使用している場合の コスト管理とはどうするのか ?
14 Copyright © 2023 Bitkey Inc. All right reserved. 2.
はじめに クラウドネイティブの特徴とは? • 利用した分だけの支払いで済むのでコスト効率が高い • スケールアップ・スケールダウンが容易
15 Copyright © 2023 Bitkey Inc. All right reserved. 2.
はじめに 課題(クラウドネイティブ環境のコスト管理とは) クラウドネイティブで利用していても、 「スケールアップが容易だからこそ、何かあったときに 気づかないうちにコストが急に上がることがある」ことや、 「どのくらいコストがかかるのかを予測できない」 という悩みからは逃れられない
16 Copyright © 2023 Bitkey Inc. All right reserved. 2.
はじめに AWS Well-Archictected Frameworkのコスト最適化手法を参考にする コスト削減に向けて、自分たちで頑張るよりも、 まずは以下の点から、より効率のよいアーキテクチャの刷新や、 改善ができる AWS Well-Architected Frameworkをまず参考にした • AWS公式の手法であり、公式に推奨されている • AWSの顧客・パートナーにより立証されたベストプラクティスである • 極めて幅広い領域が網羅されている(技術的なテクニック・手法から、 財務管理と言った観点まで幅広く対応している)
17 Copyright © 2023 Bitkey Inc. All right reserved. 3.
AWS Well-Architected Frameworkとは
18 Copyright © 2023 Bitkey Inc. All right reserved. 3.
AWS Well-Architected Frameworkとは AWS Well-Architected Frameworkとは? AWSが提唱している、クラウドにおける ベストプラクティスをフレームワークとしてまとめたもの (補足:2023/04/10にアップデートされ、数多くのベストプラクティスが追加・更新されています) 出典: https://aws.amazon.com/jp/architecture/well-architected/
19 Copyright © 2023 Bitkey Inc. All right reserved. •
オペレーショナルエクセレンスの柱 • セキュリティの柱 • 信頼性の柱 • パフォーマンス効率の柱 • コスト最適化の柱 • 持続可能性の柱 AWS Well-Architected Frameworkには、 6つの柱というベストプラクティスがある 今回は、以下の6つの柱のコスト最適化の柱について見ていく 3. AWS Well-Architected Frameworkとは AWS Well-Architected Framework 6つの柱
20 Copyright © 2023 Bitkey Inc. All right reserved. 4.
コスト最適化の柱
21 Copyright © 2023 Bitkey Inc. All right reserved. 4.
コスト最適化の柱 コスト最適化の柱とは コスト最適化の柱では以下の目標達成を目的としていて、 以下の5点を達成するための支援を提供している • クラウド財務管理を実践する • 経費支出と使用量の認識 • コスト効率を考慮しながらリソースを利用する • 需要を管理しリソースを供給する • 継続的最適化
22 Copyright © 2023 Bitkey Inc. All right reserved. 4.
コスト最適化の柱 コスト最適化の柱とは このうち、エンジニアが特に主体的に動きやすい、 以下の2点について、具体的に何をやっていくのかをメインに考えていく • コスト効率を考慮しながらリソースを利用する • 継続的最適化
23 Copyright © 2023 Bitkey Inc. All right reserved. コスト効率を考慮しながらリソースを利用するとは?
• サービスの選定時からコストを評価する • 正しいリソースの種類・サイズ・数を選ぶ • リザーブドインスタンス・Savings Plans・ スポットインスタンスなどの料金プランを活用する • データの転送にも気を使う 以上の点を考慮しつつ、一番コスト効率の良い使い方を選ぶ (具体例については5. ビットキーにおける事例にてお話します) 4. コスト最適化の柱 コスト効率を考慮しながらリソースを利用する
24 Copyright © 2023 Bitkey Inc. All right reserved. 4.
コスト最適化の柱 補足: AWS Trusted Advisorについて AWS Support プランをビジネス以上で利用していると、 AWS Trusted Advisorがリソースをモニタリングして、 最適化案を自動で出してくれる 出典: https://aws.amazon.com/jp/premiumsupport/technology/trusted-advisor/
25 Copyright © 2023 Bitkey Inc. All right reserved. 継続的な最適化とは?
• 新しいサービスと機能がリリースされたら評価する • 既存のアーキテクチャを定期的に評価する 以上の点を考慮しつつ、 常に最善の方法かを確認して、更新していく (例:2018年にリリースされた、Amazon DynamoDBの オンデマンドモードと、プロビジョニングモードの比較) 4. コスト最適化の柱 継続的な最適化
26 Copyright © 2023 Bitkey Inc. All right reserved. 5.
ビットキーにおける事例
27 Copyright © 2023 Bitkey Inc. All right reserved. 5.
ビットキーにおける事例 ビットキーでのAWSの利用状況 ビットキーはサーバーレス(AWS Lambdaが主で、Amazon EC2のような サーバーインスタンスをビジネスのワークロードで使用していない) しかし、サーバーレスで利用していても、 サーバーインスタンスを使用した場合と比べて、何もしなくても 安くなるわけではないし、気をつけるべきポイントはある
28 Copyright © 2023 Bitkey Inc. All right reserved. 5.
ビットキーにおける事例 ビットキーでのコスト削減事例 そこで、「Amazon CloudWatchのコストが高い」 「AWS LambdaへのSavings Plansの導入」の2点を例に、 ビットキーで実際にあった事例を見ていく
29 Copyright © 2023 Bitkey Inc. All right reserved. 5.
ビットキーにおける事例 事例1: AWS Cost Explorerを見るとAmazon CloudWatchのコストが高い ビットキーで使用しているとあるサービスのAWS Cost Explorerを見ると、 Amazon CloudWatchのコストが高い(全体の約50%) →メトリクスを見て、具体的な高コストの原因を見ていく
30 Copyright © 2023 Bitkey Inc. All right reserved. 5.
ビットキーにおける事例 事例1: AWS Cost Explorerを見るとAmazon CloudWatchのコストが高い Amazon CloudWatchのメトリクスを見て、具体的に何が原因なのかを見る → コストが高いところをAPI Operationで絞り込んだところ、 → 特定のログのPutLogEventsが他の数百倍のデータを出力している
31 Copyright © 2023 Bitkey Inc. All right reserved. 実際にログを確認すると、ログ全体の40%が、
本番環境のログとして不要な情報だった (例: 正しくないSeverityで出力されたログ(デバッグログなど)) → そこで、必要なログだけを出力するように修正したが、 それでもコスト全体の30%がAmazon CloudWatchなのが許容できない 実際のワークロードを考えると、これ以上減らすのは厳しい →アーキテクチャを見直す必要がありそう 5. ビットキーにおける事例 事例1: AWS Cost Explorerを見るとAmazon CloudWatchのコストが高い
32 Copyright © 2023 Bitkey Inc. All right reserved. 5.
ビットキーにおける事例 事例1: AWS Cost Explorerを見るとAmazon CloudWatchのコストが高い そこで、 以下の2つの案を提案し、それぞれにメリット・デメリットを考えていく • Amazon CloudWatch Logsへの標準出力を抑止して、 カスタムログで出力を制御する • Lambda Extensionsを使ってAmazon S3にログ出力をすることで、 ログの保管コストを削減する
33 Copyright © 2023 Bitkey Inc. All right reserved. 案1:
Amazon CloudWatch Logsの標準出力を抑止して、 アプリケーションコードでPutLogEventsを実行し、出力を制御する メリット: • Amazon CloudWatch側での追加の対応が不要 デメリット: • 出力項目を厳密に制御しないと、ログの不足やコスト削減効果がない、 など適切なメリットを享受できない • 今回の要件に見合わない(今回はログのコストを4割削減できたが、削減後も Amazon CloudWatchがコストの30%を占める状態を許容できなかった) 5. ビットキーにおける事例 事例1: AWS Cost Explorerを見るとAmazon CloudWatchのコストが高い
34 Copyright © 2023 Bitkey Inc. All right reserved. 案2:
Lambda Extensionsを使ってAmazon Kinesis Data Firehoseを経由し、 Amazon S3にログ出力をすることで、ログの保管コストを削減する メリット: • ログのPUTコストが特に安い (東京リージョンの場合、Amazon CloudWatch Logsと Amazon Kinesis Data Firehose→Amazon S3は 転送コストに約0.73$/1GBの差がある) デメリット: • ログがAmazon S3にただ出力されるだけのため、 ログを利用する場合には別途加工・分析を行う必要がある 5. ビットキーにおける事例 事例1: AWS Cost Explorerを見るとAmazon CloudWatchのコストが高い 出典: https://aws.amazon.com/jp/cloudwatch/pricing/ https://aws.amazon.com/jp/s3/pricing/
35 Copyright © 2023 Bitkey Inc. All right reserved. これらのメリット・デメリットを踏まえた上で、
コスト削減のメリットが大きく、今回の要件を満たしていることから、 Lambda Extensionを使ってAmazon S3にログ出力をすることで、 ログの保管コストを削減する 方針を元にアーキテクチャを設計することにした 5. ビットキーにおける事例 事例1: AWS Cost Explorerを見るとAmazon CloudWatchのコストが高い
36 Copyright © 2023 Bitkey Inc. All right reserved. 5.
ビットキーにおける事例 事例2: AWS LambdaへのSavings Plansの導入 AWS Cost Explorerを見ると、 2番目にAWS Lambdaが高い(全体の約25%)
37 Copyright © 2023 Bitkey Inc. All right reserved. AWS
Lambdaに関しては利用方法自体は正常であり、 アーキテクチャに問題があるわけではなかった →しかし、(Amazon CloudWatch Logsを除けば) AWS Lambdaが最も支出が大きいサービスであり、 AWS Lambdaのコストを抑えられれば大きなコスト削減につながる →Savings Plansを導入しよう 5. ビットキーにおける事例 事例2: AWS LambdaへのSavings Plansの導入 参考:AWS Lambda自体の最適なチューニングを行う方法として、 AWS Lambda Power Tuningのようなサービスを利用することもできます https://github.com/alexcasalboni/aws-lambda-power-tuning
38 Copyright © 2023 Bitkey Inc. All right reserved. 出典:
https://aws.amazon.com/jp/savingsplans/ 5. ビットキーにおける事例 事例2: AWS LambdaへのSavings Plansの導入 Savings Plansとは? 『Savings Plans は、1 年または 3 年の時間単位で利用をコミットする代わりに、オンデマン ド料金と比較して最大 72% の請求額の削減を可能にする柔軟な料金モデルです。』 → つまり、1年 / 3年間の間、一定量を必ず使う代わりに、その分を安くし てくれるプラン 一定量を必ず使う必要があるというのがポイントで、買ったSavings Plans よりも少なく使っても返金されないので、最適なバランスを見極めて買う 必要があるが・・・?
39 Copyright © 2023 Bitkey Inc. All right reserved. 実際には一定期間の使用状況に基づいて、最適なSavings
Planを提案して くれるので、特殊なケース(突発的なワークロードが主で、安定して利用 はされない・特定のタイミングでのみ使用される)でもない限り、推奨事 項をそのまま適用しても大丈夫な場合がほとんど 5. ビットキーにおける事例 事例2: AWS LambdaへのSavings Plansの導入
40 Copyright © 2023 Bitkey Inc. All right reserved. ビットキーでは提案されたSavings
Planを購入することで、 アーキテクチャ・ロジックの変更なしで、 以下の割合でコスト削減ができることが分かった • 前払いなし/1年間の場合5% • 前払いあり/1年間の場合9% • 前払いあり/3年間の場合10% →ビジネス的な理由・今後のアーキテクチャ再設計の可能性を考慮して、 前払いあり/1年間のSavings Planの購入を進めていくことにした 5. ビットキーにおける事例 事例2: AWS LambdaへのSavings Plansの導入
41 Copyright © 2023 Bitkey Inc. All right reserved. 6.
まとめ
42 Copyright © 2023 Bitkey Inc. All right reserved. 6.
まとめ まとめ クラウドネイティブ環境下でのコスト削減の取り組みについて、 実例を交えながら紹介しました 今回のお話を通して、クラウドにおける コスト削減の一助になれば幸いです (今回の発表の詳細についてはQiitaで記載しています、もし詳しく知りた い方がいたら是非見ていただけると嬉しいです) https://qiita.com/pika_opera
43 Copyright © 2023 Bitkey Inc. All right reserved. 6.
まとめ 最後に AWS 展示 事例展示 (AWS Startups Future Office / Future Home) C1-05 にて、 ビットキーのブースを 展示しています
44 Copyright © 2023 Bitkey Inc. All right reserved. 6.
まとめ 最後に 事例セッション 2023/04/21(金)12:20〜12:50 CUS-41 「ユーザー体験を向上させるカギは"分断の解消"〜 絶対に止められないスマートロックを扱うシステムの裏側」 弊社VPoP 町田が登壇いたします
45 End of File Copyright © 2023 Bitkey Inc. All
right reserved.