Налаштування CDN для доставки контенту мобільного додатку
Користувач з Новосибірська відкриває додаток, але аватарка завантажується 3 секунди — запит іде на сервер в Амстердамі. RTT 150 мс, плюс час відповіді origin — підсумкова затримка вбиває UX. CDN кешує контент на граничних вузлах, скорочуючи шлях даних. Для мобільного додатку з медіаконтентом це знижує час завантаження в 3–10 разів. За 5+ років ми налаштували CDN для 30+ проектів: від фінтех-додатків до стрімінгових сервісів. Ми гарантуємо зниження часу завантаження в зазначених межах.
Значення CDN для мобільних додатків
Без CDN кожен запит до статики (зображення, відео, OTA-оновлення) йде на origin-сервер, який може знаходитися за тисячі кілометрів. CDN розміщує копії файлів на POP-вузлах, скорочуючи фізичну відстань. Для відео 5 МБ різниця між 200 мс і 1.5 секундами завантаження критична. Крім того, CDN бере на себе DDoS-захист (наприклад, Cloudflare) і знижує навантаження на origin до 80%.
Контент для кешування через CDN
CDN ефективний для:
- Зображення, аватарки, відео, PDF, OTA-оновлення, Asset Bundles.
- Динамічні API-запити не кешуються в стандартній конфігурації — для них використовуйте API Gateway або Edge Functions.
- Персональні дані (документи, особисті фото) через публічний CDN з довгим TTL — ризик витоку. Застосовуйте Signed URLs з коротким часом життя (від 1 хвилини до 1 години).
Вибір провайдера CDN
| Провайдер | Сильні сторони | Коли вибираємо |
|---|---|---|
| Cloudflare CDN | Безкоштовний тариф, просте налаштування, DDoS-захист | Стартап, обмежений бюджет |
| AWS CloudFront | Нативна інтеграція з S3, Lambda@Edge | Інфраструктура вже на AWS |
| Google Cloud CDN | Інтеграція з GCS, GKE | Інфраструктура на GCP |
| BunnyCDN | Низька ціна, хороша швидкість у СНД | Цільова аудиторія в СНД, вартість важлива |
| Fastly | Edge computing, Varnish під капотом | Потрібні складні правила кешування |
Для аудиторії в Росії та СНД перевірте наявність POP-вузлів у Москві та Санкт-Петербурзі. BunnyCDN і Cloudflare мають там вузли. За даними BunnyCDN documentation, у Москві та СПб затримка до користувача в середньому на 40% менша, ніж при використанні Cloudflare з POP у Європі. Отже, BunnyCDN кращий за Cloudflare на 40% за затримкою в СНД, що робить його оптимальним вибором для цільової аудиторії.
Як налаштувати кешування за 3 кроки
- Визначте тип контенту та TTL. Для аватарок — 1–24 години з версіонуванням (query string або шлях). Для статики (іконки, шрифти) — 30–365 днів з хешем в імені файлу. Для відео — Range requests з TTL 1–7 днів.
-
Налаштуйте заголовки Cache-Control. Приклад:
Cache-Control: public, max-age=2592000, immutable. Флагimmutableзабороняє перевірку свіжості до закінчення терміну. -
Оптимізуйте клієнтське кешування. На Android:
OkHttpзCache100 МБ на диску +CacheControl. На iOS:URLCacheзdiskCapacity100 МБ, політикаreturnCacheDataElseLoad.
Інвалідація та purge
CDN кешує за URL. Зміна файлу без зміни URL не оновлює кеш до закінчення TTL. Три підходи:
- Версіоновані URL (
/assets/logo-a1b2c3d4.png) — найкращий, не вимагає ручного purge. - Query string версії (
/assets/logo.png?v=42) — простіше, але деякі CDN ігнорують query string. - Ручний purge через API — для термінових замін. Інтегруємо в CI/CD.
Приклад CDN-інтеграції в CI/CD
Після збірки новий артефакт з хешем завантажується в S3. CloudFront розподіл автоматично підхоплює файл через origin. Якщо потрібна термінова інвалідація, в пайплайні виконується `aws cloudfront create-invalidation`.Моніторинг та метрики
Після налаштування контролюємо:
- Cache Hit Ratio — цільове 90%+. Якщо нижче 90%, скоротіть TTL або перевірте унікальність URL. На 30+ проектах середній показник — 94%.
- Bandwidth savings — об'єм трафіку, який CDN обслуговує замість origin (економія до 70%, що у грошовому вираженні може становити сотні доларів щомісяця).
- P95 латентність по регіонах — переконайтеся, що цільові ринки отримують прискорення. Для СНД цільове P95 — <100 мс.
У мобільному додатку логуйте заголовок X-Cache (якщо CDN його віддає) — це дасть реальний hit rate з точки зору клієнта.
Що входить у налаштування CDN під ключ?
- Аудит поточної архітектури та вибір провайдера.
- Налаштування кешування та правил purge.
- Інтеграція Signed URLs для захищеного контенту.
- Оптимізація мобільного клієнта (OkHttp/URLCache).
- Моніторинг та звіт про Cache Hit Ratio.
- Документація та навчання команди.
- Підтримка після запуску.
Строки та вартість
Базова конфігурація — 1–2 робочі дні. Складні сценарії (Edge Functions, geo-routing, Signed URLs) — 3–5 днів. Вартість базового налаштування починається від 500 доларів. Для точної оцінки вашого проекту зв'яжіться з нами. Отримайте консультацію інженера з досвідом 5+ років.
Cloudflare CDN — офіційна документація.







