Pull to refresh
0

Делаем бэкапы: как перестать волноваться за свои данные

Reading time4 min
Views27K
bitcalmКогда хостинг ушел в небытие, волноваться было уже поздно. Сайт умер во время активного продвижения, в пятницу, до техподдежки было невозможно дозвониться, братья по несчастью пожимали плечами. Нам повезло: у одного из разработчиков была старая копия сайта, мы ее восстановили и проект был спасен. Но больше так рисковать не хотел никто.

Это было пять лет назад. Тогда мы впервые всерьез занялись вопросами «страхования» своих данных, и в работе над различными проектами перепробовали немало решений.

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

Самописные скрипты


image

Плюсы: дешевизна, гибкость.
Минусы: вариативная надежность, отсутствие гарантий.
Кому подойдет: нестандартным проектам, системным администраторам.

Поначалу мы решили не тратиться на серьезные решения и написать скрипты для восстановления данных самостоятельно. Ну, или почти самостоятельно: благо, на guthub'e было немало готовых вариантов. Пять бессонных ночей, очень много кружек кофе — и я теперь гуру bash’a, rsync’a и других технологий. При написании своего скрипта важно определиться с тем, куда вы бэкапите свои данные и не забыть сохранить свои базы данных. У данного решения есть очевидные плюсы: гибкость — вы сами решаете какие возможности вам нужны и как их реализовать; обучение — в процессе написания вы можете познакомиться с каким-либо новым языком программирования, технологией или API. Кроме того, стоимость итогового продукта определяете только вы сами.

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

Business решения


image     

Плюсы: высокая надежность, техподдержка.
Минусы: высокая цена, закрытый код и инфраструктура.
Кому подойдет: среднему и большому бизнесу.

К сожалению, попробовать на практике данные решения у нас так и не получилось — веб-студии и стартапы, в которых я работал, не могли выделить нужный бюджет для покупки этих решений.

Это ледоколы в мире бэкапов. У них обслуживаются крупные компании и они существуют на рынке уже много лет. Если у вас появится проблема, то вам обязательно придет на помощь техподдержка в самое короткое время. Я говорю об Ashampoo, Acronis, Symantec, Handy и других. Данные решения подкупают своей очень высокой надежностью, техподдержкой и опытом работы на рынке. Единственное, что останавливает мелкий бизнес и фрилансеров от использования — это большая цена за надежность (от 1000$ в год). Так же есть вопросы к закрытому коду этих систем — не понятно, что спрятано в этих черных ящиках.

Решения от хостера


image     image

Плюсы: низкая цена, быстрота первоначальной настройки.
Минусы: низкий уровень доверия, малая гибкость.
Кому подойдет: простым сайтам.

А вот данный путь спас меня совсем недавно. Один из очень давних заказчиков забыл продлить хостинг и его аккаунт со всеми его данными стерли через месяц. История закончилась хэппи-ендом: в течение суток был зарегистрирован новый аккаунт и восстановлен сайт из бэкапа хостера.

Техническая реализация различается у хостеров, обычно все сводится к одной галочке при создании виртуальной машины. При этом не всегда понятно, где хостер хранит бэкап ваших данных, ведь это может быть и сервер в соседней стойке. Также возникает вопрос, как часто он делает бэкапы и сколько предыдущих копий он хранит. Непонятна процедура восстановления, как удачно и как быстро мы сможем получить доступ к нужной информации. Внимательно уточняйте данную информацию у хостера. Если не можете найти ответы в документации, обязательно спросите у поддержки.

Consumer решения


dropbox     crash plan

Плюсы: низкая цена.
Минусы: низкая надежность, отсутствие настроек, низкая скорость аплоада.
Кому подойдет: небольшим новостным порталам.

Dropbox, google drive, box.com, crashplan и другие набирают популярность в последнее время, в том числе и для использования на сервере. Опробовав этот вариант полгода назад, я с уверенностью могу сказать, что в данный момент это сырое решение не пригодно для использования в живых проектах. Обычно, к ним дописывается короткий скрипт (например, rsync каждый вечер в папку) и все это, вроде как, работает. Основной плюс — это низкая цена, так как конкуренция у consumer решений большая, то им приходится демпинговать. Идеально подходит для бэкапа медиа файлов. Но есть куча минусов: начиная от низкой скорости загрузки на сервера (20 кб/сек) и заканчивая тем, что консольные клиенты очень сырые, постоянно “отваливаются”.

Three steps to be calm!


dropbox

Плюсы: простота установки, удобство настойки, надежность.
Минусы: недостаточная гибкость.
Кому подойдет: фрилансерам, инди-разработчикам, стартапам, веб-студиям.

И вот, настал тот момент, когда при очередной настройке бэкапа для нового проекта, мы сказали: “Хватит это терпеть!” и решили реализовать полноценный сервис, который поможет нам обрести спокойствие за свои данные всего за три шага. Для установки на сервер клиента нужна всего-лишь одна команда, все управление бэкапами (выбор каталогов и БД, расписание и отслеживание) происходит через удобный веб-интерфейс. Есть и минус: в некоторых ситуациях гибкости настройки бэкапа может не хватить. Мы думаем, что будем полезны фрилансерам, инди-разработчикам, стартапам и малому бизнесу (например веб-студиям), которые хотят быть спокойны за свои данные.

Клиент
Клиент мы разрабатываем на Python — язык поддерживается “из коробки” во всех серверных операционных системах. Исходный код будет опубликован в PyPI и на github.com, чтобы каждый заинтересованный разработчик мог нас проверить. Клиент будет получать настройки с нашего сервиса, сжимать нужные каталоги и сразу заливать их на Amazon S3. Весь обмен данными происходит по https.

Веб интерфейс




Веб интерфейс мы разрабатываем при помощи современных фреймворков AngularJS и Django. При помощи одной панели управления вы можете настраивать сразу несколько серверов. Для каждого сервера вы выбираете необходимые каталоги для бэкапа, указываете параметры подключения к СУБД, выбираете базы данных. Расписание бэкапов настраивается гибко. В панели управления отображается журнал бэкапов со статусом, размером и временем выполнения.

Amazon S3
Один из популярных сервисов хранения данных. Для каждого пользователя мы создаем приватный и изолированный bucket, что делает вероятность “утечки” бэкапов невозможной. Все бэкапы хранятся на Amazon S3 в зашифрованном виде.

Обратная связь
Сейчас проект находится в стадии активной разработки первой версии продукта. Нам очень интересны ваши пожелания, советы, впечатления, любая обратная связь.
Tags:
Hubs:
+13
Comments38

Articles

Information

Website
bitcalm.com
Registered
Founded
Employees
2–10 employees
Location
Россия