Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
ビットキーでのWell-Architectedな コスト削減のための事例集
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
株式会社ビットキー / Bitkey Inc.
PRO
April 20, 2023
Technology
360
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.
Flutter × BLE Centralを自前Pluginで実装する設計パターン - MethodChannel / EventChannelで作る双方向ブリッジの実践 / Building Custom Flutter BLE Central Plugins: Bidirectional Bridging with Method & Event Channels
bitkey
PRO
0
410
Swift&Xcodeのバージョンアップにまつわる怖かった思い出 / Scary Memories of Swift and Xcode Updates
bitkey
PRO
0
200
iOS/Androidの二刀流エンジニアがFlutter & TypeScriptへ越境後の現在地 - Flutterがメインになって見えた景色と現在の醍醐味 / Dual-Platform Mobile Engineer Shifts to Flutter & TypeScript - The View and Real Thrill of Going Flutter-First
bitkey
PRO
0
550
個人開発で育てる「大規模設計の苗床」 - AI時代の1人開発から始める業務への知識接続 / The Seedbed for Large-Scale Design - From AI-Era Solo Projects to Professional Knowledge
bitkey
PRO
1
510
失敗を経て、Harness Engineering で 大切にしたいことを考える / Learning from Failure: What Matters in Harness Engineering
bitkey
PRO
1
560
AI Adaptable なテストを整える工夫 / Ways to Make Your Tests AI-Adaptable
bitkey
PRO
3
320
人が担う「価値」とは?これからの「QA」とは / Human Value and the Future of Quality Assurance
bitkey
PRO
0
350
キャリア25年目にしてTypeScript に出会うまで - 「型」を通じて振り返るプログラミング言語遍歴 / Meeting TypeScript After 25 Years in Tech - Looking Back at My Programming Language Journey Through "Types"
bitkey
PRO
2
510
AIのために、AIを使った、Effect-TSからの脱却 〜テストを活用した安全なリファクタリングの進め方〜
bitkey
PRO
2
1k
Other Decks in Technology
See All in Technology
すぐできる衛星通信対応 あとは山奥に行くだけ
tatetate55
0
110
安心して変更できるWebフロントエンドの作り方
pirosikick
4
1.9k
20260912_スクラムにジェネラリストは必要か
ryugen04
0
380
TinyGo 開発サイクルを高速化する:Go で作るエミュレータ入門
zozotech
PRO
1
670
Deploying a Full-Stack Bun-Native Framework on Cloudflare Workers
7nohe
0
160
絵ではじめるKubernetesセキュリティ
aoi1
3
170
DEFCON_CHV_CTF_Write-up.pdf
bata_24
0
140
AIを活用するために決めた "やらないこと" - 価値に注目する / Not betting on AI
soudai
PRO
1
410
コスト最適化の「めんどくさい」を AWS FinOps Agent でチョット楽にする
classmethod_kaz
0
330
From Vanilla Kubernetes to a Batteries-Included Platform: Developer Experience at 1,300+ Clusters
yosshi_
0
700
OpenTelemetryのメトリクスをCloudWatchに送ってPromQLで見てみた
ota1022
0
140
薬剤師(ドメインエキスパート)と一緒に育てる薬局向けAIアシスタント
kakehashi
PRO
2
160
Featured
See All Featured
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.3k
Heart Work Chapter 1 - Part 1
lfama
PRO
9
36k
Writing Fast Ruby
sferik
630
63k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
67
58k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
Designing Experiences People Love
moore
143
24k
The Curious Case for Waylosing
cassininazir
1
500
Crafting Experiences
bethany
1
330
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
500
Faster Mobile Websites
deanohume
310
32k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
4.7k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
410
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.