Хостинг изображений и обработка их довольно сложна. Он включает в себя много элементов, чтобы сделать это правильно и быть уверенным, что это масштабируется с вашим сайтом.
Изображения хостинга требуются 3 ключевых элемента:
- Место для Место хранения Ваши изображения
- Путь к Изменить размер Изображения по требованию
- А CDN Чтобы кэшировать и доставлять изображения своим пользователям как можно быстрее.
Вы можете добиться этого, реализуя свое собственное решение или делегирование всей сложности перед третьей сторонней службой, такими как AWS или County.
Давайте проанализируем каждый из этих элементов и их расходов и к концу этого поста, вы сможете решить, какой путь подходит для вашего проекта.
Место хранения
Место для размещения изображений, загруженных вашими пользователями. Это может быть на вашем собственном сервере или с использованием сторонней службы, такой как Amazon S3 или Countrary. В каждом случае вам нужно будет рассмотреть стоимость хостинга изображений, и это зависит от суммы и трафика, которое вы ожидаете получить, чтобы рассчитать окончательную цену.
Вот простое сравнение цен на хранение без учета пропускной способности.
Digitalocean:
- Самый дешевый доплет с не менее 5 ГБ бесплатно для ОС + других.
- До 50 ГБ — хороший вариант, чтобы сохранить файлы на одном сервере. После этого цены значительно увеличиваются для хранения. Было бы лучше рассмотреть цифровые пространства океана в этот момент.
Amazon S3:
- Только хранение S3.
Главарное:
- Все в одном решении. Трудно сравнить индивидуально.
Изменение размера изображений
После того, как мы получим изображение пользователя, вам нужно будет отобразить измененную версию на вашем сайте. Мы не хотим, чтобы пользователи загружали изображение большого размера при просмотре нашего веб-сайта, особенно с их мобильных устройств. Скорость важна для целей UX и SEO.
Изменение размера стратегий
В загрузке времени
После хранения изображения пользователя вам нужно будет создать измененные версии исходного изображения. Это потребует в том, чтобы вы могли заранее знать, какие размеры необходимы для вашего сайта. Если позже вам требуется новый размер, вам нужно снова восстановить все предыдущие фотографии.
По запросу, по требованию
Рекомендуемые решения, но более сложные для реализации самостоятельно. Вместо того, чтобы вызовать ваши изображения напрямую, вы запрашите их из специального URL, который генерирует новое изображение, проходящее в URL-адрес нового размера параметров. Пример:
https://domain.com/image-resize?source={local-path}&width=500&height=500
Реализации
Собственное решение
Стоимость в этом случае является время разработки и поддержание кода.
Если вы решите разместить изображения в момент загрузки, вам нужно будет рассмотреть возможность размера на заднем плане, чтобы ваши пользователи не договорились, пока вы обрабатываете изображения.
Aws
С AWS вам придется создать функцию без сердца, которая запускает, когда новое изображение загружается в ведро S3 или создает URL-адрес, чтобы выполнить его по требованию и генерировать изображения изменений.
Скорее всего, есть решение, предоставляемое Amazon, которое упрощает все эти процессы и гораздо больше:
- Обработчик изображений без сервера https://aws.amazon.com/solutions/implementations/serverless-image-handler/
Облачность
Countrary включает все эти особенности в их обслуживании. Но цена очень сложная, обязательно проверяйте их очень тщательно.
- Главальные цены https://cloudinate.com/pricing.
CDN.
Наличие CDN между там, где размещены ваши изображения, и ваши пользователи являются хорошей практикой. Он ускорит ваш веб-сайт, обслуживая изображения ваших пользователей из их закрытия. Если вы используете услугу для размещения ваших изображений, он, вероятно, уже включает в себя CDN.
CloudFlare.
Предположим, вы размещаете изображения на своем собственном сервере. В этом случае CloudFlare является лучшим решением для вас, у них есть бесплатная версия, и она не только предоставляет CDN для ваших изображений, но он также делает для всего вашего веб-сайта, который также предлагает уровень безопасности между вашим пользователем и вашим сервером Отказ
https://www.cloudflare.com
AWS Cloudfront.
Решение CDN от AWS. Очень легко подключиться с существующим ведром S3. Если вы используете решение «Обработчик изображений без сервера» от AWS, он уже включает в себя Cloudfront.
https://aws.amazon.com/cloudfront/
Облачность
Уже предоставляют CDN по умолчанию.
Выводы
Здесь у нас есть сводная информация о 3 решениях, которые я упомянул в этом посте.
Digitalocean/Собственный сервер
- Плюс
✅ Хорошо до 50 ГБ хранилища
✅ Фиксированная цена
✅ CloudFlare для CDN и безопасности
- Господин
❌ Обработка изображения требует вашей собственной реализации
❌ Если вам нужно более 50 ГБ, вам нужно будет рассмотреть еще одну альтернативу.
Aws
- Плюс
✅ Amazon S3 очень дешевый
✅ Популярный вариант для разработчиков к файлам хранения
✅ Cloudfront для CDN
✅ изображение Решение обработчика сервера от AWS упрощает все
✅ Это масштабирует бесконечно, а цены низкие
- Господин
❌ Нет бесплатных вариантов, но очень дешево
❌ Вам нужно будет понять основные AWS
Облачность
- Плюс
✅ Бесплатно до кредитов
✅ Список вариантов
✅ Все в одном решении
✅ Дополнительные функции (виджеты, видео хостинг и т. Д.)
- Господин
❌ Это может быть дорогое
❌ Чтобы иметь копию ваших файлов, вам нужно будет заплатить не менее 99 долларов
Оригинал: «https://dev.to/xpromx/image-optimization-processing-and-hosting-2fl6»