Мы собираемся развернуть наше веб-приложение .NET на Azure Web Role. Мне просто интересно, как другие обрабатывали свой статический контент, в частности изображения и css? На данный момент наш пакет приложений составляет около 25 МБ, но 18 мб, который получен исключительно из изображений, таких как кнопки навигации, значки и компоненты шаблонов, которые редко когда-либо обновляются. Было бы разумно разбить это из пакета развертывания и переместить его в хранилище blob?
У меня есть несколько сомнений по поводу этого подхода, о котором мне интересно, действительны...
-
80% нашего сайта работает в среде HTTPS. Будет ли доступ к изображениям в хранилище blob вводить проблемы с несколькими скриптами?
-
Уязвимость к утечке денег, если кто-то пытается злонамеренно забивать наши изображения (большинство из них менее 20kb)?
-
Я пытаюсь посмотреть, как можно загружать файлы в контейнер blob (из VS2010 + Azure SDK) с соглашением об именах каталогов, поэтому мне не нужно переписывать 1000 ссылок на пути? Я ценю, что каталоги являются абстрактным понятием в контейнерах blob, но я могу писать файлы с косой чертой, чтобы имитировать это в коде. Очевидно, что Windows не позволяет мне это делать, прежде чем я загружу в Visual Studio.
Любые мысли или альтернативные стратегии будут приветствоваться. Цель состоит в том, чтобы свернуть наш пакет развертывания, чтобы ускорить время развертывания. Также мне очень нравится идея выгрузки изображения, предназначенного для выделенного node, для повышения производительности на веб-сервере, возможно, моя коллекция изображений настолько мала, что ее вряд ли стоит беспокоить?
Обновление 16 мая ----------------------------------------- -------------------------------
Вот что я сделал в конце:
1. Передача всех изображений + css в контейнеры для хранения данных. Я поддерживал структуру любых подкаталогов в папках изображений и css.
2. Примените правило перезаписи URL в нашем файле web.config следующим образом.
<rewrite>
<rules>
<rule name="imagestoazure">
<match url="images/(.*)" />
<action type="Redirect" url="https://xxxxx.vo.msecnd.net/images/{R:1}" />
</rule>
</rules>
</rewrite>
3. Внедрение изображений + css-папок из приложения и их развертывание.
Мое развертывание теперь намного меньше, а изображения работают с CDN, освобождая пропускную способность, улучшая скорость загрузки и освобождая некоторую нагрузку от веб-сервера.
Обновление: сентябрь 2015
При рассмотрении этого недавно я столкнулся с следующим руководством от Microsoft. Более подробно о том, как можно автоматизировать развертывание ваших активов и сжатие кеша с помощью запросов, можно.