Инфраструктура, Новости и обновления

Объектное хранилище: 10 лет эволюции — от масштабирования к отказоустойчивости

Поделиться:
Объектное хранилище: 10 лет эволюции — от масштабирования к отказоустойчивости

Введение

В рамках новой сессии #VeryTechTalk на Twitch Реми (Tech Evangelist) вместе с Антоненом (Product Manager) и Эдуардом (IT Team Leader) обсудили решение OVHcloud для объектного хранения.

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

Как начинался проект

В 2014 году OVHcloud запустила HubiC, потребительский сервис на основе файлового хранилища (NAS), доступный через WebDAV. Модель хорошо работала с малыми объёмами данных, но когда начали поступать терабайты, команда поняла, что масштабирование не поспевает за ростом.

Затем решение перенесли на OpenStack Swift, один из основных компонентов OpenStack. В результате клиенты получили сервис объектного хранения, способный управлять объектами в облачных масштабах.

В 2020 году OVHcloud приобрела OpenIO, стартап, известный своей экспертизой в области S3-совместимого хранения, что дало проекту импульс.

Мы сохранили OpenStack Swift для устаревших сценариев использования, но запустили S3-совместимый сервис для современных нужд, таких как инструменты, CI/CD и AI. Примерно через полтора года после приобретения появился первый S3-совместимый класс, за ним последовали другие (редкого доступа и высокой производительности), сформировав мультиклассовый портфель.

«Нам нужно было быстро создать этот API, так как инструменты S3 стали общепринятым стандартом» – Антонен

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

Сегодня сервис служит опорной точкой для многих внутренних решений: образы инстансов, платформа Logs Data Platform, хранение логов и т. д.

Архитектура и масштабируемость: практически безгранично

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

«Масштабирование должно быть максимально прозрачным. При добавлении диска пользователи не должны замечать падения производительности.» – Эдуард

Тем не менее, этот почти безграничный объём нужно контролировать, улучшать и быть готовым к сбоям, продолжая предоставлять сервис.

Вместо простого копирования данных сервис разделяет каждый объект на фрагменты и добавляет фрагменты чётности (помехоустойчивое кодирование). В случае развёртывания 3-AZ хранилища, если выйдет из строя диск, стойка или целый дата-центр, мы можем использовать оставшиеся биты, чтобы восстановить исходный файл без потерь. И именно здесь объектное хранение раскрывает свои сильные стороны.

В рамках сервиса OVHcloud гарантирует долговечность (целостность данных) и доступность данных (бесперебойный доступ). Клиенты могут выбрать уровень отказоустойчивости, который им нужен: количество копий, асинхронная репликация, версионность и функции object-lock.

Эта детализация помогает клиентам регулировать затраты в зависимости от критичности их данных.

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

Индикаторы производительности и ключевые метрики

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

Частота ошибок: ранний предупреждающий сигнал

Частота ошибок (500/503) — первый индикатор здоровья решения.

SDK настроены на автоматический повтор при всплеске, чтобы пользователь даже не заметил. Эти повторные попытки выполняются на стороне клиента для обеспечения успешного чтения (или записи).

Time-to-First-Byte (TTFB): лучший показатель задержки

TTFB измеряет время доставки первого байта независимо от размера файла.

Медленный TTFB обычно означает, что инфраструктура перегружена или что-то работает неправильно. Команда отслеживает этот KPI в реальном времени, чтобы опережать проблемы. Это надёжный внутренний индикатор производительности и общего состояния платформы.

IOPS в сравнении с ёмкостью диска

Хотя размеры дисков в последние годы увеличились, их IOPS практически не изменились.

Большая ёмкость снижает IOPS на терабайт, поэтому отслеживание этих метрик необходимо для выявления потенциальных замедлений.

Реальные сценарии использования

Сценарий 1: Резервное копирование и архивирование

Клиенты могут выполнять резервное копирование напрямую в бакет, использовать версионность и object lock, а затем восстанавливать данные в несколько кликов. Ленточное архивирование, доступное с 2025 года, стоит около 1–2 евро за ТБ с TTFB примерно в час, что идеально подходит для долгосрочного, соответствующего требованиям хранения.

  • Версионность: сохраняет новую версию при каждом изменении, чтобы ничего не было случайно удалено.
  • Object Lock (неизменяемость): запись один раз, чтение много раз для защиты от программ-вымогателей.

Сценарий 2: Big Data и AI

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

Сценарий 3: Внутренние сервисы OVHcloud

Объектное хранение становится более доступным для более широкого круга пользователей. Логично, чтобы продукты OVHcloud максимально использовали возможности этой технологии.

Фактически, оно поддерживает множество сервисов, включая образы инстансов, логи Logs Data Platform и хранение холодных данных.

Дорожная карта и будущие инновации

Object Storage 2.0

Переработанный бэкенд (кодовое название Object Storage 2.0) в настоящее время находится в закрытой бета-версии. Цель — избавиться от мягких ограничений, достичь максимально низкого TTFB и обеспечить максимальную производительность для клиентских приложений с тысячами мелких файлов.

Прозрачность через опубликованную дорожную карту

Все обновления публикуются на GitHub OVHcloud. Пользователи могут отслеживать тикеты, оставлять комментарии и регистрироваться на бета-версии на нашем сервере Discord.

Подводя итог…

Объектное хранение OVHcloud прошло долгий путь и теперь представляет собой мультиклассовую платформу, способную управлять сотнями тысяч дисков, обеспечивая при этом надёжную отказоустойчивость. Интеграция OpenIO теперь включает S3-совместимый API, чтобы соответствовать рыночному спросу на интероперабельность. А благодаря помехоустойчивому кодированию, версионности, object-lock и опциям репликации клиенты могут настраивать долговечность и доступность данных в рамках своего бюджета.

У вас есть облачный проект или требуется масштабное резервное копирование? Попробуйте OVHcloud Object Storage прямо сейчас. Ознакомьтесь с различными стратегиями отказоустойчивости и расскажите нам, что вы думаете — ваш опыт может помочь развитию IT-сообщества.

Была ли эта статья полезной? Вы можете посмотреть полное видео, из которого взят этот отрывок, на нашем YouTube-канале: https://www.youtube.com/watch?v=KmS0YhjuYZc

Объектное хранилище: 10 лет эволюции — от масштабирования к отказоустойчивости