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

Материал из Брацка Правки
Перейти к: навигация, поиск
(Архитектура)
(Архитектура)
Строка 21: Строка 21:
 
:#Пользовательские приложения ''Фермы'' установлены:
 
:#Пользовательские приложения ''Фермы'' установлены:
 
:#*либо в контейнерах, которые уже содержат подогнанные исключительно под нужды приложения операционные системы.
 
:#*либо в контейнерах, которые уже содержат подогнанные исключительно под нужды приложения операционные системы.
:#*либо на виртуальных машинах. Для взаимодействия виртуальной машины и приложения, установлена операционная система, предоставляться поставщиком услуг.
+
:#*либо на виртуальных машинах. Для взаимодействия виртуальной машины и приложения, установлена операционная система, предоставляется Contabo.  
 
:#Контейнеры и виртуальные машины ''Фермы'' создаются в виртуальных средах.
 
:#Контейнеры и виртуальные машины ''Фермы'' создаются в виртуальных средах.
  

Версия 16:58, 26 июля 2022

Кампусна Ферма (здесь и далее -- Ферма) -- это отказоустойчивый (high availability) кластер Брацких Ферм (здесь и далее по тексту -- Ферм), который обеспечивает обеспечивает работу и высокую доступность услуг приложений Брацка Кампуса, так называемых кампусных прилад.


Общее описание

Термины

На данной вики-странице, используются следующие термины:
  • IP адрес (IP address). Адрес компьютерного устройства, соответствующий либо протоколу IPv4, либо протоколу IPv6. Доступные в сети Интернет адреса куплены у поставщика услуг размещения.
  • VPS (virtual private server или виртуальный частный сервер). Виртуальное компьютерное устройство, имитирующее компьютерный сервер, создаваемое виртуальной средой. Аналогично обычному компьютерному серверу, на VPS устанавливается операционная система, обычно, из коробки, и, на неё, -- пользовательские приложения. По сути, VPS является виртуальной машиной, созданной для работы в качестве сервера, то есть, с повышенными, чем у обычной машины, характеристиками.
  • Высокая доступность (high availability или HA; также называемая "отказоустойчивостью"). Свойство Фермы, обеспечивающее предоставление услуг Фермой при сбое её определённой части с одновременным восстановлением той самой части, которая пострадала от сбоя. Ни одна система и ни одна часть системы не могут быть полностью защищены от угрозы нештатной работы или аварийной ситуации. Отказоустойчивость -- это концепция, а также набор инструментов и методик, помогающих системе автоматически восстанавливаться после сбоев. Однако никакой набор не гарантирует, что любое восстановление будет моментальным и 100% полным.
  • Контейнер. Виртуальное компьютерное устройство, имитирующее компьютер с установленной операционной системой и пользовательскими приложениями, создаваемое виртуальной средой. Как правило, контейнеры задействуют облегчённую операционную систему, заточенную исключительно под работу установленных приложений.
  • Операционная система (operating system или OS). Программное обеспечение, которое, с одной стороны, взаимодействует либо с железным, либо с виртуальным компьютерным устройством и, с другой стороны, может взаимодействовать с пользовательскими приложениями.
  • Пользовательское приложение. Одна из установленных на Ферме кампусных прилад.
  • Поставщик услуг размещения. Провайдер услуг Интернета (Internet service provider или ISP), предоставляющий свои подключённые к сети Интернет виртуальные частные сервера в аренду для размещения Фермы.
  • Соединитель. Коммутационное устройство предоставляемое поставщиком услуг размещения Фермы и описанное в Соединителях.
  • Узел (node). Комбинация одного VPS и установленного на нём программного обеспечения, представленная в сети и описанная в Узлах Фермы.
  • Ферма. Кампусна Ферма, для описания которой предназначена данная вики-страница.

Архитектура

Для предоставления услуг пользователям:
  1. Пользовательские приложения Фермы установлены:
    • либо в контейнерах, которые уже содержат подогнанные исключительно под нужды приложения операционные системы.
    • либо на виртуальных машинах. Для взаимодействия виртуальной машины и приложения, установлена операционная система, предоставляется Contabo.
  2. Контейнеры и виртуальные машины Фермы создаются в виртуальных средах.
Для высокой доступности (high availability или HA) и отказоустойчивости услуг:
Отказоустойчивость требует пару дополнительных функций:
  1. Для обнаружения сбоя или другой нештатной ситуации, Ферма постоянно мониторится.
  2. Для восстановления данных в случае их потери из-за сбоя или другой нештатной ситуации, каждый Узел использует Snapshots для резервное копирование. Делаться это при необходимости, администратором. Резервные копии баз данных создаются автоматически, с помощью ???

Доступы

  1. Администраторский доступ к VPS осуществляется через административную панель и администраторские консоли. Они предоставлены непосредственно Contabo заказчику; заказчик лично может предоставить доступы ответственным администраторам.
  2. Администраторский доступ к виртуальным средам и, далее, файлам пользовательских приложений, осуществляется через привязанные к VPS IP адреса. Данные доступов засекречены и хранятся в Брацкой Крынке.
  3. Доступы к пользовательским приложениям осуществляются через привязанные к приложениям IP адреса. Доступы предоставляются Оплётом автоматически и, бюрократами Оплёта, вручную.

Инфраструктура

Инфраструктура Фермы -- это объединённые в единую связку три VPS.

Поставщик VPS

Contabo является поставщиком услуг размещения, у которого VPS арендуется. Сотрудничество с данным поставщиком длится с 2017 года.

Оптимизация VPS

Три арендованы у Contabo; два сервера и отдельное дисковое пространство для резервных копий располагаются в Сент-Луисе, Миссури, США, один -- в Германии. Планов уезжать с Contabo нет, но есть план заменить один сервер в Сент-Луисе, Миссури на сервер в Сингапуре;

Соединители

Нужна ли внутренняя сеть между узлами кластера? Соответственно если должна быть, то какой соединитель?
Какая должна быть внешняя сеть?

Характеристики VPS

VPS 1

VPS M SSD (6 vCPU Cores; 16 GB RAM; 100 GB NVMe or 400 GB SSD; 2 Snapshots; 32 TB Traffic Unlimited Incoming)
  • IPv4, IPv6
  • Location: Nuremberg
  • OS: Ubuntu 18.04 (64 Bit)

VPS 2

VPS M SSD (6 vCPU Cores; 16 GB RAM; 100 GB NVMe or 400 GB SSD; 2 Snapshots; 32 TB Traffic Unlimited Incoming)
  • IPv4, IPv6
  • Location: St. Louis
  • OS: Ubuntu 18.04 (64 Bit)
1000 GB FTP Storage
  • Location: USC1 St Louis [VPS M]

VPS 3

VPS M SSD (6 vCPU Cores; 16 GB RAM; 100 GB NVMe or 400 GB SSD; 2 Snapshots; 32 TB Traffic Unlimited Incoming)
  • IPv4, IPv6
  • Location: St. Louis
  • OS: Ubuntu 18.04 (64 Bit)
Panel: LAMP
  • Location: USC1 St Louis [VPS M]

Пользовательские прилады

Правка

Учебка

  • Брацка Учебка -- это ресурс для организации учебных курсов и сертификационных программ, который построен на основе программного обеспечения Moodle.

Бачка

  • Брацка Бачка -- это средство загрузки, хранения и просмотра видео-материалов. Бачка построена на основе программного обеспечения AVideo

Узлы Фермы

Работа Фермы обеспечивается тремя Узлами. Каждый Узел представляет собой отдельный VPS, приводимoe в действие несколькими видами программного обеспечения (ПО).

Резервное копирование

На каждом VPS узле Contabo использует 2 Snapshots. Какие системы резервного копирования мы можем использовать на HA кластере?

Виртуальные среды

На VPS серверах установлена Ubuntu 18.04 (64 Bit) операционная система.

Сети Узлов

IP адреса

На каждом VPS сейчас по два IP адреса, один IPv4 адрес и IPv6 адрес.
Сколько нужно для создания сетей и НА кластера?

Объявление

Мы ищем консультанта и нуждаемся в экспертном мнении относительно разработки отказоустойчивого кластера на трех VPS узлах. Для найма подрядчика у нас не достаточно требований, на проекте уже есть два консультанта, но их компетенции не перекрывают весь перечень вопросов, которые возникали в процессе разработки требований. С темами вопросов вы можете познакомиться на странице: https://pravka.bskol.com/ru/%D0%9E%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%BE_%D0%A1%D0%B8%D1%81%D0%B0%D0%B4%D0%BC%D0%B8%D0%BD%D0%BE%D0%B2#.D0.9F.D1.80.D0.B8.D0.BC.D0.B5.D1.80_3 в разделе "Список тем". Идентификация и авторизация (WSO2 IS), CDN/Geocast, Жици (Jitsi) -- это те темы на которые следует обратить внимание в первую очередь, но мы рассмотри ваши предложения и относительно остальных. Вам необходимо выбрать те темы относительно которых вы компетентны и имеете профессиональный опыт, и сообщить их к первой встречи, чтобы мы понимали что можно спрашивать.
В данный момент, мы используем три VPS арендованных у Contabo для размещения трёх приложений -- MediaWiki, Moodle и AVideo. Два VPS размещены в США, один -- в Германии. Базой данных выбрана MariaDB и три базы синхронизованны MariaDB Galera Cluster. Основная решаемая проблема -- это высокая доступность. Дополнительная проблема -- это Geocast. После решения дополнительной проблемы, мы планируем отказаться от одного VPS в США и добавить один VPS в Сингапуре. Мы также открыты к разработке отдельного кластера под AVideo.

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

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