Системы / Инфраструктура

Облачная платформа

Управление облачным хранилищем из браузера

Разработал S3-модуль целиком: от работы с файлами и настройки хранилищ до загрузки больших файлов и мониторинга использования. Все операции доступны в веб-панели.

S3 · облачная инфраструктура

Моя работа
Разработал S3-интерфейс и участвовал в командной миграции frontend.
Сроки разработки
S3-интерфейс — месяц. Миграцию выполняли пять разработчиков за полгода.

01

Файлы в браузере, без отдельного клиента

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

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

Файловый менеджер S3: загрузка, папки, фильтр и список файлов с размером и датой. Открыть крупнее ↗ Файловый менеджер S3: загрузка, папки, фильтр и список файлов с размером и датой.
Загрузка и навигация по папкам находятся над списком. Действия с файлом — в его строке. Скриншоты текущей версии продукта.

02

Большой файл не приходится отправлять заново

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

Я реализовал отправку частями по 5 МБ. Если одна часть не загрузилась, повторяется только она — уже переданные данные не нужно отправлять снова. Это особенно полезно для больших файлов на нестабильном соединении.

Как устроена отправка частями
  1. Часть 1 · 5 МБ Передана
  2. Часть 2 · 5 МБ Ошибка → повтор этой части
  3. Часть 3 · 5 МБ Передана

Уже переданные части сохраняются. Интерфейс остаётся доступным.

03

Управление хранилищем и доступом

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

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

Настройки доступа к S3: публичное чтение и подключение по FTP и SFTP. Открыть крупнее ↗ Настройки доступа к S3: публичное чтение и подключение по FTP и SFTP.
Переключатели доступа с пояснением последствий для файлов в хранилище.

04

Использование хранилища видно на графиках

Для контроля использования я разработал интерфейс мониторинга. В дашборде видны расход трафика и количество запросов за выбранный период.

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

Дашборд S3 с графиками расхода трафика и количества запросов за месяц. Открыть крупнее ↗ Дашборд S3 с графиками расхода трафика и количества запросов за месяц.
Трафик и обращения к хранилищу за выбранный период.

05

Обновление стека и найм разработчиков

Параллельно команда переводила платформу с CoffeeScript и Marionette на Vue 3, затем на Nuxt и Tailwind. Я участвовал в поэтапном переносе модулей вместе с четырьмя другими разработчиками. Миграция заняла полгода.

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

06

Технологии

  • CoffeeScript / Marionette → Vue 3
  • Nuxt
  • Tailwind
  • S3