Cloudflare перенёс cdnjs на свою платформу: 9 млрд запросов в день

Когда речь заходит о публичных CDN, немногие могут похвастаться масштабом cdnjs. Этот открытый проект, который раздаёт JavaScript и CSS библиотеки по всему миру, теперь полностью работает на инфраструктуре Cloudflare. Компания завершила миграцию, и теперь cdnjs обрабатывает около 9 миллиардов запрос

Cloudflare перенёс cdnjs на свою платформу: 9 млрд запросов в день

Когда речь заходит о публичных CDN, немногие могут похвастаться масштабом cdnjs. Этот открытый проект, который раздаёт JavaScript и CSS библиотеки по всему миру, теперь полностью работает на инфраструктуре Cloudflare. Компания завершила миграцию, и теперь cdnjs обрабатывает около 9 миллиардов запросов ежедневно, используя исключительно собственные сервисы Cloudflare: Workers, R2, KV, Workflows, Queues, Durable Objects и Containers. Для разработчиков это означает одно: ничего не меняется в их коде, все URL и SRI-хэши остаются прежними, но скорость и надёжность доставки библиотек выходят на новый уровень.

cdnjs — это не просто CDN, а важный инструмент для миллионов сайтов. Он позволяет подключать популярные библиотеки, такие как jQuery, React или Lodash, через единую точку доступа. Раньше проект работал на собственной инфраструктуре, но Cloudflare решила унифицировать его с остальными своими сервисами. Это решение продиктовано стремлением улучшить контроль над производительностью и масштабированием, а также упростить поддержку и дальнейшее развитие проекта. Теперь весь жизненный цикл библиотек — от загрузки новой версии до доставки конечному пользователю — управляется внутри экосистемы Cloudflare.

Почему Cloudflare переносит cdnjs на свою платформу

Перенос cdnjs на платформу Cloudflare не был случайным шагом. Компания давно стремится к тому, чтобы все её сервисы работали на единой, хорошо отлаженной архитектуре. Использование Workers для обработки запросов и R2 для хранения файлов позволяет обрабатывать огромные объёмы трафика с минимальными затратами. Workers — это серверные функции, которые выполняются на границе сети, что снижает задержки и ускоряет ответ. R2, в свою очередь, представляет собой объектное хранилище, совместимое с S3, которое обеспечивает высокую доступность и низкую задержку при чтении данных.

Но главная причина — это необходимость повысить надёжность и снизить задержки. Предыдущая инфраструктура cdnjs требовала значительных ручных усилий для поддержания производительности. С новой архитектурой Cloudflare может автоматически масштабировать ресурсы в зависимости от нагрузки, а также использовать такие сервисы, как Durable Objects и Queues, для создания более гибких и отказоустойчивых систем. Это особенно важно, учитывая, что cdnjs обслуживает миллиарды запросов в день, и любая заминка может отразиться на работе множества сайтов.

Как устроена новая архитектура cdnjs

Новая архитектура cdnjs построена на нескольких ключевых сервисах Cloudflare, каждый из которых выполняет свою роль. Workers обрабатывают входящие запросы и раздают файлы из хранилища R2. R2 — это основное хранилище для всех библиотек, оно обеспечивает высокую доступность и низкую задержку при чтении. Для кэширования метаданных и управления конфигурацией используется KV (Key-Value store), который позволяет быстро получать информацию о версиях библиотек и их расположении.

Workflows и Queues автоматизируют процессы публикации новых версий библиотек и обработки обновлений. Workflows позволяют создавать многошаговые процессы, например, проверку и валидацию новых версий перед их публикацией. Queues обеспечивают асинхронную обработку задач, что особенно полезно при массовых обновлениях. Durable Objects координируют состояние между различными компонентами системы, обеспечивая согласованность данных. Containers используются для выполнения изолированных задач, например, для сборки или тестирования библиотек.

Такая архитектура даёт Cloudflare полный контроль над жизненным циклом пакетов. От загрузки новой версии библиотеки до её доставки конечным пользователям — каждый этап оптимизирован и автоматизирован. Благодаря использованию собственных сервисов, Cloudflare может гарантировать максимальную производительность и надёжность, а также быстро внедрять новые функции.

Что это значит для разработчиков

Для разработчиков, которые используют cdnjs в своих проектах, это изменение пройдёт абсолютно незаметно. Все URL остаются прежними, SRI-хэши сохраняются, а доступность и скорость только улучшаются. Это особенно важно для крупных веб-приложений и мобильных сайтов, которые зависят от стабильной работы CDN. Новая инфраструктура также открывает возможности для расширения функциональности cdnjs, например, добавления поддержки новых форматов или улучшенной аналитики.

Разработчикам не нужно обновлять свои проекты или менять ссылки на библиотеки. Всё, что они делали раньше, продолжит работать без изменений. Более того, благодаря улучшенной производительности, сайты с использованием cdnjs могут стать быстрее, что положительно скажется на пользовательском опыте и SEO. Cloudflare также обещает, что в будущем появятся новые инструменты для аналитики использования библиотек, что поможет разработчикам лучше понимать потребности своих пользователей.

Технические детали и производительность

Cloudflare утверждает, что новая архитектура способна обрабатывать до 9 миллиардов запросов в день без каких-либо проблем. Это стало возможным благодаря горизонтальному масштабированию Workers и R2, которые автоматически распределяют нагрузку по всему миру. Время ответа остаётся на уровне миллисекунд, а кэширование на границе сети (edge) снижает нагрузку на центральные серверы. Для сравнения, предыдущая инфраструктура cdnjs требовала значительных ручных усилий для поддержания производительности, тогда как новая система полностью автоматизирована.

Одним из ключевых преимуществ новой архитектуры является её способность справляться с пиковыми нагрузками. Благодаря использованию Workers, которые выполняются на edge-серверах, запросы обрабатываются максимально близко к пользователю, что снижает задержки. R2, в свою очередь, обеспечивает высокую доступность данных, реплицируя их по нескольким дата-центрам. Это означает, что даже в случае сбоя в одном регионе, пользователи продолжат получать файлы без перебоев.

Кого затронет это изменение

Миграция затрагивает всех пользователей cdnjs, но для большинства она пройдёт незаметно. Разработчикам не нужно обновлять свои проекты или менять ссылки на библиотеки. Однако владельцы собственных CDN могут обратить внимание на подход Cloudflare и рассмотреть возможность использования аналогичных технологий для своих сервисов. В России и СНГ cdnjs также широко используется, поэтому пользователи из этих регионов тоже получат выгоду от улучшенной производительности.

Особенно это актуально для проектов, которые ориентированы на международную аудиторию. Благодаря глобальной сети Cloudflare, файлы из cdnjs будут доставляться быстрее в любой точке мира, включая Россию и страны СНГ. Это может стать значительным преимуществом для веб-разработчиков, которые стремятся обеспечить высокую скорость загрузки своих сайтов для пользователей из разных регионов.

Что будет дальше

Cloudflare планирует продолжить развитие cdnjs, добавляя новые функции и улучшая интеграцию с другими продуктами компании. Возможно, в будущем появятся дополнительные инструменты для аналитики использования библиотек или более тесная интеграция с Cloudflare Workers, что позволит разработчикам создавать ещё более мощные приложения. Также стоит ожидать, что другие CDN последуют примеру Cloudflare и начнут использовать собственные платформы для повышения эффективности.

Одним из возможных направлений развития является улучшение поддержки популярных библиотек и фреймворков. Cloudflare может предложить оптимизированные версии библиотек, которые будут загружаться ещё быстрее. Также возможно появление инструментов для автоматического обновления библиотек в проектах, что упростит жизнь разработчикам. В любом случае, будущее cdnjs выглядит многообещающим, и Cloudflare явно настроена на долгосрочное развитие этого проекта.

Итог

Перенос cdnjs на платформу Cloudflare — это важный шаг в эволюции веб-инфраструктуры. Он демонстрирует, как современные технологии, такие как Workers и R2, могут обеспечить невероятную производительность и масштабируемость. Для разработчиков это означает более стабильную и быструю работу их проектов, а для индустрии в целом — новый стандарт качества. Следите за обновлениями Cloudflare, чтобы не пропустить новые возможности, которые появятся благодаря этой миграции.