Брацька Хмара

Матеріал з Брацка Правка
Версія від 19:24, 12 лютого 2023, створена Vitaliy (обговореннявнесок) (Забезпечення приладів (зведення))
(різн.) ← Попередня версія • Поточна версія (різн.) • Новіша версія → (різн.)
Перейти до: навігація, пошук

Брацька Хмара (CNM Cloud; іноді кодується як "bo", далі те тексту - Хмара) -- це технологічні ресурси, що обслуговують онлайн операції Брацької Школи (тут і далі тексту - "Школи"). Хмара являє собою сукупність програмного забезпечення та матеріальної частини, що його підтримує.


Зміст

Цілі і завдання

Цілі

Хмара надає автоматично або підтримує технологічно тих людей, які надають послуги, які мають на меті:
  1. Професійно зорієнтувати, підтримуючи організацію оглядових семінарів, практик та консультацій для тих, хто визначається з професією.
  2. Підготувати до професійної діяльност, забезпечуючи навчальний процес, навчання на робочому місці або сертифікацію професійних компетенцій для тих, хто напрацьовує професійні кваліфікації.
  3. Працевлаштувати, надаючи знання, інструменти, сертифікації, доступ до контактів та маркетингових каналів тим, хто:
    • Вже готовий до професійної діяльності та шукає конкретну роботу.
    • Підтримати працевлаштованих, надаючи адміністративні послуги та консультації, а також фінансуючи підприємства тих випускників, які вирішили організувати чи просувати свої власні бізнеси.

Завдання

Хмара вирішує завдання забезпечення потенційних та існуючих учнів Брацької Школи та залучених до проєкту iDosvid майданчиком для навчання та роботи, зокрема, Хмара забезпечує:
  • Усіх користувачів Всесвітньої Павутини -- гостьовий доступ до громадських ресурсів Хмари, включаючи Правку, Вебку, Бачку, Брацки Жици, Кринку
  • Зареєстрованих в Оплет користувачів - користувальницьким доступом до Кабіни
  • Учнів - користувальницьким доступом до Учебки, Правки, Вебки, Бачки, Жици, Сетки та адміністративним доступом до тих Курсових Прилад, які вони вивчають.
  • Координаторів і підрядників -- користувальницьким доступом до Кринки та адміністративним доступом до тих Опитних Прилад, над якими вони працюють.
  • Підмайстрів, майстрів та співробітників -- користувальницьким доступом до Связки, Пошти, Справи та адміністративним доступом до тих Повних Прилад, які вони обслуговують.
  • Учасників коротких тренінгів -- доступом до тих віртуальних ресурсів, які створені спеціально для цього тренінгу. Школа влаштовуватиме тренінги та планує видавати ресурси для практичних занять. Після реєстрації на тренінг, учасник повинен отримувати імейл із посиланням на ресурс із логіном та паролем. Ресурс має бути або віртуальною машиною, або контейнером. Фахівець вважає, що оскільки контейнер створюється одним рядком, можна зробити скрипт під Лінукс, який створюватиме контейнер з образу та додаватиме до нього логін та пароль.

Загальні положення

Хмара має сотні додатків і безліч систем, точне число яких постійно змінюється. У цьому розділі згадані лише основні з великої різноманітності додатків та систем.

Технологічні яруси

Хмара включає три яруси програмного забезпечення:
  1. Інфрастуктуру звану Брацькі Ферми,
  2. Сполучне забезпечення або федеральну службу звану Оплет, і
  3. Додатки користувача.

Підтримка програмних мов

Хмара підтримує такі мови:
  • PHP. Підтримуються версії 7.4. и 8.0.9. Apache HTTP server визначає, яка мова використовуватиметься через скрипти типу:

    <FilesMatch \.php$># From the Apache version 2.4.10 and above, use the SetHandler to run PHP as a fastCGI process server SetHandler "proxy:unix:/run/php/php7.4-fpm.sock|fcgi://localhost"</FilesMatch>

  • Python.

Брацькі Ферми (інфраструктура)

Основна вікі-сторінка: Брацки Фермы

Ділова Ферма

Основна вікі-сторінка: Ділова Ферма

Дослідна Ферма

Основна вікі-сторінка: Дослідна Ферма

Кампусна Ферма

Основна вікі-сторінка: Кампусна Ферма

Забезпечення Ферм (зведення)

Інфраструктура (Ферми)
Компоненти Назва Призначення Технологія Веб‑адреса
Ділова Приватна хмара Підтримка Додатків користувача і Сполучного забезпечення OpenStack Захована
Віртуальне середовище Управління віртуальними машинами для Дослідна Хмара ProxmoxVE
Моніторинг Стеження за роботою обчислювальних серверів та повідомлення про неполадки Nagios Core
Установник Інструмент для встановлення, конфігурації та видалення пакетів програмного забезпечення APT
Веб-сервер Первинне управління запитами, що надходять HTTP NGINX
Вторинне управління запитами надходять HTTP Apache
Дослідна
Кампусна
Оплетна

Обплет (федераційна служба)

Основна вікі-сторінка: Оплет

Оплет -- це те службове програмне забезпечення, яке збирає та Інфраструктуру Хмари, та його Додатки користувача у єдину систему. Оплет являє собою сполучне програмне забезпечення, яке може забезпечувати все незалежно від їх розташування в системі, перш за все, послугами з ідентифікації всіх користувачів 'Хмари', реєстрації нових користувачів, визначення ролей користувачів, авторизації їх доступів і таке інше далі.

Запис на курси

В даний час запис на курси здійснюється через Брацьку Учебку, як правило, через самозапис. Самозапис створює незручності для деяких учнів - перед записом вони повинні знайти необхідний їм курс. Пропонується створити модуль Оплет, який автоматично записуватиме учнів, причому не тільки в Брацькій Учебці, але і на кампусі VIT.

Захист від ботів

Для захисту від "ботів", тобто веб-роботів, спочатку було встановлено Google-ловська ReCAPTCHA, проте вона не працювала для користувачів у Китаї, де послуги Google заблоковані, і тому було відключено. Планується додати просту, не-Google-івську Friendly Captcha на реєстрацію (https://friendlycaptcha.com/; https://github.com/FriendlyCaptcha).
У той же час, будь-яка CAPTCHA погіршує досвід користувача. Кажуть, що найкраща CAPTCHA – це її відсутність. CAPTCHA не буде потрібна, коли в Керування користувачами буде додано функцію автоматичного видалення облікових записів. Negative Captcha (https://github.com/subwindow/negative-captcha) -- ще один цікавий проект для випробування.

Ідентифікаційні самопослуги

Через проблеми з почтовим сервером, в даний час не працює відновлення пароля, яке необхідно відтворити та протестувати після вирішення проблем із поштою.

Інтерфейс

Оплет потребує нового користувальницького інтерфейсу, включаючи приймальну та реєстраційну сторінки, а також кабінет користувача.

Компоненти

Оплет складається з:
  1. Ядра, який являє собою систему керування користувачами, написану на Yii,
  2. Ідентифікаційний сервер, який надає дані ядра всім користувачам додаткам,
  3. Додаткових модулів, які обслуговують запис на курси і організацію заходів, а також надають екзаменаційні питання.

Визначення ролей

Після завершення певних курсів Брацька Учебка має віддавати інформацію Оплету, той повинен призначати нову роль і віддавати цю роль у WSO2 Identity Server, а WSO2 Identity Server -- розповсюджувати за всіма додатками. Раніше цю проблему намагалися вирішувати з OpenLDAP. Все вирішувалося доки зламалися проблемі зміни ролей -- OpenLDAP брав лише одну роль і далі не змінював її.

Організація заходів

Декілька додатків мають свої функціонали з організації заходів (event) -- Брацька Учебка має календар вправ та іспитів, Брацька Сітка надає можливість організації заходів групи, Брацька Кринка організує календар необхідних виконання робіт тощо. Деякі заходи також повинні публікуватися за межами хмари, на сторінках соціальних мереж типу Фейсбука. Для централізації кількох календарів, планувалося створення спеціального модуля Оплету, де можна було відстежувати інформацію з різних джерел та розміщувати її в особистому кабінеті користувача.

Поштові ящики

Поштові скриньки працюють на основі Поштовий сервер. Дві проблеми вимагають вирішення:
  1. У профіль користувача необхідно додати поля для корпоративних імейлів. Зараз пошту автоматично може отримати тільки той, хто не вказав свою електронну адресу під час створення пошти.
  2. Доступ до персональної скриньки мають отримувати лише користувачі з правами CertFellow та вище.

Керування користувачами

Заведення нових облікових записів та видалення тих записів, які протягом 6-ти місяців не завершили жодного курсу.

Федераційна ідентифікація

федерація користувача налагоджується на базіWSO2 Identity Server. До літа 2021, вона будувалася на OpenLDAP, а до 2018 року - на SimpleSAMLphp. Планується:
  1. Перекласти основну ідентифікацію та авторизацію з OpenLDAP на WSO2 Identity Server в рамках проєкту Переклад Оплету на WSO2 IS.
  2. У тих програмах, які працюють з OpenLDAP, на реєстраційних сторінках залишити кнопку "LDAP login". Альтернативно, цю кнопку можна розмістити на реєстраційній сторінці WSO2 IS.
  3. Перевірка SSO. Більше 3-х десятків додатків користувача включено в "Хмара" і, заходячи в кожну з них, зараз користувач не повинен логінуватися окремо. Теоретично, SSO - це рідна функція WSO2 Identity Server, але, після переходу з OpenLDAP на WSO2 Identity Server, кожна програма повинна перевірятися.

Екзаменаційні питання

В даний час, Брацька Учебка дозволяє завантажити екзаменаційні питання до кореневої директорії, звідки їх можуть задіяти окремі курси. Проте, централізована статистика з цих питань відсутня. Наприклад, учень може отримувати те саме питання в різних курсах. Крім того, потрібне використання окремих питань в інших додатках, таких як Брацька Вебка, і цей функціонал також відсутній.
Далі, Брацька Учебка активно використовує елемент "Лекція", але не схоже, що цей елемент не зберігає відповіді учнів. Однак деякі з відповідей у лекціях необхідні для збереження як поля профілю. Moodle містить кілька плагінів для лекцій, але не ясно чи вирішують ці плагіни проблему збереження відповідей.
Планується уніфікувати тести по всій платформі за допомогою нового модуля "Оплету".

Забезпечення Оплету (зведення)

Ярус Назва Призначення Технологія Веб‑адреса
Сполучне забезпечення (Оплет) Ідентифікація Отримання даних від ядра і взаємозв'язок з користувачами додатками WSO2 IS
Ядро та інтерфейс користувача Управління реєстрацією, ідентифікацією та авторизацією доступів користувачів Yii (custom code) kabina.bskol.com

Додатки користувача

Програми користувача — це програми для кінцевих користувачів.

Типи додатків

Хмара надає три типи додатків:
  1. Повні програми, тобто ті, які використовуються за тим основним призначенням, для якого вони були створені,
  2. Тренувальні програми, тобто ті, які використовуються для відпрацювання практичних навичок роботи з ними, та
  3. Експерементальні програми, тобто ті, що використовуються

Вимоги до додатків

Основна вікі-сторінка: Вимоги до додатків Брацької Хмари
Вимоги до програм описані на вікі-сторінці Вимоги до додатків Брацької Хмари.

Забезпечення приладів (зведення)

Ярус Назва Призначення Технологія Веб‑адреса
Додатки користувача Бачка Розміщення відео файлів AVideo backa.bskol.com
Вебка Адміністрація веб-сторінок WordPress vebka.bskol.com
Жици Організація відео- та аудіо-конференцій Jitsi jitsi.bskol.com
Кринка Робота розробників над проектами із встановленим service desk додатком для збирання інформації з проблем та зберігання вихідних кодів унікального програмного забезпечення GitLab krynka.bskol.com
Пошта Електронна пошта Roundcube posta.bskol.com
Правка Відкрите джерело знань і водночас місце початкової роботи підмайстрів MediaWiki pravka.idosvid.com
Связка Корисні контакти SuiteCRM svazka.bskol.com
Сетка Соціальна мережа HumHub setka.bskol.com
Справа Адміністративний облік, електронна комерція (Careerprise Shop) та робота персоналу над проектами Odoo sprava.bskol.com
Учебка Безкоштовні навчальні курси Moodle ucebka.idosvid.com
  Орендоване забезпечення
Експериментальні програми Campus Навчальні курси VIT OpenEdX campus.vit4all.com
Agile Практика для VIT курсів по Agile software Taiga agile.vit4all.com
Project Практика для VIT курсів по project management software ProjecQtOr project.vit4all.com
Redmine Практика в Redmine для VIT курсів по project management software Redmine redmine.bskol.com

Повні програми

У мережі Інтернет повні програми для користувачів розміщені на різних URL при тому, що на кожному з URL різні сервіси планується зробити доступними під різними піддоменами за принципом [піддомен].[домен].[розширення].

Бачка (AVideo)

Основна вікі-сторінка: Брацька Бачка
Брацька Бачка -- це засіб завантаження, зберігання та перегляду відео-матеріалів. Відео побудовано на основі програмного забезпечення AVideo (встановлена версія 11.3). Частина курсів Бачки, наприклад, відеоматеріали курсу Брацький Техогляд, може бути доступна без оплати всім відвідувачам Інтернету. Доступ до деяких матеріалів може надаватись на комерційній основі.

Вебка (WordPress)

Основна вікі-сторінка: Брацька Вебка
Брацька Вебка -- це офіційний веб-сайт Брацької Школи, який представляє Школу в мережі Інтернет. Веб-сайт побудований на основі програмного забезпечення WordPress і доступний для перегляду безкоштовно 24 години на день 7 днів на тиждень будь-якому відвідувачу мережі Інтернет.
Для створення веб-сайту використовується конструктор сторінок Elementor Pro. Під час оновлення версії WordPress до 5.8 зміст сторінки не відображався.

Жици (Jitsi)

Основна вікі-сторінка: Брацькі Жици
Брацькі Жици -- це інструмент Брацької Школи для організації відео- та аудіо-конференцій. Жици побудовані на основі програмного забезпечення Jitsi та організовані кластером. Жици доступні для будь-яких учасників конференцій, але починати сесії можуть тільки ті, хто зареєстрований в Оплет.

Кринка (GitLab)

Основна вікі-сторінка: Брацька Кринка
Брацька Кринка -- це засіб для роботи над проєктами, побудований на основі програмного забезпечення GitLab та доступне виключно адміністраторам Брацької Школи та авторизованим ними розробникам програмного забезпечення. Доступ до Кринку здійснюється виключно за PKI.

Пошта (RoundCube)

Основна вікі-сторінка: Брацька Пошта
Брацька Пошта -- це електронна пошта, побудована на основі Поштового сервера та доступна виключно випускникам семінару Вибір Професії.

Правка (MediaWiki)

Основна вікі-сторінка: Брацька Правка
Брацька Правка -- це відкрита база знань Брацької Школи, побудована на основі програмного забезпечення MediaWiki та доступна для перегляду безкоштовно 24 години на день 7 днів на тиждень будь-якому відвідувачу мережі Інтернет. Питання підключення останніх стабільних версій до OpenLDAP не було вирішено, тому встановлена застаріла версія 1.31.1

Обробка

Ця прилада – перспективна. Її ідея - надати підмайстрам щось на зразок Microsoft Office або GoogleDocs. На даний момент встановлено Nextcloud. Тут можна ділитися файлами: за посиланням або з конкретним користувачем. Посилання можна задавати термін дії. Працюють поштові сповіщення. Є різні додатки, календар, завдання і т.д.

Связка (SuiteCRM)

Основна вікі-сторінка: Брацька Связка

Сітка (HumHub)

Основна вікі-сторінка: Брацька Сітка
Брацька Сітка -- це корпоративна соціальна мережа. Сітка побудована на основі програмного забезпечення HumHub (встановлена версія 1.9.1).

Справа (Odoo)

Основна вікі-сторінка: Брацька Справа
Брацька Справа -- це засіб управління людськими та матеріальними ресурсами підприємства, побудований на основі програмного забезпечення Odoo. Частина "Справи", наприклад, відкриті документи підприємства, може бути доступна всім відвідувачам мережі Інтернет. Інша частина, наприклад, дані клієнтів підприємства, доступна виключно тим співробітникам Брацької Школи, які підписали угоду про нерозголошення конфіденційної інформації

Учебка (Moodle)

Основна вікі-сторінка: Брацька Учебка
Брацька Учебка -- це засіб організації навчальних курсів та сертифікаційних програм, побудований на основі програмного забезпечення Moodle (встановлена версія 3.11.2). Частина курсів Учебки, наприклад, Брацька Вводка, може бути доступна без оплати всім відвідувачам Інтернету. Доступ до деяких курсів може бути наданий на комерційній основі.

Дослідні додатки

OpenEdX

Вірджинський Технологічний Інститут використовує OpenEdX, а не Moodle, для своїх курсів Окремі користувачі "Хмари" допускаються до цих курсів.

ProjecQtOr

Вірджинський Технологічний Інститут використовує ProjeQtOr у практичних заняттях із забезпеченням для управління плановими розробками. Окремі користувачі "Хмари" допускаються до цих занять.

Redmine

Redmine історично використовувався в Брацькій Кринкі. Зараз він має стати додатком для експериментів із програмним забезпеченням управління розробками.

Taiga

Вірджинський Технологічний Інститут використовує Taiga software у практичних заняттях із забезпеченням для управління гнучкими розробками. Окремі користувачі "Хмари" допускаються до цих занять.

Підтримка та розвиток

Загальна стратегія

  1. Підтримувати ті технологічні ресурси, які є, навіщо укласти договір обслуговування кожного ресурсу.
  2. Набирати координаторів проектів для розробки запитів та вимог.
  3. Шукати виконавців на ті Роботи у Брацькій Школі, які відносяться до технологічних ресурсів.

Связанные лектио