Кампусна Ферма — различия между версиями

Материал из Брацка Правки
Перейти к: навигация, поиск
(Объёмы работ)
Строка 1: Строка 1:
 +
        >І в мене питання по сторінці Брацки Фермы ... Там є пункт Сетевой администратор (ProxmoxVE) - ви казали шо сисадмін нам не треба, чи треба там приклад оголошення? ... І там де  Перечень проектов - не зовсім розумію Ваші позначення
 +
 +
 +
    Брацки Фермы -- это много проектов, один из которых -- почта, несколько касаются кластеров баз данных, ещё как минимум один -- отказоустойчивости наших виртуальных серверов (которые мы арендуем, не нашего железа), один будет посвящён Жици и так далее. У Вас два текущих проекта -- Кампусны Кластер и то сообщество, которое мы пока не обозвали :)
 +
 +
    И ещё. Я убрал имена подрядчиков с вики-страниц, они нам на публикацию разрешений не давали. С юридической точки зрения, Вы нарушили наш контракт, опубликовав конфиденциальную информацию наших подрядчиков :)
 +
 +
Если они ничего не добавляют на Правку, не обязательно. Мой собственный поиск постоянно добавлял нечто на Правку. Из моего опыта, найм людей -- отличный способ узнать о теме. Что касается Aliwardana, я согласен начать сейчас -- что надо от нас, кроме присуждения ему контракта? Как практически мы выберем ноды?
 +
 +
 +
                                Исходя из сегодняшних разговоров, я предлагаю действовать сразу в трёх направлениях и, через пару-тройку месяцев, оценить, где удвоить усилия, а какие надежды отставить.
 +
 +
                                1. Подключение экспертов
 +
 +
                                Для оценки существующей разработки и её документации, Каролина организует консультации с экспертами. На данный момент, их двое -- Джозеф и Ненад. Я отправил обоим такие емейлы --
 +
 +
                                So, we plan to start consultation sessions, let say, at 2pm New York time on the first/second and thord/fourth Wednesdays every month. If it works for you, the participants would be me, Natalia (who is our major tech lady), and project coordinator or coordinators. Natalia's English is limited, so I can interpret. We should be able to share our screen.
 +
 +
                                Again, if it works for you, do you have proposals on the videoconferencing software that we can use?
 +
 +
                                Никто по-русски не говорит, документацию для них надо перевести хотя бы в каком-то объёме. Об их ответах я проинформирую дополнительно.
 +
 +
                                2. Поиск подрядчиков
 +
 +
                                Для ускорения проекта, я предлагаю найти подрядчиков на новый кластер или пару их. Каролина подготовит объявление на разовую работу, которое мы вместе поставим на upwork
 +
 +
                                Если кластер из существующего железа собрать невозможно, я думаю отказаться от второго сервера и хранилища, оставив первый сервер на Опытно Облако (где отказоустойчивость не обязательна, так как мы будем использовать его для экспериментов). Подрядчики соберут один или два меньших кластера на железе, куда мы поставим основные приложения, ну а отказоустойчивости остальных мы будем добиваться на VPS-ках.
 +
 +
                                3. Организация мероприятий для интересующихся
 +
 +
                                На базе сообщества на Сетке, я предлагаю Каролине организовать еженедельные встречи интересующихся этим проектом. Объявления мы можем поставить на rabota.ua/work.ua -- из-за войны, многие системные администраторы в Украине просто не знают, чем заняться. На встречи мы будем готовить 2-3 доклада о наших достижениях и задачах.
 +
 +
                                Эти мероприятиями мы воспользуемся для рекрутинга экспертов, подрядчиков и координаторов.
 +
 +
                                    Давайте вместе подналяжем на проект отказоустойчивости. Прежде всего, нам нужна документация на то, что есть, и то, что не получается. Какая схема была выбрана и где получилась загвоздка? Может, купленное железо в принципе не подходит?
 +
 +
                                    Каролина, я планирую, что Вы организуете видеоконференции в 2 часа дня по средам (или другое время) для обсуждения документации. На встречи будем приглашать экспертов -- двоих я отобрал на upwork. Возможно, сделаем попеременно -- одного в одну неделю, другого в другую и так далее. Впрочем, лучше попробовать несколько вариантов.
 +
 
[[Кампусны Кластер]] -- это отказоустойчивый ([[high availability]]) кластер (здесь и далее по тексту -- ''Кластер'') на основе трёх "физических" ([[bare metal]]) узлов (здесь и далее по тексту -- ''Желез'') [[Брацки Фермы|Брацких Ферм]] (здесь и далее по тексту -- ''Ферм''), который обеспечивает высокую доступность услуг, предположительно, [[Брацка Правка|Брацкой Правки]] и [[Брацка Учебка|Брацкой Учебки]]. Оба приложения принадлежат [[Брацки Кампус|Брацку Кампусу]], однако их номенклатура и, соответственно, название ''Кластера'' могут измениться в результате его разработки.
 
[[Кампусны Кластер]] -- это отказоустойчивый ([[high availability]]) кластер (здесь и далее по тексту -- ''Кластер'') на основе трёх "физических" ([[bare metal]]) узлов (здесь и далее по тексту -- ''Желез'') [[Брацки Фермы|Брацких Ферм]] (здесь и далее по тексту -- ''Ферм''), который обеспечивает высокую доступность услуг, предположительно, [[Брацка Правка|Брацкой Правки]] и [[Брацка Учебка|Брацкой Учебки]]. Оба приложения принадлежат [[Брацки Кампус|Брацку Кампусу]], однако их номенклатура и, соответственно, название ''Кластера'' могут измениться в результате его разработки.
  
Строка 20: Строка 58:
  
 
==Поиск подрядчиков==
 
==Поиск подрядчиков==
Для ускорения проекта, мы ищем подрядчиков на новый кластер или пару их. Объявление на разовую работу опубликовано на upwork, Каролина назначена рекрутером, заявки приходят. Нам треба кластер з нуля и мы возьмём тех, кто сможет это сделать и чей бюджет будет наименьший.
+
Для ускорения проекта, мы ищем подрядчиков на новый кластер или пару их. Объявление на разовую работу опубликовано на upwork, Каролина назначена рекрутером, заявки приходят.
  
Имеется в виду весь бюджет, включая и оплату подрядчиков, и расходы на покупку и ежегодного поддержания ''Кластера''.
+
===Принцип отбора===
 
+
Нам треба кластер з нуля и мы возьмём тех, кто сможет это сделать и чей бюджет будет наименьший. Имеется в виду весь бюджет, включая и оплату подрядчиков, и расходы на покупку и ежегодного поддержания ''Кластера''.
Если кластер из существующего железа собрать невозможно, я думаю отказаться от второго сервера и хранилища, оставив первый сервер на Опытно Облако (где отказоустойчивость не обязательна, так как мы будем использовать его для экспериментов). Подрядчики соберут один или два меньших кластера на железе, куда мы поставим основные приложения, ну а отказоустойчивости остальных мы будем добиваться на VPS-ках.
 
  
 +
===Предложения услуг===
 
Во время поиска подрядчика были предложены такие варианты:
 
Во время поиска подрядчика были предложены такие варианты:
 
;MA1.
 
;MA1.
Строка 41: Строка 79:
  
 
===Распределение обязанностей===
 
===Распределение обязанностей===
Заказчик платит за ''Кластер'' и согласовывает эту вики-страницу перед присуждением подряда. Отрабатывать проект, в том числе, документируя требования на этой вики-странице и ставя задачи подрядчику, должен координатор. По доброте душевной и в тренировочных целях, заказчик может временно делать работу координатора до той поры, пока заказчик верит в то, что координатор когда-то сможет работать самостоятельно :)
+
Заказчик платит за ''Кластер'' и согласовывает эту вики-страницу перед присуждением подряда. Заказчик подразумевает, что координатор отработает проект, в том числе, документируя требования на этой вики-странице и ставя задачи подрядчику. По доброте душевной и в целях профессиональной подготовки, заказчик может делать работу координатора временно до той поры, пока заказчик верит в то, что координатор когда-то сможет работать самостоятельно :)
  
 
===Как не надо===
 
===Как не надо===
Строка 49: Строка 87:
  
 
===Как надо===
 
===Как надо===
#Oпределить, что мы должны получить (так называемый "объём работ")
+
#Oпределить, что мы должны получить (так называемые "[[#Объёмы работ|Объёмы работ]]")
#Oпределить, как мы узнаем, получили ли мы то, что были должны (так называемые "критерии приемлемости" и "приёмочный тест")
+
#Oпределить, как мы узнаем, получили ли мы то, что были должны (так называемая [[#Приёмка|Приёмка]])
 
#Далее всё по рубрике [[#Как не надо|Как не надо]]
 
#Далее всё по рубрике [[#Как не надо|Как не надо]]
  
Строка 67: Строка 105:
  
 
===Объёмы работ===
 
===Объёмы работ===
 +
Что подрядчик нам представит (aka что будет объектом приёмки)?
 +
 
Сетка
 
Сетка
  
 
===Приёмка===
 
===Приёмка===
 +
Как мы убедимся в том, что то, что представлено -- это то, что нам надо (aka что будет критериями приемлемости и как мы будем проводить приёмочное тестирование)?
  
 
==Полезные рекоммендации==
 
==Полезные рекоммендации==

Версия 12:35, 1 июля 2022

       >І в мене питання по сторінці Брацки Фермы ... Там є пункт Сетевой администратор (ProxmoxVE) - ви казали шо сисадмін нам не треба, чи треба там приклад оголошення? ... І там де  Перечень проектов - не зовсім розумію Ваші позначення


   Брацки Фермы -- это много проектов, один из которых -- почта, несколько касаются кластеров баз данных, ещё как минимум один -- отказоустойчивости наших виртуальных серверов (которые мы арендуем, не нашего железа), один будет посвящён Жици и так далее. У Вас два текущих проекта -- Кампусны Кластер и то сообщество, которое мы пока не обозвали :)
   И ещё. Я убрал имена подрядчиков с вики-страниц, они нам на публикацию разрешений не давали. С юридической точки зрения, Вы нарушили наш контракт, опубликовав конфиденциальную информацию наших подрядчиков :)

Если они ничего не добавляют на Правку, не обязательно. Мой собственный поиск постоянно добавлял нечто на Правку. Из моего опыта, найм людей -- отличный способ узнать о теме. Что касается Aliwardana, я согласен начать сейчас -- что надо от нас, кроме присуждения ему контракта? Как практически мы выберем ноды?


                               Исходя из сегодняшних разговоров, я предлагаю действовать сразу в трёх направлениях и, через пару-тройку месяцев, оценить, где удвоить усилия, а какие надежды отставить.
                               1. Подключение экспертов
                               Для оценки существующей разработки и её документации, Каролина организует консультации с экспертами. На данный момент, их двое -- Джозеф и Ненад. Я отправил обоим такие емейлы --
                               So, we plan to start consultation sessions, let say, at 2pm New York time on the first/second and thord/fourth Wednesdays every month. If it works for you, the participants would be me, Natalia (who is our major tech lady), and project coordinator or coordinators. Natalia's English is limited, so I can interpret. We should be able to share our screen.
                               Again, if it works for you, do you have proposals on the videoconferencing software that we can use?
                               Никто по-русски не говорит, документацию для них надо перевести хотя бы в каком-то объёме. Об их ответах я проинформирую дополнительно.
                               2. Поиск подрядчиков
                               Для ускорения проекта, я предлагаю найти подрядчиков на новый кластер или пару их. Каролина подготовит объявление на разовую работу, которое мы вместе поставим на upwork
                               Если кластер из существующего железа собрать невозможно, я думаю отказаться от второго сервера и хранилища, оставив первый сервер на Опытно Облако (где отказоустойчивость не обязательна, так как мы будем использовать его для экспериментов). Подрядчики соберут один или два меньших кластера на железе, куда мы поставим основные приложения, ну а отказоустойчивости остальных мы будем добиваться на VPS-ках.
                               3. Организация мероприятий для интересующихся
                               На базе сообщества на Сетке, я предлагаю Каролине организовать еженедельные встречи интересующихся этим проектом. Объявления мы можем поставить на rabota.ua/work.ua -- из-за войны, многие системные администраторы в Украине просто не знают, чем заняться. На встречи мы будем готовить 2-3 доклада о наших достижениях и задачах.
                               Эти мероприятиями мы воспользуемся для рекрутинга экспертов, подрядчиков и координаторов.
                                   Давайте вместе подналяжем на проект отказоустойчивости. Прежде всего, нам нужна документация на то, что есть, и то, что не получается. Какая схема была выбрана и где получилась загвоздка? Может, купленное железо в принципе не подходит?
                                   Каролина, я планирую, что Вы организуете видеоконференции в 2 часа дня по средам (или другое время) для обсуждения документации. На встречи будем приглашать экспертов -- двоих я отобрал на upwork. Возможно, сделаем попеременно -- одного в одну неделю, другого в другую и так далее. Впрочем, лучше попробовать несколько вариантов.

Кампусны Кластер -- это отказоустойчивый (high availability) кластер (здесь и далее по тексту -- Кластер) на основе трёх "физических" (bare metal) узлов (здесь и далее по тексту -- Желез) Брацких Ферм (здесь и далее по тексту -- Ферм), который обеспечивает высокую доступность услуг, предположительно, Брацкой Правки и Брацкой Учебки. Оба приложения принадлежат Брацку Кампусу, однако их номенклатура и, соответственно, название Кластера могут измениться в результате его разработки.


Платформа

Размещение

Hetzner является поставщиком услуг размещения, у которого "Железо" арендуется.

ПО платформы

Платформа Кластера собрана на основе ProxmoxVE, в данный момент, v.7.2. Сеть каждого Железа использует мост по модели выбираемой по умолчанию в Network Configuration
Для хранения данных используется платформа распределённого хранилища Ceph. Один подрядчик предлагает вместо Ceph задействовать TrueNAS.
До начала проекта, один специалист предлагал использовать роутер Microtik, чтобы на proxy сделать два IP адреса, первый использовать для внутренних виртуалок, если они нормально работают, а второй загнать в bridge для внешних серверов и средствами Линукса типа firewall делить тот трафик, который приходит. Кроме того, на том же proxy он предлагал поставить DHCP сервер для раздачи адресов машинам. Другой специалист считал, что безопасных DHCP серверов на рынке нет.
В результате, роутеры и DHCP сервер не устанавливались. Для раздачи адресов виртуальным машинам, используется программа iptables.

vSwitch

Три Железа необходимы для обеспечения высокой доступности. Если одно Железо неспособно обслуживать клиентов, Кластер изолирует его и переключает клиентов на работающее Железо. Для переключения на то Железо, которое работает с клиентами, используется инструмент Hetzner vSwitch.

Поиск подрядчиков

Для ускорения проекта, мы ищем подрядчиков на новый кластер или пару их. Объявление на разовую работу опубликовано на upwork, Каролина назначена рекрутером, заявки приходят.

Принцип отбора

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

Предложения услуг

Во время поиска подрядчика были предложены такие варианты:

MA1.
There are 2 types of HA proxmox. First, unideal HA proxmox that has 2 proxmox servers. Second, ideal HA proxmox that use at least 3 proxmox servers. On Hetzner, we can use Vswitch to connecting all server nodes for HA.
AF
I will use Ceph storage to have full HA with nodes and latest Proxmox 7.x installed on Baremetal servers
AA
I can configure you a HA setup with at least 2 physical hosts and a shared storage. Storage is also provided by the hetzner. I will need hetzner cloud robot credentials to perform the tasks.
MA2
There are 2 types of HA proxmox. First, unideal HA proxmox that has 2 proxmox servers. Second, ideal HA proxmox that use at least 3 proxmox servers. On Hetzner, we can use Vswitch to connecting all server nodes for HA.
GK
Why you are using proxmox at Hetzner? Isn't better to use docker (you save a lot on ram usage). Anyway, do you want proxmox cluster HA, or you want a proxmox active backup server (backup server will cost you less and it is more reliable because I don't think that you have a NAS solution). Anyway, based on what I have understand you are looking for a very cheap solution to have a full backup of your VMs so I recommend to go with a backup server not HA. Yes, I know, docker in docker. But you are using proxmox aka VM not docker in docker. And if you want to use a docker you need to run it in a VM. And no backup server, so the only option is HA (High availability). But in this case you need a NAS solution to have a reliable environment. In my experience HA with 2 proxmox can produce a split brain, and I use HA with 2 proxmox without NAS in a lab environment not in a production environment. kindly find the proposal, I recommend to go with scenario/proposal 2. you can find it in the attached document - https://setka.bskol.com/index.php?r=file%2Ffile%2Fdownload&guid=6f4ca628-2011-4c1d-99c2-d77452051d68&download=1

Порядок разработки

Распределение обязанностей

Заказчик платит за Кластер и согласовывает эту вики-страницу перед присуждением подряда. Заказчик подразумевает, что координатор отработает проект, в том числе, документируя требования на этой вики-странице и ставя задачи подрядчику. По доброте душевной и в целях профессиональной подготовки, заказчик может делать работу координатора временно до той поры, пока заказчик верит в то, что координатор когда-то сможет работать самостоятельно :)

Как не надо

Мало бути так: ... Знаходимо людину, яка нас задовільняє на даний проект (або декілька людей) - зв'язуємось (бажано дзвінком) для уточнення деталей і надання необхідних даних (в цей же етап можна задавати Ваші питання про сервера, які, куди, як..) і на цьому етапі обов'язково присутня Natly, бо я не айтішник, щоб розуміти всі ці тонкощі і надавати комусь якісь доступи - заслуховуємо його оцінку по бюджету цього проекту - розуміємо підходить нам чи ні - остаточно даємо роботу або відмовляємо.

Продолжение известно на 99%. В одном случае из 100, мы получим то, что нам надо. В 99 остальных случаях, мы получим то, что нам не надо или за те деньги, на которые мы не рассчитываем. Если мы не определим, что мы должны получить и как мы о том узнаем, мы то и не получим.

Как надо

  1. Oпределить, что мы должны получить (так называемые "Объёмы работ")
  2. Oпределить, как мы узнаем, получили ли мы то, что были должны (так называемая Приёмка)
  3. Далее всё по рубрике Как не надо

Вопросы для прояснения

Покупка железа

Ми не купили сервер тільки тому, що не знайшли підрядчика. Зачем тратить денежки зазря?

Однако представим, что мы присудим контракт сейчас. Подрядчик скажет, давайте доступ к рабочему месту, верно? По другому быть не может. А места-то нет, сервера надо покупать. Отсюда возникает вопрос -- как мы будем покупать сервера под этот проект? Объём, я думаю, выберем в 512Gb. Но какие сервера? Нам нужно выбрать три из тех сотен, которые сегодня на аукционе -- https://www.hetzner.com/sb?hdd_from=500&hdd_to=1000

По какому принципу их отбирать? Они все должны быть одинаковыми? Ненад говорил, что нет. Один купить подороже и два -- подешевле? Они должны быть в одном датацентре или могут быть в разных?

Як ми купували раніше? Раньше мы садились с Натальей, шарили экран и покупали -- это надо оговорить с новым подрядчиком.

Начало работы

Что надо от нас, кроме присуждения контракта и Покупки железа?

Объёмы работ

Что подрядчик нам представит (aka что будет объектом приёмки)?

Сетка

Приёмка

Как мы убедимся в том, что то, что представлено -- это то, что нам надо (aka что будет критериями приемлемости и как мы будем проводить приёмочное тестирование)?

Полезные рекоммендации