В чем разница между размещением Redmine на локальном хостинге и в облаке? Мы попросили Андрея Решетова, технического эксперта Redmine и человека, стоящего за технической стороной RedmineUP Cloud, поделиться своим мнением. .
Если говорить коротко, то это зависит от размера вашей компании, целей и потребностей вашего проекта, вашего бюджета и имеющихся ресурсов. Я предлагаю вам основывать свое решение на расчете TCO, чтобы понять, какой вариант окажется лучшим в перспективе 3-5 лет, или на временных рамках вашего проекта.
Часто стоимость размещения на локальном хостинге кажется выгодно низкой, но в долгосрочной перспективе она может оказаться неподъемной.
Совокупная стоимость владения помогает выявить затраты, которые часто скрыты или могут показаться не имеющими прямого отношения к делу (например, затраты на безопасность, электроэнергию, инфраструктуру или обучение).
Даже для программного обеспечения с открытым исходным кодом естественно арендовать сервер или хостинг у внешнего провайдера. Однако, если вы будете искать несколько доступных хостинг-провайдеров, это скорее доставит вам головную боль, чем поможет принять решение.
Итак, прежде чем перейти к деталям, давайте сделаем шаг назад. В чем преимущества облачной инфраструктуры перед локальным хостингом?
[Андрей Решетов:] Существует два типа преимуществ облачного хостинга перед самостоятельным хостингом.
Во-первых, технические преимущества:- Для этого вам не нужен пустой сервер.
- Вам не нужен высокоскоростной Интернет
- Вам не нужен сервер резервного копирования (потому что резервные копии должны храниться отдельно от основных сервисов)
- Вам не нужен DevOps для настройки/обновления/мониторинга вашего сервера
- Вам не нужно покупать подписку на плагин, чтобы получать все новые версии и функции.
- Вам не придется обновлять версии Redmine или плагинов, а также самостоятельно устранять проблемы, связанные с обновлением.
- Вам не нужно бегать с криками "Аххх, мы все умрем!", если что-то пойдет не так (смеется), так как на облачном сервере команда технического сопровождения исправит это за вас
Вы потратили последние несколько лет на создание готового решения для хостинга Redmine. Но давайте оставим в стороне особенности плагина RedmineUP и сосредоточимся на технической стороне - как вы построили архитектуру системы, чтобы обеспечить оптимальные параметры. Ваша структура не соответствует ни однопользовательской, ни многопользовательской архитектуре.
[АР:] Это потому, что мы разработали структуру Hybrid-Tenant, которая сочетает в себе лучшее из двух структур. Мы используем инфраструктуру серверов AWS (Amazon) с установленным на них облаком Kubernetes Cloud. Для каждого клиента, который создает новый экземпляр, мы автоматически создаем отдельный виртуальный сервер (VS) с персональными настройками. Кроме того, у нас есть центральный облачный веб-сервер, основной задачей которого является маршрутизация и балансировка веб-трафика для всех клиентских VS, и облачный почтовый сервер, который принимает и резервирует электронную почту для всех облачных экземпляров. Кроме того, все экземпляры контролируются и отслеживаются с главного сервера.
Переходите на готовый хостинг Redmine
Не тратьте время на поддержку своего Redmine. Наймите экспертов и сфокусируйтесь на своих проектах
Благодаря такому подходу мы получаем стабильность и безопасность однопользовательской структуры при высокой производительности и простоте обновления многопользовательской структуры. Это намного эффективнее и экономичнее.
Чем облако отличается от публичных облачных серверов или платформ, таких как Bitnami, чистый Amazon или DigitalOcean?
[АР:] Все эти сервисы - это аренда хостинга серверов. Вы можете арендовать там виртуальный сервер, но вам все равно придется установить на него Redmine, плагины и т.д., а затем настроить резервное копирование и параметры электронной почты. В общем - эти сервисы решают вашу проблему с пустым сервером, но не решат вашу проблему с отсутствием DevOps.
Какую основную разницу видят конечные пользователи, тестируя Redmine на собственном хостинге по сравнению с открытым хостингом и RedmineUP Cloud?
[АР:] Если они хотят протестировать наш хостинг, есть бесплатная пробная версия. Если они протестируют его на местном экземпляре с полным пакетом плагинов RedmineUP, то для конечного пользователя не будет никакой видимой разницы. Как я уже говорил ранее, сравнивая любой из первых двух вариантов с публичным хостингом, они увидят более низкую производительность.
Что если у компании уже есть Redmine в публичном облаке или "Bitnami Redmine": и она хочет перейти на новейший Redmine в облаке - сложно ли будет осуществить миграцию?
[АР:] Нет. Клиенты могут либо поделиться с нами файлами Redmine вместе с резервной копией БД, и мы восстановим их на новом облачном экземпляре. Или же, если они не знают, где их можно найти, достаточно поделиться с нами доступом к серверу - мы сами найдем и перенесем данные.
Какая часть процесса является самой трудной?
[АР:] Для нас самым сложным является перенос дампа БД на PostgreSQL, если до этого клиент использовал другую БД. Однако я уже выполнял такие миграции на Redmine для наших клиентов с помощью Марата.
На какие элементы пользователи обычно не обращают внимания при рассмотрении облачных и локальных решений??
[АР:] Все обслуживание Redmine, которое мы берем на себя. То есть, резервное копирование базы данных, файлов и электронной почты. Мониторинг серверов, запись, отслеживание и хранение журналов, обновление Redmine и плагинов, а также остальная поддержка конечных пользователей.
PПочему люди переходят на облачные технологии??
[АР:] Основная цель перехода от самостоятельного хостинга экземпляра Redmine к облаку - снять отдельные риски с плеч вашего бизнеса.
Представим, что однажды ваш локальный сервер сломался. Вам потребуется новый пустой сервер, новое развертывание Redmine, а затем восстановление дампа базы данных и файлов.
Однако у вас нет нового сервера, процесс утверждения покупки занимает несколько дней, серверы не готовы, DevOps в отпуске, а когда вы пишете на странице сообщества, вы не получаете никаких ответов.
Переходите на готовый хостинг Redmine
Не тратьте время на поддержку своего Redmine. Наймите экспертов и сфокусируйтесь на своих проектах
В RedmineUP Cloud, если основной сервер видит, что с экземпляром что-то не так, он просто перемещает его на другой сервер без паузы для клиента. Таким образом, проблема решена.
Кроме того, если вы хотите обновить плагины или Redmine, вам нужно быть очень осторожным, потому что не все изменения могут быть откачены, и если что-то пошло не так - вам нужно восстановить сервер из резервной копии и попробовать снова.
Опять же, в RedmineUP Cloud - мы готовим образ сервера с последним стабильным Redmine и плагинами для каждого клиента и тестируем обновленную среду в песочнице, прежде чем применять какие-либо значительные изменения. Однако, если после развертывания появляется какая-либо ошибка - мы можем очень быстро вернуться к предыдущему образу, исправить ошибку и снова внедрить новый образ.
Таким образом, в конце концов, как менеджер или владелец бизнеса, это избавит вас от необходимости тратить много человеко-часов и убережет от потенциальных расходов, опустошающих кошелек.