Всем привет!
Сегодня делюсь темой для владельцев IT-продукта – бэкапы (резервные копии). Есть такое расхожее выражение, что в нашем бизнесе люди делятся на два типа: «те кто ещё не делает бэкапы и те, кто уже делает». =)
Что такое бэкап
Это резервная копия проекта. То есть все файлы, базы данных, заказы и другие материалы. Иначе – полная копия продукта, которая создаётся на случай форс-мажора.
Какие последствия, если бэкапа нет
Кроме шуток, потери в случае форс-мажора могут быть фатальными.
Представьте, что вы трудитесь над проектом месяцами, а по несчастливой случайности сервер с проектом умирает. Скажете, что маленькая вероятность, а сервера надёжны, дублируются и за ними следят специально обученные люди? Отвечу: на моей практике было два сервера, которые умерли вместе с зеркальными дисками. А спасали нашу работу как раз бэкапы!
Полезные советы
Итак, вот правила, которые полезны в работе с резервными копиями:
бэкапы должны быть, это нужно принять.
бэкапы должны находиться на отдельной площадке. Если бэкап сделан на том же самом сервере – то он ляжет вместе с сервером
бэкапы должны быть актуальными, идеально, если они делаются на ежедневной основе
бэкапы должны работать по расписанию (мы ставим в ночное время, чтобы не нагружать серверы)
Теперь по поводу типов бэкапов – определитесь, какими средствами вы будете его делать.
Варианты:
средствами CMS (движка)
средствами панели управления хостингом или серверов (Plesk, ispmanager, cpanel и тд)
на уровне виртуальной машины, если вы используете виртуализацию (докер, гипервизор и так далее)
Запасной вариант
Есть ещё один вариант восстановления, который выручает в крайних случаях – это восстановить проект из репозитория в системе контроля версий (мы, например, используем git). Конечно, обычно репозиторий не содержит данных, а только логику, но в некоторых случаях всё равно это здорово выручает (у нас есть кейсы, когда клиент уже удалил сервер, потерял всё, но мы спасли проект, подняв из репозитория).
Важно помнить
Ещё парочка полезных советов по поводу резервных копий:
избегайте избыточного дублирования (используйте разумный подход)
если есть данные, которые занимают много места – подумайте над тем, чтобы исключить их из резервных копий (так мы сэкономили около 300Гб под картинки на проекте c 50000 SKU, смысла хранить их не было, они импортируются из сторонней учётной системы)
проверяйте время от времени целостность данных в бэкапах!
Надеюсь, что теперь вы знаете больше! А если сегодня я не дал вам ничего нового – то просто поинтересуйтесь у вашей команды/подрядчика насчёт того, как дела с бэкапами на вашем проекте!