Системы / Инфраструктура
Облачная платформа
Управление облачным хранилищем из браузера
Разработал S3-модуль целиком: от работы с файлами и настройки хранилищ до загрузки больших файлов и мониторинга использования. Все операции доступны в веб-панели.
S3 · облачная инфраструктура
- Моя работа
- Разработал S3-интерфейс и участвовал в командной миграции frontend.
- Сроки разработки
- S3-интерфейс — месяц. Миграцию выполняли пять разработчиков за полгода.
01
Файлы в браузере, без отдельного клиента
Чтобы загрузить файл в S3-хранилище или скачать его, пользователю больше не нужно устанавливать и настраивать отдельную программу. Я разработал файловый менеджер прямо в панели управления облаком.
В нём можно загружать файлы, создавать папки и переходить между ними. В списке видны размер и дата изменения каждого файла; фильтр помогает найти нужный, а скачивание доступно рядом с ним.
02
Большой файл не приходится отправлять заново
Загрузка идёт в фоне и не блокирует интерфейс: пользователь может продолжать работать с хранилищем, пока отправляются данные.
Я реализовал отправку частями по 5 МБ. Если одна часть не загрузилась, повторяется только она — уже переданные данные не нужно отправлять снова. Это особенно полезно для больших файлов на нестабильном соединении.
- Часть 1 · 5 МБ Передана
- Часть 2 · 5 МБ Ошибка → повтор этой части
- Часть 3 · 5 МБ Передана
Уже переданные части сохраняются. Интерфейс остаётся доступным.
03
Управление хранилищем и доступом
Кроме файлового менеджера, было реализовано создание, настройка и удаление бакетов — отдельных хранилищ файлов. Пользователь управляет ими из веб-панели.
Настройки доступа собраны отдельно от самих файлов. В текущем интерфейсе можно управлять публичным чтением по ссылке и доступом по FTP и SFTP. Пояснения рядом с переключателями показывают, что изменится для содержимого хранилища.
04
Использование хранилища видно на графиках
Для контроля использования я разработал интерфейс мониторинга. В дашборде видны расход трафика и количество запросов за выбранный период.
Графики позволяют увидеть, когда к хранилищу обращались чаще и как менялся объём передаваемых данных. За статистикой не нужно обращаться к отдельному инструменту.
05
Обновление стека и найм разработчиков
Параллельно команда переводила платформу с CoffeeScript и Marionette на Vue 3, затем на Nuxt и Tailwind. Я участвовал в поэтапном переносе модулей вместе с четырьмя другими разработчиками. Миграция заняла полгода.
До перехода подходящих специалистов было трудно найти, и новичков приходилось обучать устаревшему стеку. После перехода команда могла нанимать разработчиков с уже актуальными для проекта навыками. S3-модуль я разработал самостоятельно за месяц.
06