LIVE

Системы облачного хранилища: 5 факторов надежности

Отказ одного диска — рядовое событие для большой инфраструктуры, а не катастрофа. Катастрофой он становится только там, где система не рассчитала его заранее: не разнесла данные, не сохранила избыточность, не успела восстановить фрагмент до следующего сбоя.

Обновлено29 июля 2026 г.
Чтение11 мин
Системы облачного хранилища: 5 факторов надежности

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

Облако не является волшебным сейфом. Это инженерная конструкция с понятными допущениями, пределами и компромиссами. Надежность облачных хранилищ складывается минимум из пяти вещей: долговечности данных, схемы избыточности, реальной доступности по SLA, географического распределения и модели шифрования. У каждого слоя — своя работа. И провал одного из них нельзя полностью компенсировать красивыми цифрами в другом.

Математика долговечности: почему 11 девяток стали стандартом индустрии

Долговечность данных, или durability, показывает вероятность того, что объект переживёт год хранения без необратимой потери. У крупных облачных платформ для отдельных классов хранения заявляется уровень 99,999999999% — те самые «11 девяток». В удобном для восприятия масштабе это означает ожидаемую потерю одного объекта из ста миллиардов за год хранения.

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

Каждая дополнительная девятка после запятой уменьшает вероятность потери на порядок. Разница между 99,9% и 99,99% выглядит косметической, пока не перевести её в ожидаемое число инцидентов. Для бизнеса это переход от архитектуры, где сбои предполагаются как регулярная операционная реальность, к архитектуре, где они должны быть редким исключением и автоматически локализоваться внутри платформы.

Здесь полезно не путать два похожих, но принципиально разных понятия. Durability отвечает на вопрос: «Сохранится ли файл?» Availability — на вопрос: «Смогу ли я открыть его прямо сейчас?» Данные могут быть в полной сохранности, но временно недоступны из-за проблем с сетью, DNS, маршрутизацией или отдельным сервисом авторизации. И наоборот: интерфейс хранилища может отвечать, хотя часть объектов уже повреждена и ещё не обнаружена проверками целостности.

11 девяток — не абсолютная гарантия, а инженерный ориентир. Он говорит не о бессмертии файлов, а о том, насколько редко система должна допускать необратимую потерю объекта.

В разговоре о выборе облачного провайдера это различие особенно важно. Команда может увидеть высокий показатель durability и решить, что резервные копии больше не нужны. Это опасная логика. Долговечность платформы защищает от внутренних отказов её инфраструктуры, но не от удаления папки сотрудником, шифровальщика в синхронизируемом каталоге, ошибки в скрипте жизненного цикла или неверно настроенного доступа. Надежное хранилище не отменяет резервное копирование: оно делает сам слой хранения менее вероятной точкой отказа.

Репликация против Erasure Coding: баланс между скоростью и избыточностью

За 11 девятками стоит не магия, а избыточность. Система должна хранить достаточно независимых фрагментов данных, чтобы пережить отказ оборудования и успеть восстановить утраченное до следующего инцидента. На практике в облаках доминируют два подхода: репликация и избыточное кодирование, или Erasure Coding.

Репликация устроена прямолинейно: файл или блок хранится в нескольких копиях. При схеме 3x есть три экземпляра на независимых узлах или в разных отказных доменах. Если один накопитель выходит из строя, сервис читает данные с оставшихся копий и создаёт замену в фоне. Логика проста, чтение быстрое, восстановление относительно несложное — нужно скопировать готовый блок, а не собирать его заново математически.

Erasure Coding действует экономнее. Исходный файл делится на k фрагментов, затем к ним добавляются m блоков чётности. В схеме 8+4 восемь фрагментов содержат исходные данные, ещё четыре нужны для восстановления. Всего система размещает двенадцать частей, но для сборки файла ей достаточно любых восьми. То есть она может пережить одновременную потерю четырёх фрагментов.

ПараметрРепликация 3xErasure Coding 8+4
Избыточность хранения200% сверх исходного объёмаоколо 50% сверх исходного объёма
Допустимый отказ фрагментовдо 2 из 3до 4 из 12
Восстановлениекопирование готовой копиичтение нескольких фрагментов и пересчёт
Нагрузка на процессоры и сетьнижевыше, особенно при rebuild
Типичное применениегорячие данные, активные базы, частые чтенияархивы, резервные копии, крупные массивы объектов

Экономика здесь очевидна. Тройная репликация хранит три полных экземпляра объекта: один полезный и два избыточных. Схема 8+4 хранит двенадцать фрагментов вместо восьми исходных, поэтому требует заметно меньше места. Для многопетабайтного архива разница становится не бухгалтерской деталью, а архитектурным решением.

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

Репликация в этом смысле менее изящна, но часто быстрее в операционной реальности. Поэтому горячий слой — данные, которые постоянно читают и перезаписывают, — нередко строится на репликах. Более холодные объекты затем переводятся в кодированный пул. Так эффективность облачных систем достигается не выбором единственного идеального метода, а разделением данных по характеру использования.

Для прикладной команды вопрос должен звучать не «репликация или кодирование?», а иначе:

  • насколько часто объект читают и меняют;
  • допустима ли более долгая первичная запись;
  • как быстро нужно восстановиться после сбоя;
  • сколько стоит хранение на горизонте нескольких лет;
  • есть ли у данных понятный жизненный цикл, после которого они становятся архивом.

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

SLA и реальность: что скрывается за гарантированным временем доступности

SLA — соглашение об уровне обслуживания — описывает, какой уровень доступности провайдер обязуется поддерживать и что произойдёт при нарушении обещания. В серьёзных облачных сервисах часто встречаются показатели от 99,9% до 99,99%, а для отдельных компонентов — выше. Цифры кажутся почти одинаковыми, пока не перевести их в время.

99,9% доступности допускает до 8,76 часа недоступности в год.

99,99% — до 52,6 минуты.

99,999% — около 7,2 минуты.

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

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

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

Доступность 99,99% — не формула «работает всегда». Это заранее оговорённый бюджет простоя, с которым приложение должно уметь жить.

Поэтому зрелая архитектура не опирается на SLA как на единственную страховку. Она заранее решает, что произойдёт при недоступности одного API, зоны или региона. Где можно показать пользователю сохранённые данные? Какие операции допустимо поставить в очередь? Что случится с записью, если ответ от хранилища не пришёл: она не состоялась или состоялась, но клиент этого не знает?

Именно здесь часто ломается разница между красивым облаком и работающим продуктом. Провайдер может выполнить собственный SLA, но клиентская система всё равно окажется недоступной, если у неё один регион, один балансировщик, один путь авторизации и один синхронный вызов к объектному хранилищу в критическом запросе.

Геораспределенная архитектура как защита от локальных сбоев

«Облако» всегда находится где-то конкретно: в дата-центре, регионе, зоне доступности, на определённой сети и под определённой энергосистемой. У него есть физические границы. Отказ питания, пожар, ошибка обновления сетевого оборудования, авария на магистральном канале или недоступность целой зоны — события разной вероятности, но одной природы: они доказывают, что один адрес размещения не равен отказоустойчивости.

Первый уровень защиты — распределение по зонам доступности внутри региона. Это независимые площадки с отдельными контурами питания, охлаждения и сетевой инфраструктурой, связанными достаточно быстрыми каналами. Если данные и управляющая плоскость сервиса распределены корректно, потеря одной зоны не должна означать потерю объектов.

Но доступность внутри одного региона и сохранность в нескольких регионах — разные задачи. Кросс-региональная репликация размещает копии в географически удалённых локациях. Такой подход полезен, когда неприемлема потеря целого региона или когда бизнесу нужно продолжать работу при масштабной локальной аварии. Цена — дополнительное хранение, межрегиональный трафик, усложнение управления и более трудные вопросы согласованности данных.

У геораспределения есть три постоянных противника:

  • стоимость — каждая реплика, операция и передача между регионами имеют цену;
  • задержка — синхронно подтвердить запись в удалённой точке дольше, чем записать её рядом;
  • согласованность — если два региона принимают изменения, система должна определить порядок версий и правила разрешения конфликтов.

Для архива или резервной копии допустима асинхронная репликация: объект сначала появляется в основном регионе, а затем догоняет вторую площадку. Для части бизнес-операций это тоже приемлемо, если приложение понимает возможное окно отставания. Но там, где две записи не могут существовать в неопределённом порядке — например, в финансовой операции или учёте ограниченного остатка, — архитектуре нужна более строгая модель согласованности, а значит, больше задержек и затрат.

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

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

Шифрование и Zero-knowledge: границы ответственности провайдера

Безопасность облачного хранения данных часто сводят к фразе «всё зашифровано». Она успокаивает, но почти ничего не объясняет. Нужно как минимум различать шифрование при передаче, шифрование при хранении и управление ключами.

Шифрование при передаче защищает трафик между клиентом и сервисом: например, через TLS. Оно снижает риск перехвата данных в сети, но не говорит ничего о том, кто сможет прочитать файл после его сохранения в облаке.

Шифрование at rest защищает данные, лежащие на дисках и в серверных пулах. Обычно для этого используют современные симметричные алгоритмы, включая AES-256. Такой подход важен при физической компрометации оборудования, неправильной утилизации накопителей или изоляции одного из инфраструктурных слоёв. Но ключевой вопрос остаётся прежним: кто контролирует ключи?

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

Zero-knowledge encryption меняет границу. Ключи остаются у пользователя, а провайдер видит только зашифрованные данные. Технически он не должен иметь возможности расшифровать содержимое даже при прямом доступе к хранимым блокам. Это сильная модель конфиденциальности, особенно для чувствительных архивов, юридических документов, исследовательских материалов и данных, которые нельзя раскрывать стороннему оператору.

Но за это приходится платить не только деньгами. Ограничения обычно касаются:

  • поиска по содержимому файлов;
  • серверной индексации и автоматической классификации;
  • генерации превью документов и изображений;
  • интеграций, которым нужен доступ к содержимому;
  • сценариев восстановления, если пользователь потерял ключ или пароль.

Совместный доступ возможен и в zero-knowledge-модели, но он требует отдельной криптографической механики: безопасного обмена ключами, шифрования для конкретных получателей или клиентского приложения, которое умеет расшифровывать данные на стороне участника. Это уже не тот бесшовный сценарий «отправил ссылку — человек открыл файл в браузере», к которому приучили обычные облачные диски.

Сертификации и аудиты тоже имеют значение, но не должны подменять техническую оценку. ISO 27001 показывает наличие системы управления информационной безопасностью. PCI DSS важен в контексте данных платёжных карт. Требования ФСТЭК применимы в российских регулируемых сценариях. А отчёты уровня SOC 2 Type II ценны тем, что оценивают работу контролей на промежутке времени, а не только состояние компании в день проверки.

Сертификат не делает провайдера неуязвимым и не отменяет ответственность клиента за настройки. Утечки в облаке часто происходят не потому, что кто-то взломал шифрование, а потому, что бакет сделали публичным, токен оставили в репозитории, права выдали слишком широкой роли или не включили журналирование.

Zero-knowledge защищает содержимое от самого провайдера, но переносит на пользователя самую тяжёлую обязанность: не потерять ключ и выстроить доступ без возможности позвонить в поддержку за расшифровкой.

Надежность — это не один параметр в карточке сервиса

Все пять факторов работают вместе, но не заменяют друг друга. Хранилище с высокой долговечностью, размещённое в одном регионе, остаётся уязвимым к региональной недоступности. Сервис с идеальной георепликацией не спасёт от массового удаления, если оно реплицируется без версий и задержки. Zero-knowledge не компенсирует слабую дисциплину управления ключами. А высокий SLA не гарантирует, что ваше приложение переживёт сбой без последствий.

Для личных фото, рабочих документов и резервных копий небольшого проекта обычно разумнее не гнаться за максимальным числом функций и девяток, а собрать спокойную схему: надёжный провайдер, включённое версионирование, отдельная резервная копия, многофакторная аутентификация и понятные права доступа. Это даёт больше практической защиты, чем экзотическая криптография, которой никто в команде не умеет пользоваться.

Для критичных бизнес-данных разговор начинается с архитектуры: нужен ли второй регион, какие данные требуют синхронного подтверждения, что именно должно пережить аварию, как проверяется восстановление и кто владеет ключами. Erasure Coding может заметно улучшить экономику больших архивов, но не отменяет необходимости продумать восстановление. Репликация ускоряет работу с горячими данными, но требует платить за ёмкость. Multi-region снижает зависимость от одной площадки, но усложняет согласованность.

Надёжность перестала быть красивой абстракцией из презентации. В хорошей облачной системе она видна в деталях: как быстро обнаруживается повреждённый блок, где лежит вторая копия, что именно покрывает SLA, как устроены ключи и можно ли восстановиться после ошибки человека. Именно по этим вопросам системы облачного хранилища и стоит сравнивать — не по слову «облако» на главной странице.

Частые вопросы

Что означают 11 девяток в характеристиках облачного хранилища?
Это статистическая вероятность того, что объект не будет безвозвратно утерян в течение года. Она отражает надежность всей инфраструктуры, включая диски, серверы и процедуры восстановления.
В чем разница между репликацией и Erasure Coding?
Репликация создает полные копии данных, что обеспечивает высокую скорость чтения и простое восстановление. Erasure Coding делит данные на фрагменты с добавлением блоков четности, что экономит место, но требует больше вычислительных ресурсов при восстановлении.
Гарантирует ли SLA, что сервис никогда не будет недоступен?
Нет, SLA — это юридическое соглашение, определяющее допустимый бюджет простоя и компенсацию в виде сервисных кредитов. Оно не отменяет возможность сбоев и не покрывает реальный ущерб бизнеса.
Защищает ли георепликация от случайного удаления файлов?
Не всегда. Если настройки репликации включают автоматическое удаление версий, то ошибка пользователя мгновенно продублируется во всех регионах.
Какие минусы у шифрования Zero-knowledge?
При такой модели провайдер не может индексировать данные, создавать превью или помогать с восстановлением доступа. Если пользователь потеряет ключ, данные будут безвозвратно утрачены.