bel1k0v 12 мая 2025 в 21:02 MSK
156 просмотров

Как я строил частное облако: опыт, боль и архитектура

Отказ от ответственности

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

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

Прочтение статьи осуществляется на ваш страх и риск. Все персонажи и события реальны. Все трюки выполнены профессионалом.

Введение

В конце 2021 года мне предложили заняться проектом по созданию частного облака. Ключевой вопрос на собеседовании звучал просто: «Знаешь Ruby on Rails?» — знал. Недолго думая, я согласился.

Первый этап: на старте было любопытно

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

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

Импортозамещение и тесты на прочность

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

Летом 2023 в команду пришёл новый менеджер проекта. Его методы оказались специфическими: контроль без участия, Jira без структуры, коммуникации без содержания. В этот момент фронтендер ушёл, а менеджер начал "строить" команду из случайных людей.

Дальше — зоопарк

Её стали пополнять сотрудники с неожиданными повадками. Один не слышал задач, другой практически ничего не говорил. Сисадмин сгорел и ушёл, пока менеджер формально закрывал потребности и создавал имитацию бурной деятельности: Jira создавалась 3 месяца, задачи не имели чёткого описания, связи между компонентами рвались.  Архитектор, появившийся позже, оказался фигурой номинальной. Роль CTO обещалась, но на деле не поддерживалась решениями или ответственностью.

Параллельно инфраструктура развивалась: я сопровождал appliance'ы MIQ, настраивал Automation Engine, LDAP, Service Dialogs и авторский портал с REST-интерфейсом и интеграциями. Но коммуникация в команде деградировала полностью.

Осень: договор закончился, результата — нет

К моменту окончания контракта было реализовано менее половины заявленного в ТЗ. Время ушло, проект висел, команда демотивирована, а Jira-отчёты стали заменой реальной работе. «Архитектор» даже решила «слить» инсайды, в том числе — любимую книгу менеджера: «7 навыков высокоэффективных людей». Ожидание и реальность.

Новый год и повторный виток

После новогоднего перерыва попытки инициировать конфликт стали инструментом управления. Один из эпизодов — попытка передачи претензий в HR от имени менеджера, которая рассыпалась при проверке. Работа не остановилась, но степень доверия в команде упала до нуля.

Что работает — архитектура

Несмотря на весь управленческий хаос, техническая часть живёт:

  • 2 инстанса ManageIQ
  • Прод и пре-прод окружение
  • Подключение к oVirt (3 провайдера), vCenter
  • 5000+ ВМ
  • Automation Engine, LDAP, AWX, Netbox
  • Клиентский портал на Laravel + Vue.js, интеграция с MIQ API и Netbox API
  • Использование Service Dialogs и каталогов

Платформа эксплуатируется, пользователи работают, инфраструктура поддерживается.

Выводы

  • Можно построить рабочее частное облако на ManageIQ, если знаешь, что делаешь.
  • Один токсичный и некомпетентный участник может уничтожить весь процесс — особенно если это менеджер.
  • Слабую команду не спасает даже хороший бюджет.
  • HR может быть инструментом давления, если процесс — не прозрачный, а вы пренебрегаете тем, что можете и должны отстаивать свои права.

Хотите повторить?

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