Должен ли я переместить статические ресурсы из App Engine в облачное хранилище Google?
У нас есть веб-приложение в App Engine. Мне было интересно, является ли хорошей идеей переместить мои статические ресурсы (i.e изображения, CSS-файлы и JS-файлы) из App Engine и обслуживать их из облачного хранилища Google.
мое мышление здесь двоякое:
1) мы можем получить преимущества CDN с облачным хранилищем Google. Мы даже можем настроить метаданные для каждого файла, чтобы установить заголовки истечения, сжатия gzip, и т. д. Кроме того, обслуживая файлы из разных доменов, мы может иметь браузеры загружать больше контента параллельно.
2) при выгрузке некоторых файлов из App Engine потребление экземпляра будет уменьшаться (меньше запросов к App Engine), поэтому затраты будут снижаться.
Я прав? Это разумный шаг?
спасибо,
3 ответов
ни то, ни другое не имеет смысла.
1) App Engine имеет CDN-подобную функциональность с его краевым кэшем. К сожалению, документально это не подтверждено. Есть несколько Google I/O говорит об этом. Вот вам для начала: http://eng.pulse.me/backend-tips-the-free-cdn/ В Google I / O 2012 есть еще один разговор, который вы также можете найти. Ваши статические файлы будут обслуживаться с кешем edge, если к ним достаточно доступа, поэтому для этого не нужно переходить в GCS.
2) это хорошо документировано, что статические файлы не принимают экземпляры. Вы уже читали это, так что ваша "паранойя" - это просто паранойя, и она не имеет смысла. Также очень легко протестировать, загрузив новую версию в App engine, получив доступ к статическому файлу и проверив новый экземпляр в Admin.
вы правы, и ответ, который вы приняли, неверен. Ответ на ваш вопрос из официальных документов:
https://cloud.google.com/storage/docs/website-configuration
хостинг статических активов для динамических веб-сайте!--1-->
вы можете использовать облачное хранилище Google для размещения статических ресурсов для динамического веб-сайта, размещенного, например, в Google App Engine или в Google Compute Engine. Некоторые преимущества размещения статических активов, как изображения или файлы Javascript, в ведро включают:
- Google Cloud Storage ведет себя по существу как сеть доставки контента (CDN) без работы с вашей стороны, потому что общедоступные объекты по умолчанию кэшируются в Сети облачного хранения Google.
- плата за пропускную способность для доступа к контенту обычно будет стоить меньше с облачным хранилищем Google.
- нагрузка на веб-серверы уменьшается при обслуживании статического содержимого из Облачное Хранилище Google.
ваша интуиция права, вот подтверждение от Google docs:
преимущества использования облачного хранилища вместо обслуживания непосредственно из вашего приложения включают в себя:
облачное хранилище по существу работает как сеть доставки контента. Это не требует специальной настройки, поскольку по умолчанию любой общедоступный объект кэшируется в глобальной облачной сети хранения данных.
приложения нагрузка будет уменьшена путем выгрузки обслуживающих статических активов в облачное хранилище. В зависимости от количества статических активов и частоты доступа это может значительно снизить стоимость запуска приложения.
плата за пропускную способность для доступа к контенту часто может быть меньше с облачным хранилищем.
известно, что статические файлы наверняка обслуживается с использованием ресурсов экземпляра. Это правда, что кэш edge вступает в силу, но это делает не просто удалите всю проблему. Перемещение статики в GCS-это право способ сделать это.
заметим, однако, если вы планируете обслуживать статические файлы из GCS, вы не сможете правильно сопоставить (sub)домен с ним через HTTPS (SSL), и вам придется использовать балансировщик нагрузки или сторонний CDN. В некоторых случаях это может оказаться более хлопотно. См.здесь для сведения.