S3 на вашем ноутбуке? Это меняет всё (MinIO)

BBetter Stack
Computing/SoftwareSmall Business/StartupsInternet Technology

Transcript

00:00:00Счета за S3 могут стать слишком дорогими; приложения генерируют столько данных, что каждая загрузка и скачивание
00:00:05могут стать неподъемными. И большинство разработчиков думают, что объектное хранилище — это только облако.
00:00:09Но это не всегда так. Что если бы вы могли запустить S3-совместимое хранилище прямо на своем ноутбуке?
00:00:15Именно здесь на помощь приходит MinIO. Оно быстрое, S3-совместимое и работает практически везде,
00:00:20даже локально на вашем Mac. В следующие несколько минут я покажу вам три вещи.
00:00:25Как его настроить и запустить, почему разработчики его используют, и реальность подобных инструментов.
00:00:30[МУЗЫКА]
00:00:35Если вы пытаетесь сократить расходы на облако или облегчить разработку, это может избавить вас
00:00:39от головной боли. Вот что это решает на самом деле. Большинство команд сталкиваются с теми же тремя
00:00:45проблемами. Облачные счета трудно предсказать. Данные находятся слишком далеко от приложения,
00:00:51и задачи ИИ требуют быстрого локального хранилища. MinIO дает нам другой вариант. Мы получаем
00:00:57совместимость с S3, высокую производительность и полный контроль без зависимости от облака.
00:01:01Оно отлично подходит для локальной разработки, прототипов, RAG-пайплайнов, медиа и бэкапов. И да,
00:01:07вы можете запустить все это локально, без VPS и облачного аккаунта. Теперь небольшое уточнение:
00:01:12GitHub-репозиторий теперь архивирован и находится в режиме поддержки. Так что использовать его вечно нельзя.
00:01:17Они сместили фокус с MinIO на MinIO AIStore, но само хранилище по-прежнему доступно.
00:01:24Мы можем использовать это еще долго с реальной пользой. Если вам нравятся инструменты,
00:01:29ускоряющие рабочий процесс, подписывайтесь. У нас постоянно выходят новые видео.
00:01:32Итак, позвольте показать, как это просто. У меня MinIO запущен в Docker-контейнере
00:01:37здесь на моем M4 Pro. Сначала я подключаюсь и выполняю команду «mc alias set local».
00:01:44Я добавлю свой localhost и пока использую стандартные учетные данные. Затем я могу создать бакет:
00:01:50«mc mb local/demo-bucket», назовем его так. И затем я просто начну загружать файлы:
00:01:55изображение, текст, JSON. Сначала картинку, потом легкий текстовый файл.
00:02:02И наконец, давайте добавим немного данных в формате JSON. Теперь выведем список — готово.
00:02:08Чистая структура, как в S3. А теперь часть, которая волнует большинство из нас.
00:02:14Я запускаю этот Python-скрипт, и он использует Boto3 — тот же стиль кода, что и в AWS. Никаких изменений.
00:02:22В браузере всё доступно на localhost. Открываю бакет, могу развернуть папки.
00:02:27Кликаю на изображение — и вот предпросмотр. Ощущается как S3, но работает на вашем ноутбуке.
00:02:33Так что же такое MinIO на самом деле? По сути, это сервер объектного хранилища, который понимает
00:02:39Amazon S3 API. Вы сохраняете все свои знания. Те же SDK, те же команды,
00:02:46ту же ментальную модель, но вместо привязки к AWS всё работает там, где вы захотите.
00:02:53Docker, Kubernetes, «голое железо», edge или просто ваш ноутбук. И сейчас это важнее,
00:02:59чем раньше, потому что с каждым годом наши приложения потребляют всё больше данных.
00:03:05Ведь когда ваш компьютер здесь, а данные где-то еще, мы платим за это огромные деньги,
00:03:10теряя в задержках и облачных расходах. MinIO всё меняет. Оно приближает хранилище к месту
00:03:17выполнения работы. Поэтому такая настройка полезна для разработки и тестирования. Не для продакшена,
00:03:22но для этих двух целей она хороша. В моем случае локальный запуск идеален для
00:03:27создания и отладки тяжелых приложений перед их выводом в продакшен. Конечно, есть и
00:03:33другие варианты. С AWS S3 вы получаете полностью управляемое хранилище и огромный масштаб.
00:03:40Но расплата за это — стоимость, комиссии и привязка к экосистеме AWS. С Ceph вы получаете
00:03:46отличное масштабируемое решение, но оно сложнее в управлении. Больше подвижных частей и накладных расходов.
00:03:52Типичный сценарий может выглядеть так: MinIO локально для разработки, MinIO или S3 для
00:03:57стейджинга в облаке и продакшена. Это работает, так как локальная среда соответствует модели S3,
00:04:03которую использует ваше приложение. Если у вас много данных, MinIO просто имеет смысл
00:04:10на этапе разработки. Теперь давайте будем честными. Стоит ли вам это использовать?
00:04:15Его легко развернуть (один бинарник или Docker), отличная совместимость с S3, и оно очень быстрое.
00:04:21Если вы перемещаете много данных, отсутствие платы за исходящий трафик — большая победа.
00:04:26Но вот в чем дело: open-source версия MinIO, которую вы видите, бесплатна под лицензией AGPL v3.
00:04:33Она хорошо подходит для демо, локальной разработки и прототипов. Но повторюсь: они
00:04:38сместили фокус на MinIO AIStore. Там есть бесплатный уровень для одного узла,
00:04:43но вводятся платные уровни для кластеризации, высокой доступности и прочих функций.
00:04:48Для обучения, локальной разработки и малых проектов — это круто. Это хорошо. Но для
00:04:53продакшен-кластеров вам, скорее всего, понадобится AIStore или альтернативы вроде Ceph или Garage.
00:04:59Это стоит того, если вы в процессе локальной разработки или экспериментов, но, возможно,
00:05:04не тогда, когда нужна полностью управляемая инфраструктура или высокая доступность «из коробки».
00:05:11Бесплатное MinIO или AIStore дает вам хранилище в стиле S3, мощную производительность и полный контроль
00:05:16над данными без необходимости платить облачную наценку прямо сейчас. И вы можете попробовать это
00:05:21на своем ноутбуке, как это сделал я. Если вам нравятся инструменты с открытым кодом и советы по кодингу,
00:05:25подписывайтесь на канал Better Stack. Увидимся в следующем видео!

Key Takeaway

Развертывание MinIO в Docker-контейнере на локальном компьютере позволяет разработчикам использовать инфраструктуру S3 без облачных затрат и сетевых задержек, сохраняя при этом идентичность программного кода для AWS.

Highlights

MinIO обеспечивает полную совместимость с S3 API, позволяя использовать библиотеку Boto3 и стандартные SDK без изменения кода.

Локальный запуск объектного хранилища в Docker-контейнере на ноутбуке устраняет задержки сети и расходы на исходящий трафик при разработке.

Открытая версия MinIO распространяется под лицензией AGPL v3 и подходит для прототипирования, RAG-пайплайнов и резервного копирования.

Использование локального S3-совместимого хранилища исключает непредсказуемые счета за облачные услуги при работе с большими объемами данных.

Разработчики могут настраивать псевдонимы доступа через команду mc alias set local для управления бакетами и файлами из терминала.

Переход фокуса разработки на MinIO AIStore вводит платные уровни для функций высокой доступности и кластеризации в продакшене.

Timeline

Проблемы облачных хранилищ и локальное решение

  • Облачные счета за S3 становятся неподъемными из-за огромного объема данных в современных приложениях.
  • MinIO предлагает S3-совместимое хранилище, которое работает локально на macOS, Windows или Linux.
  • Локальная работа с данными критически важна для задач ИИ и RAG-пайплайнов, требующих минимальных задержек.

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

Статус проекта и техническая настройка

  • Основной репозиторий MinIO на GitHub переведен в режим поддержки из-за смещения фокуса на продукт AIStore.
  • Команда mc alias set local настраивает доступ к локальному серверу через стандартные учетные данные.
  • Python-скрипты с использованием Boto3 работают с локальным бакетом без внесения правок в логику обращения к API.

Процесс настройки включает запуск контейнера Docker на оборудовании вроде M4 Pro и создание бакета через команду mc mb. Структура хранения полностью повторяет иерархию S3, включая поддержку папок и предпросмотр файлов в браузере. Это позволяет тестировать загрузку изображений, JSON и текстовых файлов в среде, идентичной целевой.

Архитектура и сравнение с альтернативами

  • MinIO выступает в роли сервера, который переводит запросы S3 API в локальные операции хранения.
  • Инструмент поддерживает развертывание на Kubernetes, «голом железе» и edge-устройствах.
  • Ceph предоставляет масштабируемость, но требует значительно больше ресурсов на управление и настройку.

Главная ценность заключается в сохранении ментальной модели и навыков работы с AWS S3 при полной независимости от провайдера. При использовании AWS S3 разработчик платит за управление и масштаб, но теряет гибкость и средства на комиссиях. Оптимальный сценарий предполагает использование MinIO для разработки и стейджинга, что гарантирует соответствие сред.

Лицензирование и границы применимости

  • Бесплатная версия под AGPL v3 идеально подходит для обучения и малых проектов.
  • Для работы в продакшене с высокой доступностью требуется переход на платный уровень MinIO AIStore.
  • Отсутствие платы за трафик при перемещении больших массивов данных является ключевым преимуществом перед облаком.

MinIO поставляется в виде одного бинарного файла или Docker-образа, что упрощает развертывание. Хотя проект сместил приоритеты в сторону AIStore с платными функциями для кластеров, базовая функциональность остается доступной для индивидуального использования. Это позволяет получить мощное хранилище без облачной наценки на этапе экспериментов и создания прототипов.

Community Posts

View all posts