Каждый, кто когда-либо имел дело с веб-приложениями и сайтами, знает, какую головную боль представляет работа с файлами: их загрузка, хранение, отдача пользователям.
Создателям сайтов, например, часто приходится сталкиваться с такими проблемами, как нехватка дискового пространства для хранения больших объемов статичного контента, обеспечение безопасности хранения и разграничение доступа, резервное копирование и восстановление данных. Оригинал в корпоративном блоге Селектела
Посетители веб-сайтов, в свою очередь, испытывают серьезные неудобства из-за слишком долгой загрузки страниц, содержащих «тяжелые» элементы (графику, анимацию, видео и т. п.). Во многих браузерах имеется ограничение на количество одновременных подключений (например, Internet Explorer позволяет осуществлять только три одновременных запроса к домену). Если веб-страница содержит много изображений, все эти изображения будут загружаться последовательно в течение очень долгого времени. Практика показывает: если загрузка страницы длится более 4 секунд, пользователь эту страницу покидает. Для веб-проектов это означает потерю аудитории, а во многих случаях — еще и недополученную прибыль.
Чтобы решить описанные проблемы, разработчики CMS все чаще идут на такой шаг, как интеграция собственных продуктов с облачными хранилищами. Преимущества этого решения очевидны:
хранение больших объемов данных в «облаках» обходится дешевле по сравнению с традиционным хранением;
использование «облаков» позволяет эффективно решить проблему доступности данных: неполадки в работе облачных сервисов случаются значительно реже, чем падения традиционных серверов;
при смене хостинг-провайдера отпадает необходимость переноса большого количества файлов вручную;
благодаря использованию сетей доставки контента (CDN) скорость доставки файлов пользователям существенно увеличивается;
так как пользователи скачивают файлы не с сайта, а через CDN, нагрузка на серверы снижается;
провайдеры облачных услуг гарантируют сохранность данных клиентов: так, в нашем хранилище все загружаемые данные одновременно копируется на несколько независимых серверов, а недостающие данные восстанавливаются автоматически.
Интеграция облачных хранилищ с системами управления сайтами является одной из актуальных тенденций сегодняшнего дня. Клиенты высоко оценивают преимущества нашего сервиса: так, один из них даже написал собственный плагин для подключения хранилища Selectel к LiveStreet CMS.
Количество CMS, способных интегрироваться с нашим хранилищем, постоянно растет. Теперь размещать собственные файлы в хранилище Selectel могут пользователи CMS 1C-Битрикс и сервиса Uploadcare.
Подключение к 1С-Битрикс
Компания 1С-Битрикс уже давно ведет работу по интеграции своего продукта с облачными хранилищами. Начиная с 11 версии, вышедшей в свет два года назад, в CMS 1C-Битрикс присутствует возможность подключения облачных сервисов для хранения статичного контента. Последние версии продукта поддерживают и наше хранилище.
Чтобы подключить облачное хранилище Selectel к CMS 1C-Битрикс, тем, кто еще не является нашим клиентом, нужно прежде всего зарегистрироваться на сайте http://selectel.ru и получить логин и пароль. Затем выбираем в главном меню панели администрирования 1С-Битрикс пункт «Настройки» → «Облачные хранилища». На экране появится список поддерживаемых сервисов:
Теперь нажимаем на кнопку «Добавить», расположенную над списком. Откроется окно настройки параметров подключения и использования облачного хранилища. В выпадающем списке провайдеров выбираем Selectel:
После этого окно настроек будет выглядеть так:
В поле «Имя сервера (API host)» нужно ввести auth.selcdn.ru, в поле «Имя пользователя (API user)» введите логин (номер договора), полученный при регистрации, в поле «Ключ доступа (API key)» – пароль, который можно узнать в разделе панели управления «Облачное хранилище» → «Настройка доступа». 1С-Битрикс сама создает контейнер в облачном хранилище.
Заметим, что такая реализация представляется нам не совсем понятной и удобной: почему для хранения файлов нельзя использовать уже имеющиеся контейнеры? Вполне можно допустить, например, что файлы, ранее помещенные в «облако», могут понадобиться при работе над новым веб-проектом. Между тем при попытке подключить уже созданные контейнеры система выдает сообщение об ошибке.
По умолчанию вновь созданному контейнеру присваивается сгенерированное программой имя, представляющее собой трудночитаемое сочетание букв и цифр. Его можно легко заменить на любое другое: для этого достаточно просто отредактировать содержимое поля Контейнер.
Как только все настройки введены, нажимаем на кнопку Сохранить. В облачном хранилище Selectel будет создан контейнер, куда будут автоматически помещаться файлы, загружаемые через CMS 1C-Битрикс.
Подключение к Uploadcare
Uploadcare — это сервис, предназначенный для разработчиков веб-приложений и сайтов. Он обрабатывает и хранит в облаках используемые в веб-проекте медиафайлы, а также раздает их пользователям через CDN. Сервис обеспечивает целостность и сохранность данных в том числе и за счет резервного копирования в облачные хранилища. С недавних пор Uploadcare поддерживает в том числе и облачное хранилище Selectel. Это нововведение должно заинтересовать прежде всего российских пользователей: при высоком уровне надежности и функциональности хранение данных у нас обходится существенно дешевле по сравнению с аналогичными зарубежными сервисами.
Для хранения резервных копий Uploadcare нужно создать в облачном хранилище Selectel отдельный контейнер:
Затем нужно создать дополнительного пользователя, который будет иметь доступ только к контейнеру с резервными копиями Uploadcare:
После этого входим в Uploadcare под своей учетной записью и открываем главное меню:
Выбираем пункт Backup:
Uploadcare предложит выбрать одно из двух облачных хранилищ (Amazon S3 и Selectel) для помещения резервных копий. Выбираем, естественно, Selectel:
В открывшуюся форму вводим имя пользователя (того самого, что был создан для работы с данными Uploadcare), пароль, а также имя контейнера, в котором будут храниться резервные копии. После этого нажимаем на кнопку Connect:
На экране появится сообщение об успешном подключении облачного хранилища Selectel:
Что дальше?
Как уже было сказано выше, интеграция CMS с облачными сервисами – тенденция очень и очень перспективная. Наше облачное хранилище в принципе может быть подключено к любым CMS, поддерживающим протокол Openstack Swift либо Amazon S3. В связи с этим мы хотели бы обратиться к нашим читателям, многие из которых уже являются нашими клиентами, с вопросом: какие CMS вы бы хотели интегрировать с нашим облачным хранилищем?
Тех, кто еще не является нашим клиентом, мы приглашаем протестировать наш облачный сервис. Чтобы просто ознакомиться с возможностями нашего облачного хранилища, вам не нужно ничего платить: каждый вновь зарегистрировавшийся пользователь получает на счет 10 рублей. Для полноценного тестирования этой суммы более чем достаточно.