Если вы следили за моими последними публикациями, 7 Причин использовать Сеть доставки контента и 7 Причин НЕ использовать Сеть доставки контента , вы будете в полном замешательстве и на грани отказа от этой веб-игры в целом.
Ответ «должен ли я использовать CDN?» :
По-разному.
Есть несколько четких ситуаций, когда следует избегать CDN:
- Вы создаете приложение для интрасети без внешнего доступа к Интернету.
- Безопасность или конфиденциальность является главным приоритетом, например, банковское приложение, где вам нужен полный контроль над всеми исходными файлами и местоположениями сервера.
- Вы создаете приложение для компании или страны, которая, как известно, блокирует определенные домены или диапазоны IP-адресов.
Ваш выбор CDN также будет более ограниченным, если вашему приложению требуется безопасный протокол HTTPS.
CDNs дают меньше преимуществ для небольших сайтов с относительно небольшим трафиком. Предполагая, что вам не требуются видео или аудио файлы с высокой пропускной способностью, может быть проще хранить все ваши файлы в одном месте.
Малые локальные и большие CDN файлы
Для более загруженных сайтов CDN могут значительно повысить производительность и сократить расходы. Однако помните о проблемах оптимизации файлов. Например, лучше ли загружать полную библиотеку JavaScript объемом 300 КБ из CDN или оптимизированную версию 50 КБ с локального сервера?
Я хотел бы выбрать меньший локальный файл, особенно если разумная часть целевой аудитории использует мобильные устройства. Меньший файл перевешивает многие причины использования CDN; он будет загружаться быстрее и быстрее.
Тестирование производительности A / B
Если время и бюджет позволяют, вы можете рассмотреть A / B-тестирование. Вам нужно было бы реализовать решение, которое обслуживало бы отдельных пользователей с веб-страницей на CDN или локальной версией. Фрагмент JavaScript может записывать реальные скорости загрузки и рендеринга и публиковать результаты обратно на сервер, используя Ajax или аналогичные методы. В зависимости от ваших профилей трафика, вы можете упростить этот процесс, запустив локальную версию в течение одной недели, а затем версию на базе CDN.
CDN может быть менее эффективным, если, например, большинство пользователей используют более медленные соединения и физически находятся рядом с местоположением вашего основного сервера.
Лучшее из обоих миров?
Некоторые из проблем, связанных с CDN, могут быть устранены с помощью запасного варианта. Если файл не может быть загружен из-за того, что CDN заблокирован или недоступен, система может прибегнуть к локальной версии. Опять же, это требует дополнительной разработки, но увеличит доступность критически важных систем.
CDN и прогрессивное улучшение
Всегда будут ресурсы, которые не являются абсолютно необходимыми для страницы, например, фоновые изображения, виджеты JavaScript, некоторые перезагрузки CSS и т. Д.
Рассмотрим веб-шрифты. Google Webfont CDN — отличная система, и вы столкнетесь с несколькими проблемами, если служба станет ненадежной или выйдет из строя. Если шрифт не может быть загружен, сайт может использовать обычный шрифт.
Завершение
CDN — невероятно полезный ресурс, но не забывайте учитывать последствия. На практике большинство сайтов выиграют, если они загрузят jQuery, HTML5-файл и файлы шрифтов из общедоступной CDN. На более загруженных сайтах трудно игнорировать улучшения скорости и экономию средств частного CDN.