Главное Авторские колонки Вакансии Образование
1 185 6 В избр. Сохранено
Авторизуйтесь
Вход с паролем

Куда мы сложили все наши изображения

Небольшой дайджест о нашем переезде на Amazon S3. Как мы отправили все изображения в облака.
Мнение автора может не совпадать с мнением редакции

Мы решили, что некоторым из наших пользователей будет интересно узнать технические детали работы нашего сервиса.

Мы попросили наших разработчиков писать нам небольшие заметки по ходу разработки. Ниже - дайджест за прошлую неделю из первых уст.

Привет из отдела разработки SMMplanner!

На этой неделе мы расстались с одной головной болью, чему очень рады. Проблема заключалась в постоянно растущей базе картинок, которые загружают наши пользователи. На текущий момент набралось около 200Gb. За всё время существования сервиса мы уже дважды меняли сервер (кстати, надеюсь, вы даже не заметили второго переезда, он должен был пройти незаметно для вас). Мы не хотим сразу брать большой и дорогой сервер, т.к. и текущий вполне справляется. Но второй переезд был вызван именно нехваткой места на диске.

И вот свободное пространство начало опять заканчиваться. На этот раз мы подошли радикальнее и перенесли все на Amazon S3. S3 это такое бесконечное файловое хранилище, облачный сервис, предоставляемый компанией Amazon. Это было сделать не трудно, т.к. все картинки уже были там - ежедневно они копировались туда в качестве резервной копии.

Оставалось немного подправить код и всё протестировать. Переход осуществлялся ночью, чтобы во время обновления было как можно меньше пользователей онлайн. Но и не слишком поздно, чтобы в случае проблем, кто-нибудь из разработчиков смог отреагировать.

А проблема все таки возникла :) К сожалению наши тестовые сервера несколько отличаются от боевого. Оказалось, что на боевом стояла устаревшая библиотека, которая подхватилась вместо новой. Это вызывало проблемы при загрузке файлов на S3. Проблему удалось локализовать быстро, но около 5 минут у пользователей были проблемы при загрузке картинок. Еще из-за логической ошибки в скрипте переноса, удалились некоторые картинки, которые были загружены во время переноса. Но удалились не окончательно, т.к. на S3 есть возможность включения версионности. Т.е файл удаляется не сразу. Он помечается как удаленный, а окончательно удаляется через заданное время. Поэтому все картинки мы восстановили.

Версионность позволяет защитить данные. Даже если взломают наши сервера и все сотрут, мы можем все восстановить. В следующей статье как раз можно поговорить о безопасности.

Надеюсь, статья вызвала у вас интерес. Ставьте лайки, пишите комментарии, если вам было интересно.

0
В избр. Сохранено
Авторизуйтесь
Вход с паролем
Комментарии
Starter
Экспертная помощь стартапам
Prolis Labkk
"На текущий момент набралось около 200Gb" — не ошиблись ли на порядок?
Ответить
SMMplanner
Панель управления публикациями в соц.сетях
Крылов Василий
Нет, если бы ошиблись на порядок, то S3 не понадобился бы. Количество пользователей постоянно растет, при том условии, что и старые продолжают делать публикации, объемы изображений очень быстро увеличиваются. Когда то и 20Gb, нам казалось, на долго хватит.
Ответить
Starter
Экспертная помощь стартапам
Prolis Labkk
Серверный диск на 1Тб стоит порядка $100. Туда поместится пять ваших сайтов и это будут капитальные затраты, в отличие от $6/мес. на s3.
Ответить
SMMplanner
Панель управления публикациями в соц.сетях
Крылов Василий
Поддержка своего сервера тоже денег стоит и для стартапов это будет куда дороже, чем облако. Свои сервера сейчас выгодны только крупным IT компаниям и хостерам. К тому же S3 дает надежность из-коробки. Сохранность 99.999999999% (99.99% в случае использования Reduced Redundancy), что ни один жесткий диск не даст. А надежный кластер из дисков — опять же дороже.
Ответить
AgriChain
AgriChain - комплексная онлайн система IT-решений для управления агробизнесом
Панченко Андрей
что-то в этом есть
Ответить
Саша Зверев
Если вас взломают, то удалят бакет, и никакая версионность уже не поможет. Но ведь, надеюсь, у вас хардварный ключ, и вас не взломают? ;)
Ответить
Выбрать файл
Блог проекта
Расскажите историю о создании или развитии проекта, поиске команды, проблемах и решениях
Написать
Личный блог
Продвигайте свои услуги или личный бренд через интересные кейсы и статьи
Написать

Spark использует cookie-файлы. С их помощью мы улучшаем работу нашего сайта и ваше взаимодействие с ним.