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
CDN+αの利活用でサイトの高速化を実現してみた
Search
coconala_engineer
April 21, 2024
Technology
0
340
CDN+αの利活用でサイトの高速化を実現してみた
2024技術トレンド大開放!LT大会の登壇資料。
https://rosca.connpass.com/event/315072/
coconala_engineer
April 21, 2024
Tweet
Share
More Decks by coconala_engineer
See All by coconala_engineer
サービスを止めるな! DDoS攻撃へのスマートな備えと最前線の事例
coconala_engineer
1
180
SREの次のキャリアの道しるべ 〜SREがマネジメントレイヤーに挑戦して、 気づいたこととTips〜
coconala_engineer
1
4.3k
ココナラiOSチームの生成AI利用
coconala_engineer
0
27
AIと向き合う若手エンジニアの責任
coconala_engineer
0
31
GraphQLを活用したリアーキテクチャに対応するSLI/Oの再設計
coconala_engineer
0
300
一番気が重いと言われたポストモーテム委員会の改革
coconala_engineer
0
300
SREの視点で考えるSIEM活用術 〜AWS環境でのセキュリティ強化〜
coconala_engineer
1
380
(みんなやっているはずなのに情報が少ない)DNSレコード管理の改善
coconala_engineer
0
130
クラウド時代のDDoS対策:可用性を守るためのベストプラクティス
coconala_engineer
0
100
Other Decks in Technology
See All in Technology
マルチプロダクト環境におけるSREの役割 / SRE NEXT 2025 lunch session
sugamasao
1
730
How to Quickly Call American Airlines®️ U.S. Customer Care : Full Guide
flyaahelpguide
0
240
助けて! XからWaylandに移行しないと新しいGNOMEが使えなくなっちゃう 2025-07-12
nobutomurata
2
200
LLM拡張解体新書/llm-extension-deep-dive
oracle4engineer
PRO
23
6.2k
ClaudeCode_vs_GeminiCLI_Terraformで比較してみた
tkikuchi
1
940
CDKコード品質UP!ナイスな自作コンストラクタを作るための便利インターフェース
harukasakihara
2
230
安定した基盤システムのためのライブラリ選定
kakehashi
PRO
3
130
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
820
アクセスピークを制するオートスケール再設計: 障害を乗り越えKEDAで実現したリソース管理の最適化
myamashii
1
660
Microsoft Defender XDRで疲弊しないためのインシデント対応
sophiakunii
1
310
Maintainer Meetupで「生の声」を聞く ~講演だけじゃないKubeCon
logica0419
0
110
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
6.9k
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
329
21k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
138
34k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.5k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
For a Future-Friendly Web
brad_frost
179
9.8k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Designing for Performance
lara
610
69k
Making Projects Easy
brettharned
116
6.3k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Done Done
chrislema
184
16k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.3k
Transcript
Copyright coconala Inc. All Rights Reserved. CDN+αの利活用で サイトの高速化を実現してみた 株式会社ココナラ 川崎
雄太 2024/04/22 2024技術トレンド大開放! LT大会
Copyright coconala Inc. All Rights Reserved. 自己紹介 2 川崎 雄太 Yuta
Kawasaki @yuta_k0911 株式会社ココナラ システムプラットフォーム部 部長 / Head of Information SRE / 情シス / セキュリティ領域のEM SRE NEXT 2024のコアメンバー 去年の自慢:PR TIMESに3回載った✨
Copyright coconala Inc. All Rights Reserved. 3 ココナラの事業内容
Copyright coconala Inc. All Rights Reserved. ココナラのエンジニア数の変遷 4 事業拡大に合わせて3年で約3倍の組織規模に成長 2020年
2023年 フェーズ 上場前 上場後 エンジニア数 20人強 70人強 リポジトリ数 45 170以上
Copyright coconala Inc. All Rights Reserved. 5 Agenda CDNとは? ココナラで抱えていたパフォーマンスの課題
複数CDNの利活用を本気でやってみた 今後の取り組み 2 1 3 4
Copyright coconala Inc. All Rights Reserved. CDNとは? Chapter 01 6
Copyright coconala Inc. All Rights Reserved. (釈迦に説法ですが)CDNはContents Delivery Networkの略称 7
Webコンテンツを迅速かつ効率よくユーザーに配信する コンテンツなどのキャッ シュを一時的に世界中 のデータセンターに保 存。 最も近くにあるサー バーからコンテンツを配 信することで、ページ の読み込み時間を短 縮させる。
Copyright coconala Inc. All Rights Reserved. CDNはココナラでもめちゃめちゃ活用しています 8 ヒーローエリアなどの画像をCDNから配信 ココナラは比較的画像
が多いサービスとなっ ているので、CDNを利 活用している。 CDNにより、Webサー バーなどの負荷がか なり軽減されている状 況を作り出せていま す。
Copyright coconala Inc. All Rights Reserved. 今回のLTは「CDN+αの利活用でサイトの高 速化を実現してみた」というテーマ。 CDN(+CDN事業者)などを活用して、 サイトの高速化にどう繋がったの?
というところをご紹介します!😁 9
Copyright coconala Inc. All Rights Reserved. ちなみに元々「Amazon CloudFront」と 「Akamai Connected
Cloud CDN」を 併用していた。(僕の入社前から) 選定理由は使い分けの経緯やナレッジは どこにも残っておらず・・・😅 10
Copyright coconala Inc. All Rights Reserved. ココナラで抱えていたパフォーマンスの課題 Chapter 02 11
Copyright coconala Inc. All Rights Reserved. ココナラではGoogleが提唱する 「Core Web Vitals」を指標にして、
パフォーマンスを計測していた。 実際どういう状況だったかというと LCP(Largest Contentful Paint / 最大コ ンテンツ描画)が特に悪く、 ここに打ち手を講じたいと考えた🤔 12
Copyright coconala Inc. All Rights Reserved. 実際どのぐらいの指標値だったのか? 13 競合他社と比較して、LCPの数値が良くないことを再認識
Copyright coconala Inc. All Rights Reserved. LCPの改善項目として何があがっていたか? 14 「画像の圧縮率」と「最初のサーバー応答時間」が課題
Copyright coconala Inc. All Rights Reserved. 「餅は餅屋」ということで、まずはディスカッションをさせてもらった 15 アカマイ・テクノロジーズ社とMTGで原因を深堀り
Copyright coconala Inc. All Rights Reserved. 例えば、こういうところをディスカッションしていた 16 CDN以外の部分にも触れて、改善を図っていった
Copyright coconala Inc. All Rights Reserved. 今回のテーマは「画像の圧縮」 17 画像の圧縮をもっとかけること可能
Copyright coconala Inc. All Rights Reserved. そこで1つ課題が・・・ Amazon CloudFront +
AWS Lambdaで 画像のリサイズ処理を行っている。 サイトの高速化と画像のリサイズ処理を両 立するためにどうするか?🤔 18
Copyright coconala Inc. All Rights Reserved. 複数CDNの利活用を本気でやってみた Chapter 03 19
Copyright coconala Inc. All Rights Reserved. Image&Video Managerの導入 20 画像や動画を適切な品質と解像度に圧縮して配信
あらゆるデバイスとブラウ ザーに対応するインテリジェ ントな画像・動画最適化ソ リューション。 画像や動画を良い感じの 品質の解像度に圧縮た り、リサイズも可能とな る。
Copyright coconala Inc. All Rights Reserved. ココナラのシステム構成図 21 Akamai CDNとAmazon
CloudFrontをハイブリッド利用
Copyright coconala Inc. All Rights Reserved. LCPの改善結果 22 90%以上、画像を圧縮した状態で配信することができた
Copyright coconala Inc. All Rights Reserved. キャッシュヒット率も問題なし 23 90%以上を常時保つことで、安定運用できている
Copyright coconala Inc. All Rights Reserved. 今後の取り組み Chapter 04 24
Copyright coconala Inc. All Rights Reserved. 継続したリファクタリングの実践 25 導入して終わりではなく、継続したリファクタリングが必要…? 画像の規格は進化しているため、本来はそ
れらに追随して、チューニング / リファクタリ ングが必要。 ただし、Akamaiのソリューションを活用して いれば、そこにすべて任せられる。 =アプリケーション側での実装は不要と なるので、そこの工数を浮かせることも 副次的にできた。
Copyright coconala Inc. All Rights Reserved. 複数プロダクトへの横展開 26 「目的に応じて使い分ける」ことで、技術選定をする ベンダーロックインされないことも含めて、
純粋なCDNとしての要件と+αの要件有無 を確認し、プロダクトごとに最適な技術選定 をする。 また、課題になっていた「なぜこういうアー キテクチャーになっているかわからない」と いう状態からの脱却を目指し、技術選定 方針のドキュメントを確実に残す。
Copyright coconala Inc. All Rights Reserved. CDN1つ取ってみても、いろいろな 機能や可能性を持っています! 「何も考えず現行踏襲」はやめて、 全体最適を追いかけましょう!😁
27
Fin
Copyright coconala Inc. All Rights Reserved. Appendix Chapter 06 29
Copyright coconala Inc. All Rights Reserved. ココナラのAkamaiに関する発信内容 30 • 株式会社ココナラ、Image
& Video Managerで最大 コンテンツの表示速度(LCP)の課題を短期間で解決 ◦ https://www.akamai.com/ja/resources/customer -story/coconala • ココナラのCDN構成についてご紹介 ◦ https://zenn.dev/coconala/articles/905b968520 744e