CNM Cloud Project
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.
Contents
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:
- Many experiments including software ventures and examinations of both technology and various organizational structures designed to support that technology;
- 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.
- 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:
- 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;
- Designed and is implementing a new recruitment process based on the core package of developed technology;
- Dramatically increased funding for both technology development and recruitment.
- Identified:
Minimal -- third (completed) 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.
Usable -- fourth (current) phase
- Private clouds such as Dev Cloud, Production Cloud, and Control Cloud shall be primary deliverables of the fourth phase of the Project.
Marketable -- 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 (здесь и далее -- Координаторы).
Фермы
Брацки Фермы (здесь и далее -- Фермы) представляют собою инфраструктуру для функционирования как пользовательских приложений Облака, так и обслуживающего эти приложения Оплёта.
Администрация Ферм
- Для целей этой вики-страницы, к администрации Ферм отнесены те разработки, которые могут быть использованы на нескольких, а не одной отдельно взятой Ферме:
- Интеграция для Облака -- построение Интеграции Облака на базе изучения возможностей интеграции Облака, например, использования Jenkins и Kafka, а также добавления VPN, например, для интеграции почтовых служб разных Ферм
- Конфигурация для Облака -- построение Конфигурации в Облаке на базе добавления возможности автоматического создания виртуальных машин, возможно, с использованием Terraform и Ansible
- Статистика для Облака -- построение Статистики в Облаке на базе изучения возможности использования ZooKeeper и log management
- Ревизия -- построение
Утверждённые проекты администрации кластеров Ферм Работы Интеграция Конфигурация Панели управления Рабочие среды Статистика Высшие Прототипы Пользовательские Рабочие Технические Контракты Дееспособность Применимость Управляемость
Базы
- Помимо построения кластеров узлов Брацких Ферм, планируется рассмотреть возможность связать аналогичные базы данных между собою для их более стабильного функционирования.
- MariaDB для Облака -- изучение возможности добавки к существующему кластеру MariaDB дополнительных функционалов, таких как MariaDB MaxScale и MariaDB xPand.
- PostgreSQL для Облака -- изучение возможности построения кластера PostgreSQL на Опытной Ферме.
- Базы для Оплёта -- изучение возможности построения кластера для Оплёта.
- Ceph для Облака -- использование Ceph в Облаке.
Утверждённые проекты баз данных Работы Над MariaDB Над PostgreSQL Над Оплётным Высшие Прототипы Пользовательские Рабочие Технические Контракты Дееспособность Применимость Управляемость
Домены
- CDN в Облаке -- изучение возможности использования функционала content delivery network или CDN для некоторой прилады Облака.
- DNSSEC в Облаке -- изучение возможности добавки к какой-то части Облака функционала DNSSEC.
- Geocast в Облаке -- изучение возможности добавки к какой-то части Облака функционала Geocast.
- IPv6 в Облаке -- перевод DNS Облака, кроме общественных доступов, на протокол IPv6.
- Ревизия DNS -- ревизия всех DNS записей Облака.
Утверждённые проекты доменов Работы CDN DNSSEC Geocast IPv6 Ревизия DNS Высшие Согласовано Прототипы Пользовательские Рабочие Технические Контракты Дееспособность Применимость Управляемость
Инструменты поддержки
Для целей этой вики-страницы, к инструментам поддержки Ферм отнесены инструменты разработок ПО и те инструменты администрирования на странице https://github.com/kahun/awesome-sysadmin, которые не задействованы в проектах описанных в других разделах.
- Панели управления для Облака -- построение Панелей управления в Облаке на базе изучения возможности добавления VestaCP, а также использования Cachet.
- Рабочие среды для Облака -- построение Рабочих сред в Облаке на базе изучения возможности добавления Eclipse.
Утверждённые проекты инструментов поддержки Ферм Работы Панели управления Рабочие среды Высшие Прототипы Пользовательские Рабочие Технические Контракты Дееспособность Применимость Управляемость
Кластеры Ферм
- Четыре Фермы состоят из объединённых в кластеры узлов. Каждый кластер должен иметь как минимум один (а) вход, который для высокодоступных Ферм включает распределитель запросов (load balancer) на общественном веб-адресе, (б) синхронизацию ресурсов общих отдельных узлов, как минимум, баз данных, (в) мониторинг, (г) безопасность, включая защитные стены (firewall) и (д) систему резервного копирования (backup) и восстановления.
- Работа над Деловой -- это проекты развития и поддержания Деловой Фермы. В настоящее время, кластер на основе трёх "железных" серверов принят у подрядчика после сборки и добавки функционала высокой доступности. Затем сюда будет перенесено содержимое прилад. Не решены вопросы (а) входа по IPv4, (б) безопасности за пределами iptables, (в) добавления NAS и продвинутого резервного копирования и восстановления, а также (г) продвинутого мониторинга. В качестве оптимизации расходов, рассматривается вопрос замены одного "железного" сервера на сервер Опытной Фермы.
- Работа над Кампусной -- это проекты развития и поддержания Кампусной Фермы. В настоящее время, собран кластер из трёх виртуальных частных серверов, базы данных которых синхронизированы, и для них заказывается функционал высокой доступности, включая (а) вход, (б) мониторинг, (в) безопасность и (г) система резервного копирования и восстановления. К одному из серверов также подключено дополнительное хранилище, которое предполагается переделать на NAS.
- Работа над Опытной -- это проекты развития и поддержания Опытной Фермы. В настоящее время, находится в неопределённом положении. Формально, она состоит из двух "железных" серверов, однако они фактически не включены в работу. Из всех Ферм, эта -- единственная, которая не требует функционала высокой доступности из-за эксперементальной природы установленных на ней приложений. Из-за отсутствия высокой доступности, эта ферма потребует продвинутую систему резервного копирования и восстановления.
- Работа над Оплётной -- это проекты развития и поддержания Оплётной Фермы. В настоящее время, состоит из двух виртуальных частных серверов, которые между собою не синхронизированы. Ожидается, что часть наработок Кампусной Фермы будет использованы здесь.
- Ранее, использовалось частное облако построенное на OpenStack. Оно было закрыто из-за высокой стоимости и низкой в то время загруженности. Развитие проекта может потребовать перевода части ресурсов Ферм на облачное решение снова. В последнее время, популярным также стал Apache CloudStack. Eсли таковое решение будет принято, необходимо будет решить, какой пакет обеспечения задействовать и будет ли это развитием Опытной или Оплётной Фермы.
Утверждённые проекты кластеров Ферм Работы Над Деловой Над Кампусной Над Опытной Над Оплётной Высшие Прототипы Пользовательские Рабочие Технические Контракты Дееспособность Применимость Управляемость
Оплёт
Разработку Оплёта можно разбить на две группы:
- Услуги приладам -- это усилия по построению тех федерационных услуг, которые Оплёт предоставляет пользовательским приложениям.
- Услуги пользователям -- это усилия по построению тех услуг, которые Оплёт предоставляет конечным пользователям.
Усилия по переделке Оплёта на кластер относятся к проектам связок баз.
Для прилад
- Перевод Оплёта на WSO2 IS -- перевод Оплёта с использования OpenLDAP в его коммуникации с приладами на использование WSO2 IS. OpenLDAP не позволяет осуществить услугу "технологии единого входа" (single sign-on или SSO). Кроме того, созидатели Облака столкнулись с проблемой изменения ролей в OpenLDAP.
- Регистрация Оплёта на курсы -- перевод регистрации на курсы участников Bskol из Учебки в Оплёт. Регистрация на курсы в Учебке сегодня осуществляется через инструмент cron, который имеет задержку срабатывания. Однако главная проблема, которую надо решить, -- это регистрация участников в учебных системах, которые отличаются от Учебки.
- Почтовый агрегатор Оплёта -- федерализация отдельных почтовых агентов различных приложений.
- Регистрация Оплёта в приладах -- добавление приладам функции регистрации пользователей в Оплёте. В данный момент, пользователь должен предварительно зарегистрироваться в Оплёте для того, чтобы пользоваться продвинутыми услугами прилад.
- Роли Оплёта -- добавление функции автоматического изменения ролей Оплёта в зависимости от завершения курсов и определённых элементов курсов на Учебке. В данный момент, роли в Оплёте изменяются только администраторами вручную.
- Склады Оплёта -- добавление федеративных баз данных и хранилищ в Оплёт и синхронизация хранения данных по всему Облаку. Прежде всего, эта федерация касается данных клиентов для Справы и Связки. Ранее, обсуждалась возможность использования MongoDB для хранения данных, MuleESB для их сбора и Apache Hadoop для "причёсывания". В дополнение, шёл разговор об включении будущего вики-склада для хранения картинок используемых в Брацкой Правке в Оплёт. Ещё одной идеей было задействование Брацкой Крынки в хранении файлов.
- Тестовый агрегатор Оплёта -- перенос блока банка вопросов из Учебки в Оплёт.
Утверждённые проекты услуг Оплёта для прилад Работы Идентификация Курсы Почтовый агрегатор Регистрация Роли Склады Тесты Высшие Прототипы Пользовательские Рабочие Технические Контракты Дееспособность Применимость Управляемость
Для пользователей
- Интерфайс Оплёта -- обновление интерфейса opplet.net до лучше выглядещего и более удобного для пользователей.
- Мероприятия Оплёта -- добавление функции управления участия в мероприятиях организованных в рамках проекта Bskol.
- Почта корпоративная -- доведение услуг почты Оплёта от минимально-жизнеспособного продукта до готового изделия.
- Рассылки Оплёта -- добавление функции подписки на рассылки и отписки от них.
Утверждённые проекты услуг Оплёта для пользователей Работы Интерфейс Мероприятия Оплёта Почта корпоративная Рассылки Высшие Прототипы Пользовательские Рабочие Технические Контракты Дееспособность Применимость Управляемость
Прилады
Усилия по построению пользовательских приложений, которые включены в существующую и могут потенциально быть включены в технологию перспективную. Для всех, надо:
- Обновлять все приложения до последних стабильных версий и устанавливать свежие патчи, если и когда они появляются в наличии. Основное требование для любого приложения -- привязка к нашему WSO2 Identity Server (WSO2 IS). Дополнительное требование для любого приложения -- привязка к нашему OpenLDAP.
- Документировать то, что у нас есть, и выявлять проблемы.
Использующие MariaDB
- Пять полных прилад Облака используют MariaDB в качестве своих баз данных:
- Работа над Бачками для разработок Брацкой Бачки, её курсовой и будущей версии, а также ПО. В настоящее время, основная прилада установлена, но не используется. Ранее, туда были записаны несколько пробных видео, их судьба в данный момент не известна. Основная прилада, скорее всего, не будет установлена на главном кластере Кампусной Фермы из-за особенностей добавки функционала высокой доступности. Нет решения где и как она будет окончательно установлена.
- Работа над Вебками для разработок Брацкой Вебки, её курсовой и будущей версии, а также ПО. В настоящее время, установленных прилад нет. Предпринималось несколько попыток установки, однако эффективной стратегии борьбы с вирусами найдено не было.
- Работа над Правками для разработок Брацкой Правки, её курсовой и будущей версии, а также ПО. В настоящее время, основная прилада установлена и активно используется. Из-за проблем интеграции с LDAP, версии уже несколько лет не обновляются. Также периодически появляются проблемы с картинками. Почтовый агент либо не подключен, либо не работает.
- Работа над Сетками для разработок Брацкой Сетки, её курсовой и будущей версии, а также ПО. В настоящее время, основная прилада установлена, но используется несистематически. Почтовый агент либо не подключен, либо не работает.
- Работа над Учебками для разработок Брацкой Учебки, её курсовой и будущей версии, а также ПО. В настоящее время, основная прилада установлена и активно используется. Несколько проблем задокументировано на странице Работа над Учебками. Почтовый агент либо не подключен, либо не работает.
Утверждённые проекты использующих MariaDB прилад Работы Бачки Вебки Правки Сетки Учебки Высшие Прототипы Пользовательские Рабочие Технические Контракты Дееспособность Применимость Управляемость
- Так как приложения существуют не в вакууме, часть усилий по развитию приложений относится к другим группам. Например, к:
- Доменным проектам относится CDN в Облаке.
- Эксперементальным проектам относится LDAP для Правки.
Неиспользующие MariaDB
- Перевод Крынки на GitLab для разработок Брацкой Крынки, её курсовой и будущей версии, а также ПО. Окончательный перевод Крынки с Redmine на GitLab. В настоящее время, GitLab стоит и несистематически используется, хотя и не на верном веб-адресе. База данных -- PostgreSQL. Тот Redmine, который использовался для Крынки, надо перевести на Опытно Облако.
- Работа над Связками для разработок Брацкой Связки, её курсовой и будущей версии, а также ПО. В настоящее время, не используется вообще. База данных -- PostgreSQL.
- Работа над Справами для разработок Брацкой Справы, её курсовой и будущей версии, а также ПО. В настоящее время, не используется, но есть планы переводить туда отдел кадров и рекрутирование. База данных -- PostgreSQL.
- Устойчивость для Жици для разработок Брацких Жиц, её курсовой и будущей версии, а также ПО. Построение кластера для высокой доступности Брацких Жиц. Основная прилада стоит и, в настоящее время, предпринимаются попытки её использования. База данных неизвестна.
Утверждённые проекты неиспользующих MariaDB прилад Работы Крынки Связки Справы Жици Высшие Прототипы Пользовательские Рабочие Технические Контракты Дееспособность Применимость Управляемость
Опытные
- Усилия по построению перспективных и популярных ресурсов Облака:
- MediaWiki LDAP -- уже много лет, стабильная версия MediaWiki не обновляется из-за конфликта новых версий с нашим плагином LDAP. Однако принято решение о переводе интеграции на WSO2 IS и не ясно, будет ли оставлен LDAP в качестве обязательного.
- OpenEdX -- Moodle решено оставить исключительно под три начальных курса Лестницы к Профессии. Другие курсы, включая языковые, планируется делать на платформе OpenEdX.
- ProjecQtOr -- некогда был установлен для коротких тренингов по ПО для управления проектами.
- Redmine -- некогда использовался для Крынки, сейчас рассматривается возможность оставить для тренинга или в качестве "музейного" экспоната.
- Taiga -- некогда был установлен для коротких тренингов по ПО для управления проектами.
Утверждённые эксперименты с приладами Работы MediaWiki LDAP OpenEdX ProjecQtOr Redmine Taiga Высшие Прототипы Пользовательские Рабочие Технические Контракты Дееспособность Применимость Управляемость
Предприятие
Администрация Облака
- Кадры для Облака -- построение Кадров Облака, отдела кадров и практик по обслуживанию существующего персонала.
- Организация для Облака -- построение Организации Облака, структуры организации стоящей за Облаком.
- Финансы для Облака -- построение Финансов Bskol, финансового учёта и отчётности, а также управления финансами.
- Юридическое для Облака -- построение Юридических аспектов Облака, юридического оформления деятельности Облака.
Утверждённые проекты по построению администрации Работы Кадровое Организационное Финансовое Юридическое Высшие Прототипы Пользовательские Рабочие Технические Контракты Дееспособность Применимость Управляемость
Внешние операции
- Индустрия для Облака -- построение Слежения за индустрией Облака, системы по сбору данных об индустриях Облака, их новостях и тенденциях, изучению этих данных, сравнение организации работы с Облаком с общими тенденциями и выработки предложений по измемениям в работе с Облаком.
- Разработчики для Облака -- построение Работы с разработчиками Облака.
- Технологии для Облака -- построение Слежения за технологиями Облака, системы по сбору данных о технологиях на рынках Облака, их новостях и тенденциях, изучению этих данных, сравнение предложений Облака с предложениями конкурентов и выработки предложений по измемениям в Облаке.
- Техподдержка для Облака -- построение Службы техподдержки Облака
- Эксплуатационщики для Облака -- построение Работы с эксплуатационщиками Облака.
Утверждённые проекты по построению внешних операций Работы Индустрия Разработчики Технологии Техподдержка Эксплуатационщики Высшие Прототипы Пользовательские Рабочие Технические Контракты Дееспособность Применимость Управляемость
Группы вовлечённых
- Комитеты для Облака -- построение Ценных Облаку комитетов
- Советы для Облака -- построение Ценных Облаку советов
- Пользователи для Облака -- построение Групп пользователей Облака
- Сисадмины для Облака -- построение Сообщества Сисадминов.
Утверждённые проекты по построению групп вовлечённых Работы Комитеты Советы Пользователи Сисадмины Высшие Прототипы Пользовательские Рабочие Технические Контракты Дееспособность Применимость Управляемость