Когда
Это было пять лет назад. Тогда мы впервые всерьез занялись вопросами «страхования» своих данных, и в работе над различными проектами перепробовали немало решений.
Сейчас, когда мы обзавелись собственным решением проблемы, я хочу немного обобщить полученный нами опыт. Надеюсь, что наши набитые шишки помогут вам немного сократить страдания и найти сервис для бэкапа, наиболее оптимальный для вас.
Самописные скрипты
Плюсы: дешевизна, гибкость.
Минусы: вариативная надежность, отсутствие гарантий.
Кому подойдет: нестандартным проектам, системным администраторам.
Поначалу мы решили не тратиться на серьезные решения и написать скрипты для восстановления данных самостоятельно. Ну, или почти самостоятельно: благо, на guthub'e было немало готовых вариантов. Пять бессонных ночей, очень много кружек кофе — и я теперь гуру bash’a, rsync’a и других технологий. При написании своего скрипта важно определиться с тем, куда вы бэкапите свои данные и не забыть сохранить свои базы данных. У данного решения есть очевидные плюсы: гибкость — вы сами решаете какие возможности вам нужны и как их реализовать; обучение — в процессе написания вы можете познакомиться с каким-либо новым языком программирования, технологией или API. Кроме того, стоимость итогового продукта определяете только вы сами.
Но и цена ошибки здесь довольно высока, поскольку может обернуться потерей части проекта. Хорошо, что мы поняли это на этапе тестирования восстановления информации. Экономия на бэкапах ни к чему.
Business решения
Плюсы: высокая надежность, техподдержка.
Минусы: высокая цена, закрытый код и инфраструктура.
Кому подойдет: среднему и большому бизнесу.
К сожалению, попробовать на практике данные решения у нас так и не получилось — веб-студии и стартапы, в которых я работал, не могли выделить нужный бюджет для покупки этих решений.
Это ледоколы в мире бэкапов. У них обслуживаются крупные компании и они существуют на рынке уже много лет. Если у вас появится проблема, то вам обязательно придет на помощь техподдержка в самое короткое время. Я говорю об Ashampoo, Acronis, Symantec, Handy и других. Данные решения подкупают своей очень высокой надежностью, техподдержкой и опытом работы на рынке. Единственное, что останавливает мелкий бизнес и фрилансеров от использования — это большая цена за надежность (от 1000$ в год). Так же есть вопросы к закрытому коду этих систем — не понятно, что спрятано в этих черных ящиках.
Решения от хостера
Плюсы: низкая цена, быстрота первоначальной настройки.
Минусы: низкий уровень доверия, малая гибкость.
Кому подойдет: простым сайтам.
А вот данный путь спас меня совсем недавно. Один из очень давних заказчиков забыл продлить
Техническая реализация различается у хостеров, обычно все сводится к одной галочке при создании виртуальной машины. При этом не всегда понятно, где
Consumer решения
Плюсы: низкая цена.
Минусы: низкая надежность, отсутствие настроек, низкая скорость аплоада.
Кому подойдет: небольшим новостным порталам.
Dropbox, google drive, box.com, crashplan и другие набирают популярность в последнее время, в том числе и для использования на сервере. Опробовав этот вариант полгода назад, я с уверенностью могу сказать, что в данный момент это сырое решение не пригодно для использования в живых проектах. Обычно, к ним дописывается короткий скрипт (например, rsync каждый вечер в папку) и все это, вроде как, работает. Основной плюс — это низкая цена, так как конкуренция у consumer решений большая, то им приходится демпинговать. Идеально подходит для бэкапа медиа файлов. Но есть куча минусов: начиная от низкой скорости загрузки на сервера (20 кб/сек) и заканчивая тем, что консольные клиенты очень сырые, постоянно “отваливаются”.
Three steps to be calm!
Плюсы: простота установки, удобство настойки, надежность.
Минусы: недостаточная гибкость.
Кому подойдет: фрилансерам, инди-разработчикам, стартапам, веб-студиям.
И вот, настал тот момент, когда при очередной настройке бэкапа для нового проекта, мы сказали: “Хватит это терпеть!” и решили реализовать полноценный сервис, который поможет нам обрести спокойствие за свои данные всего за три шага. Для установки на сервер клиента нужна всего-лишь одна команда, все управление бэкапами (выбор каталогов и БД, расписание и отслеживание) происходит через удобный веб-интерфейс. Есть и минус: в некоторых ситуациях гибкости настройки бэкапа может не хватить. Мы думаем, что будем полезны фрилансерам, инди-разработчикам, стартапам и малому бизнесу (например веб-студиям), которые хотят быть спокойны за свои данные.
Клиент
Клиент мы разрабатываем на Python — язык поддерживается “из коробки” во всех серверных операционных системах. Исходный код будет опубликован в PyPI и на github.com, чтобы каждый заинтересованный разработчик мог нас проверить. Клиент будет получать настройки с нашего сервиса, сжимать нужные каталоги и сразу заливать их на Amazon S3. Весь обмен данными происходит по https.
Веб интерфейс
Веб интерфейс мы разрабатываем при помощи современных фреймворков AngularJS и Django. При помощи одной панели управления вы можете настраивать сразу несколько серверов. Для каждого сервера вы выбираете необходимые каталоги для бэкапа, указываете параметры подключения к СУБД, выбираете базы данных. Расписание бэкапов настраивается гибко. В панели управления отображается журнал бэкапов со статусом, размером и временем выполнения.
Amazon S3
Один из популярных сервисов хранения данных. Для каждого пользователя мы создаем приватный и изолированный bucket, что делает вероятность “утечки” бэкапов невозможной. Все бэкапы хранятся на Amazon S3 в зашифрованном виде.
Обратная связь
Сейчас проект находится в стадии активной разработки первой версии продукта. Нам очень интересны ваши пожелания, советы, впечатления, любая обратная связь.
Автор: akamoroz