CNM Cloud Project

From CNM Wiki
Revision as of 12:08, 12 November 2022 by Gary (talk | contribs) (Usable -- third (current) phase)
Jump to: navigation, search

CNM Cloud Project (hereinafter, the Project) is the endeavor undertaken to create CNM Cloud. WorldOpp fellows are responsible and members of CNM Cyber Workforce (hereinafter, the Team) shall be accountable for this Project.


Project-wide requirements

Business requirements

Main wikipage: CNM Cyber requirements

Solution requirements

Main wikipage: CNM Cloud requirements
CNM Cloud requirements is the best wikipage to overview general solution requirements; however, different parts of the Cloud have their specific requirements that are or shall be published at their wikipages. A big portion of solution requirements is also published in Russian -- https://wiki.friendsofcnm.org/ru/Брацко_Облако

Phases

Five phases are identified as of December of 2018. The first two phases have been accomplished and the third is the current one.

Beginnings -- first (completed) phase

Main wikipage: CNM Cloud Beginnings
CNM Cloud Beginnings is the first phase of the Project. It was accomplished by the beginning of 2018. The beginnings could be characterized by three factors:
  1. Many experiments including software ventures and examinations of both technology and various organizational structures designed to support that technology;
  2. Unbalanced and often disruptive availability of resources. Although the Team enjoyed assistance of a number of volunteers, donor's money, software subscriptions, and venues, the Team's inability to pay for technology sustainability ultimately led to several adverse events including the major technology crash in 2016 and further necessity to destroy the first cloud.
  3. Poor recording, documenting, and storage facilities. For instance, just few training materials were saved and just a couple of videos were taken at hundreds of training sessions. As a result, volunteer time could be utilized way more efficiently.
Nonetheless, a few significant concepts, lessons learned, lines of code, and the CNM Cyber by Loredana C requirements were developed during this initiating phase of the Project.

Embryo -- second (completed) phase

Main wikipage: CNM Cloud Embryo
CNM Cloud Embryo is the second phase of the Project. Several concepts, lessons learned, and pieces of software that was developed in the CNM Cloud Beginnings have been utilized in the successor phase. The Team calls the new phase Embryo because the embryo of the new cloud is going to be developed during this phase. The key developments could be summarized as follows. The Team:
  1. Identified:
    • Business needs. These needs are expressed in User stories for the embryo;
    • System architecture including the core package of technology that would support User stories for the embryo;
  2. Designed and is implementing a new recruitment process based on the core package of developed technology;
  3. Dramatically increased funding for both technology development and recruitment.

Usable -- third (current) phase

Main wikipage: CNM Cloud Minimal
CNM Ventureware based on an Odoo instance shall be the primary deliverable of the third phase. Other deliverables may include Eventtune, CNM Calendar, CNM Tubeware, CNM Mailware, CNM Talkware. New sprints of Opplet.net are also expected.

Secure -- fourth (future) phase

Private clouds such as Dev Cloud, Production Cloud, and Control Cloud shall be primary deliverables of the fourth phase of the Project.

Federated -- fifth (future) phase

At the fifth phase of the Project, the initial requirements, CNM Cyber by Loredana C, shall be revised and tested on the completion. This phase is also reserved for any developments, especially federations, that haven't been accomplished in the previous phases.

Работы над Облаком (в прошлом, часть Проектов Bskol) -- это список разработок новых частей Брацка Облака (здесь и далее -- Облака) и операций по эксплуатации его готовых частей, организовывать работу над которыми приглашены Координаторы Bskol (здесь и далее -- Координаторы).


Фермы

Брацки Фермы (здесь и далее -- Фермы) представляют собою инфраструктуру для функционирования как пользовательских приложений Облака, так и обслуживающего эти приложения Оплёта.

Администрация Ферм

Для целей этой вики-страницы, к администрации Ферм отнесены те разработки, которые могут быть использованы на нескольких, а не одной отдельно взятой Ферме:
Утверждённые проекты администрации кластеров Ферм
Работы Интеграция Конфигурация Панели управления Рабочие среды Статистика
Высшие          
Прототипы          
Пользовательские          
Рабочие          
Технические          
Контракты          
Дееспособность          
Применимость          
Управляемость          

Базы

Помимо построения кластеров узлов Брацких Ферм, планируется рассмотреть возможность связать аналогичные базы данных между собою для их более стабильного функционирования.
Утверждённые проекты баз данных
Работы Над MariaDB Над PostgreSQL Над Оплётным
Высшие      
Прототипы      
Пользовательские      
Рабочие      
Технические      
Контракты      
Дееспособность      
Применимость      
Управляемость      

Домены

Утверждённые проекты доменов
Работы CDN DNSSEC Geocast IPv6 Ревизия DNS
Высшие Согласовано        
Прототипы          
Пользовательские          
Рабочие          
Технические          
Контракты          
Дееспособность          
Применимость          
Управляемость          

Инструменты поддержки

Для целей этой вики-страницы, к инструментам поддержки Ферм отнесены инструменты разработок ПО и те инструменты администрирования на странице https://github.com/kahun/awesome-sysadmin, которые не задействованы в проектах описанных в других разделах.

Утверждённые проекты инструментов поддержки Ферм
Работы Панели управления Рабочие среды
Высшие        
Прототипы        
Пользовательские        
Рабочие        
Технические        
Контракты        
Дееспособность        
Применимость        
Управляемость        

Кластеры Ферм

Четыре Фермы состоят из объединённых в кластеры узлов. Каждый кластер должен иметь как минимум один (а) вход, который для высокодоступных Ферм включает распределитель запросов (load balancer) на общественном веб-адресе, (б) синхронизацию ресурсов общих отдельных узлов, как минимум, баз данных, (в) мониторинг, (г) безопасность, включая защитные стены (firewall) и (д) систему резервного копирования (backup) и восстановления.
  • Работа над Деловой -- это проекты развития и поддержания Деловой Фермы. В настоящее время, кластер на основе трёх "железных" серверов принят у подрядчика после сборки и добавки функционала высокой доступности. Затем сюда будет перенесено содержимое прилад. Не решены вопросы (а) входа по IPv4, (б) безопасности за пределами iptables, (в) добавления NAS и продвинутого резервного копирования и восстановления, а также (г) продвинутого мониторинга. В качестве оптимизации расходов, рассматривается вопрос замены одного "железного" сервера на сервер Опытной Фермы.
  • Работа над Кампусной -- это проекты развития и поддержания Кампусной Фермы. В настоящее время, собран кластер из трёх виртуальных частных серверов, базы данных которых синхронизированы, и для них заказывается функционал высокой доступности, включая (а) вход, (б) мониторинг, (в) безопасность и (г) система резервного копирования и восстановления. К одному из серверов также подключено дополнительное хранилище, которое предполагается переделать на NAS.
  • Работа над Опытной -- это проекты развития и поддержания Опытной Фермы. В настоящее время, находится в неопределённом положении. Формально, она состоит из двух "железных" серверов, однако они фактически не включены в работу. Из всех Ферм, эта -- единственная, которая не требует функционала высокой доступности из-за эксперементальной природы установленных на ней приложений. Из-за отсутствия высокой доступности, эта ферма потребует продвинутую систему резервного копирования и восстановления.
  • Работа над Оплётной -- это проекты развития и поддержания Оплётной Фермы. В настоящее время, состоит из двух виртуальных частных серверов, которые между собою не синхронизированы. Ожидается, что часть наработок Кампусной Фермы будет использованы здесь.
Ранее, использовалось частное облако построенное на OpenStack. Оно было закрыто из-за высокой стоимости и низкой в то время загруженности. Развитие проекта может потребовать перевода части ресурсов Ферм на облачное решение снова. В последнее время, популярным также стал Apache CloudStack. Eсли таковое решение будет принято, необходимо будет решить, какой пакет обеспечения задействовать и будет ли это развитием Опытной или Оплётной Фермы.
Утверждённые проекты кластеров Ферм
Работы Над Деловой Над Кампусной Над Опытной Над Оплётной
Высшие        
Прототипы        
Пользовательские        
Рабочие        
Технические        
Контракты        
Дееспособность        
Применимость        
Управляемость        

Оплёт

Разработку Оплёта можно разбить на две группы:

  1. Услуги приладам -- это усилия по построению тех федерационных услуг, которые Оплёт предоставляет пользовательским приложениям.
  2. Услуги пользователям -- это усилия по построению тех услуг, которые Оплёт предоставляет конечным пользователям.

Усилия по переделке Оплёта на кластер относятся к проектам связок баз.

Для прилад

  • Перевод Оплёта на WSO2 IS -- перевод Оплёта с использования OpenLDAP в его коммуникации с приладами на использование WSO2 IS. OpenLDAP не позволяет осуществить услугу "технологии единого входа" (single sign-on или SSO). Кроме того, созидатели Облака столкнулись с проблемой изменения ролей в OpenLDAP.
  • Регистрация Оплёта на курсы -- перевод регистрации на курсы участников Bskol из Учебки в Оплёт. Регистрация на курсы в Учебке сегодня осуществляется через инструмент cron, который имеет задержку срабатывания. Однако главная проблема, которую надо решить, -- это регистрация участников в учебных системах, которые отличаются от Учебки.
  • Почтовый агрегатор Оплёта -- федерализация отдельных почтовых агентов различных приложений.
  • Регистрация Оплёта в приладах -- добавление приладам функции регистрации пользователей в Оплёте. В данный момент, пользователь должен предварительно зарегистрироваться в Оплёте для того, чтобы пользоваться продвинутыми услугами прилад.
  • Роли Оплёта -- добавление функции автоматического изменения ролей Оплёта в зависимости от завершения курсов и определённых элементов курсов на Учебке. В данный момент, роли в Оплёте изменяются только администраторами вручную.
  • Склады Оплёта -- добавление федеративных баз данных и хранилищ в Оплёт и синхронизация хранения данных по всему Облаку. Прежде всего, эта федерация касается данных клиентов для Справы и Связки. Ранее, обсуждалась возможность использования MongoDB для хранения данных, MuleESB для их сбора и Apache Hadoop для "причёсывания". В дополнение, шёл разговор об включении будущего вики-склада для хранения картинок используемых в Брацкой Правке в Оплёт. Ещё одной идеей было задействование Брацкой Крынки в хранении файлов.
  • Тестовый агрегатор Оплёта -- перенос блока банка вопросов из Учебки в Оплёт.
Утверждённые проекты услуг Оплёта для прилад
Работы Идентификация Курсы Почтовый агрегатор Регистрация Роли Склады Тесты
Высшие              
Прототипы              
Пользовательские              
Рабочие              
Технические              
Контракты              
Дееспособность              
Применимость              
Управляемость              

Для пользователей

  • Интерфайс Оплёта -- обновление интерфейса opplet.net до лучше выглядещего и более удобного для пользователей.
  • Мероприятия Оплёта -- добавление функции управления участия в мероприятиях организованных в рамках проекта Bskol.
  • Почта корпоративная -- доведение услуг почты Оплёта от минимально-жизнеспособного продукта до готового изделия.
  • Рассылки Оплёта -- добавление функции подписки на рассылки и отписки от них.
Утверждённые проекты услуг Оплёта для пользователей
Работы Интерфейс Мероприятия Оплёта Почта корпоративная Рассылки
Высшие        
Прототипы        
Пользовательские        
Рабочие        
Технические        
Контракты        
Дееспособность        
Применимость        
Управляемость        

Прилады

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

  1. Обновлять все приложения до последних стабильных версий и устанавливать свежие патчи, если и когда они появляются в наличии. Основное требование для любого приложения -- привязка к нашему WSO2 Identity Server (WSO2 IS). Дополнительное требование для любого приложения -- привязка к нашему OpenLDAP.
  2. Документировать то, что у нас есть, и выявлять проблемы.

Использующие MariaDB

Пять полных прилад Облака используют MariaDB в качестве своих баз данных:
  • Работа над Бачками для разработок Брацкой Бачки, её курсовой и будущей версии, а также ПО. В настоящее время, основная прилада установлена, но не используется. Ранее, туда были записаны несколько пробных видео, их судьба в данный момент не известна. Основная прилада, скорее всего, не будет установлена на главном кластере Кампусной Фермы из-за особенностей добавки функционала высокой доступности. Нет решения где и как она будет окончательно установлена.
  • Работа над Вебками для разработок Брацкой Вебки, её курсовой и будущей версии, а также ПО. В настоящее время, установленных прилад нет. Предпринималось несколько попыток установки, однако эффективной стратегии борьбы с вирусами найдено не было.
  • Работа над Правками для разработок Брацкой Правки, её курсовой и будущей версии, а также ПО. В настоящее время, основная прилада установлена и активно используется. Из-за проблем интеграции с LDAP, версии уже несколько лет не обновляются. Также периодически появляются проблемы с картинками. Почтовый агент либо не подключен, либо не работает.
  • Работа над Сетками для разработок Брацкой Сетки, её курсовой и будущей версии, а также ПО. В настоящее время, основная прилада установлена, но используется несистематически. Почтовый агент либо не подключен, либо не работает.
  • Работа над Учебками для разработок Брацкой Учебки, её курсовой и будущей версии, а также ПО. В настоящее время, основная прилада установлена и активно используется. Несколько проблем задокументировано на странице Работа над Учебками. Почтовый агент либо не подключен, либо не работает.
Утверждённые проекты использующих MariaDB прилад
Работы Бачки Вебки Правки Сетки Учебки
Высшие          
Прототипы          
Пользовательские          
Рабочие          
Технические          
Контракты          
Дееспособность          
Применимость          
Управляемость          
Так как приложения существуют не в вакууме, часть усилий по развитию приложений относится к другим группам. Например, к:

Неиспользующие MariaDB

Утверждённые проекты неиспользующих MariaDB прилад
Работы Крынки Связки Справы Жици
Высшие        
Прототипы        
Пользовательские        
Рабочие        
Технические        
Контракты        
Дееспособность        
Применимость        
Управляемость        

Опытные

Усилия по построению перспективных и популярных ресурсов Облака:
  • MediaWiki LDAP -- уже много лет, стабильная версия MediaWiki не обновляется из-за конфликта новых версий с нашим плагином LDAP. Однако принято решение о переводе интеграции на WSO2 IS и не ясно, будет ли оставлен LDAP в качестве обязательного.
  • OpenEdX -- Moodle решено оставить исключительно под три начальных курса Лестницы к Профессии. Другие курсы, включая языковые, планируется делать на платформе OpenEdX.
  • ProjecQtOr -- некогда был установлен для коротких тренингов по ПО для управления проектами.
  • Redmine -- некогда использовался для Крынки, сейчас рассматривается возможность оставить для тренинга или в качестве "музейного" экспоната.
  • Taiga -- некогда был установлен для коротких тренингов по ПО для управления проектами.
Утверждённые эксперименты с приладами
Работы MediaWiki LDAP OpenEdX ProjecQtOr Redmine Taiga
Высшие          
Прототипы          
Пользовательские          
Рабочие          
Технические          
Контракты          
Дееспособность          
Применимость          
Управляемость          

Предприятие

Администрация Облака

Утверждённые проекты по построению администрации
Работы Кадровое Организационное Финансовое Юридическое
Высшие        
Прототипы        
Пользовательские        
Рабочие        
Технические        
Контракты        
Дееспособность        
Применимость        
Управляемость        

Внешние операции

Утверждённые проекты по построению внешних операций
Работы Индустрия Разработчики Технологии Техподдержка Эксплуатационщики
Высшие          
Прототипы          
Пользовательские          
Рабочие          
Технические          
Контракты          
Дееспособность          
Применимость          
Управляемость          

Группы вовлечённых

Утверждённые проекты по построению групп вовлечённых
Работы Комитеты Советы Пользователи Сисадмины
Высшие        
Прототипы        
Пользовательские        
Рабочие        
Технические        
Контракты        
Дееспособность        
Применимость        
Управляемость        

Назовите свои

See also

Related lectures