Difference between revisions of "CNM Cloud Project"

From CNM Wiki
Jump to: navigation, search
 
(389 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[CNM Cloud Project]] (hereinafter, the ''Project'') is an endeavor to provide the [[Career Network Ministry]] with [[CNM Cloud]] in order to deliver services of [[CNM Digital]]. [[Friends Of CNM Cloud Administrator]] is responsible for this ''Project''.
+
[[File:Cnm-cloud.png|400px|thumb|right|[[Opplet]]]][[CNM Cloud Project]] (hereinafter, the ''Project'') is the endeavor undertaken to create [[Opplet]]. [[Educaship fellow]]s are responsible and members of [[CNMCyber Workforce]] (hereinafter, the ''Team'') shall be accountable for this ''Project''.
  
  
==Requirements==
+
==Project-wide requirements==
  
 
===Business requirements===
 
===Business requirements===
::''Main wikipage: [[CNM Digital]]''
+
::''Main wikipage: [[CNMCyber requirements]]''
  
===Technical requirements===
+
===Solution requirements===
::''Main wikipage: [[CNM Cloud]]''
+
::''Main wikipage: [[CNM Cloud requirements]]''
:A big portion of technical requirements is also published in Russian -- https://wiki.ksacerts.com/ru/Брацко_Облако
+
:[[CNM Cloud requirements]] is the best wikipage to overview general [[solution requirement]]s; however, different parts of the ''Cloud'' have their specific requirements that are or shall be published on their wikipages. A big portion of [[solution requirement]]s is also published in Russian -- https://wiki.friendsofcnm.org/ru/Брацко_Облако
  
==First phase -- beginnings==
+
==Phases==
===Initial user stories===
+
Five phases are identified as of December of 2018. The first two phases have been accomplished and the third is the current one.
:Initial user stories were created by Loredana C. and are published at [[CNM Digital by Loredana C]].
 
  
===Software used in early stages===
+
===Beginnings -- first (completed) phase===
:The first private cloud was built on an [[OpenStack]] instance. The applications included [[Opplet.net]], [[Redmine]], [[Apache Subversion]] ([[Apache Subversion|SVN]]), [[Moodle]], [[MediaWiki]], and [[WordPress]]. However, applications were not moved to the cloud because of its immaturity. Only [[Opplet.net]] and [[Redmine]] are still operational after the cloud was destroyed in order to cut costs.
+
::''Main wikipage: [[CNM Cloud Beginnings]]''
  
===History of the 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:
:'''Initial learning systems'''. Initial works that later contributed to the project were started as early as in 2007. The initial development team consisted of [[Mina Nizhnih]] as the code developer and product owner and Romanof as the PHP developer. Until 2014, solutions were presented by various combinations of [[MediaWiki]] and [[Moodle]]. A special solution to integrate those, called [[Opplet.net]], was initiated and coded by [[Mina Nizhnih]] in 2014. Revisions by Zlomovsky completed its first sprint in 2015. The first version of [[Opplet.net]] used [[SimpleSAMLphp]] as its authentication tool.
+
:#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 2017 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 [[CNMCyber by Loredana C]] requirements were developed during this initiating phase of the ''Project''.
  
:'''First enterprise-wide systems'''. In 2015-2016, the concept of [[CNM Digital]] emerged. Loredana C. developed initial requirements for a complex system to serve patrons of [[Career Network Ministry]] ([[Career Network Ministry|CNM]]). Later, the requirements were posted at [[CNM Digital by Loredana C]]. To implement those, Alexandrovich joined the team as the team architect and Natalia did so as the solution architect. Instances of [[Liferay]] and [[SuiteCRM]] were added and the platform was moved from [[DigitalOcean]] to [[Hetzner]] and newly based on [[Proxmox]]. Several instances of [[Odoo]] were also installed, but never integrated to the platform because [[Odoo]] didn't support [[SimpleSAMLphp]]. Romanof also installed an instance of [[Redmine]] separately from the platform. In addition, Romanof completed the second sprint of [[Opplet.net]] while moving its initial code from plain [[PHP]] to the [[Yii]] framework. In 2016, the platform collapsed and all developments, but [[Opplet.net]] and [[Redmine]], were lost. At the moment of the crash, [[Opplet.net]] and [[Redmine]] were still stored at [[DigitalOcean]].
+
===Embryo -- second (completed) phase===
 +
::''Main wikipage: [[CNM Cloud Embryo]]''
  
:'''First cloud'''. In 2016-2017, several projects were undertaken. Alexander was the primary technology vendor at that time, Eunice contributed to its requirements, and Wushnevska worked on [[Odoo]] and [[Redmine]] instances. Instances of [[Odoo]] were installed at [https://careernetworkministry.org careernetworkministry.org], [https://theeconomicgroup.org theeconomicgroup.org], and [https://worldopp.org worldopp.org]. However, the main development was the private cloud based on [[OpenStack]]. However, inability to integrate installations on a single platform and, particularly, Wushnevska's move from the project, led the developments to be postponed. The cloud was destroyed in order to cut expenses, but [[Odoo]] instances are still alive.
+
:[[File:Cnm-digital.png|400px|thumb|right|[[CNMCyber suite]]s]][[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 need]]s. 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.
  
:'''WorldOpp initiative'''. Recruitment of administrators had been the greatest challenge since the project's inception. In 2016-2018, several endeavors to bring new administrators on the board were attempted primarily in Ukraine and Kenya. No candidates were found in Ukraine. Dozens of candidates from Kenya were tested, but no one has been eventually brought on the board so far.<blockquote><ul><li>The majority of most motivated candidates were concentrated on their efforts instead of getting the results;</li><li>If those candidates were oriented on some results, their desired results were not communicated with the product owner and, consequently, their efforts couldn't be funded.</li></ul></blockquote>Consequently, no candidate has accomplished more than a dozen of actions on [[CNM Wiki]] so far. The lack of recruitment and onboarding process is considered being the main challenge. Thus, the initiative was postponed until the process based on renewed technology is developed and, particularly, [[Careerprise Orientation]], [[WorldOpp Placement Seminar]], and [[Septem Artes Administrativi]] are launched and operational.
+
===Minimal -- third (completed) phase===
 +
: ''Main wikipage: [[CNM Cloud Minimal]]''
  
===Deliverables of the beginnings===
+
: [[Educaship Odoo]] based on an [[Odoo]] instance shall be the primary deliverable of the third phase. Other deliverables may include [[CNM Calendar]], [[CNM Tubeware]], [[CNM Mailware]], [[Educaship Jitsi]]. New sprints of [[Opplet.net]] are also expected.
:#[[Opplet.net]] after two sprints.
 
:#A [[Redmine]] instance after its first sprint; the instance was later used in [[CNM Productware]].
 
  
==Second phase -- embryo==
+
===Usable -- fourth (current) phase===
===User stories for the embryo===
+
:''Main wikipage: [[CNMCyber Usable]]''
:Three [[user story|user stori]]es shall describe completion of the second phase:
 
:*'''(first user story)''' As a [[NetAnyone]], I shall be able to:
 
:*#Click the button, ''Get employed'', at some website and get to some registration page;
 
:*#Fill in my login name, password, and, optionally, email address;
 
:*#Submit the info, automatically (a) become a [[NetConsumer]], (b) obtain user's rights for [[CNM Wiki]], and (c) obtain student's rights for [[CNM Campus]], as well as get enrolled into [[Careerprise Orientation]];
 
:*#Complete [[Careerprise Orientation]] and automatically become a [[CertAssociate]].
 
:*'''(second user story)''' As a [[CertAssociate]], I shall be able to:
 
:*#Get enrolled into [[WorldOpp Developer Seminar]];
 
:*#Complete [[WorldOpp Developer Seminar]], automatically become a [[CertDeveloper]] and obtain user's rights for [[Fixett]].
 
:*'''(third user story)''' As a [[CertAssociate]], I shall be able to:
 
:*#Get enrolled into [[WorldOpp Placement Seminar]];
 
:*#Complete [[WorldOpp Placement Seminar]], automatically become a [[CertFellow]] and obtain sysop's rights for [[CNM Wiki]], and get enrolled into [[Septem Artes Administrativi]].
 
  
===Software used in the embryo===
+
:Private clouds such as [[Dev Cloud]], [[Production Cloud]], and [[Control Cloud]] shall be primary deliverables of the fourth phase of the ''Project''.
:{|class="wikitable" width=100% style="text-align:center;"
 
!colspan="2"|CNM&nbsp;software!!Description
 
|[[Careerprise service|Service]]
 
!Base(s)
 
|-
 
|rowspan="2"|[[CNM Platform|Platform]]
 
|[[CNM Infrastructure|Infrastructure]]||Hardware, [[operating system]](s), environment for programming languages to operate, [[database management system]]s, [[web server]]s
 
!Outsourced
 
|Not important for the ''Project''
 
|-
 
|[[CNM Middleware|Middleware]]||In this phase, [[user management software]] that manages authorization of users and their access to [[CNM app]]s
 
!rowspan="2"|[[Opplet.net]]
 
|rowspan="2"|Written specifically for the ''Cloud'' using [[YII]] framework
 
|-
 
|rowspan="5"|[[CNM app|Apps]]
 
|[[CNM Usernetware|Usernetware]]||[[User interface]] to allow end-users to interact with [[CNM Middleware]]
 
|-
 
|[[CNM Productware|Productware]]||Studio for [[CNM vendor]]s to document their developments and store developed files
 
![[Fixett]]
 
|[[Redmine]], [[Apache Subversion]] ([[Apache Subversion|SVN]]), (possibly) [[container]]s
 
|-
 
|[[CNM Courseware|Courseware]]||[[Learning management software]] to accommodate learning processes
 
![[CNM Campus|Campus]]
 
|[[Moodle]]
 
|-
 
|[[CNM Wikiware|Wikiware]]||[[Knowledge management software]] to develop corporate knowledge collaboratively and access the results
 
![[CNM Wiki|Wiki]]
 
|[[MediaWiki]]
 
|-
 
|[[CNM Contentware|Contentware]]||[[Content management software]] to empower [[CNM website]]s
 
![[FriendsOfCNM.org]]
 
|[[WordPress]]
 
|}
 
  
===History of the embryo===
+
===Marketable -- fifth (future) phase===
:'''Second cloud initiation'''. In 2018, Romanof as a PHP developer and PHP sub-project manager, [[Mina Nizhnih]] as the product owner, and Natalia as a vendor liaison initiated a new cloud endeavor. Instead of [[SimpleSAMLphp]], Romanof now implemented [[OpenLDAP]] for authentications. That development completed the third sprint of [[Opplet.net]]. A new instance of [[MediaWiki]] is used for [[CNM Wikiware]], an instance of [[Moodle]] is used for [[CNM Courseware]], instances of [[Apache Subversion]] ([[Apache Subversion|SVN]]) and [[Redmine]] are for [[CNM Productware]]. No private cloud itself is going to be launched in the second phase of the project. The most comprehensive documentation for this attempt was originally created in Russian (using [[CNM Productware]] and the Russian part of [[CNM Wiki]] at https://wiki.ksacerts.com/ru); however, since the recruitment efforts are shifting to East Africa and the United States, new documents shall be posted at the English part of [[CNM Wiki]].
+
:At the fifth phase of the ''Project'', the initial requirements, [[CNMCyber 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.
  
==Current state==
+
==See also==
===Team===
 
:All working parts of the existing technology are developed by Romanof. He as the PHP sub-project manager and developer and [[Mina Nizhnih]] as the product owner also are drafting documentation on every software included in the [[#Second phase|second phase]]; currently, Natalia is taking over [[CNM Wikiware]].
 
  
:The current team is hiring staffers of [[WorldOpp Fellow Staff]] generally and [[Friends Of CNM Cloud Administrator]] specifically to expedite the project.
+
===Related lectures===
 +
:*[[CNMCyber Projects]].  
  
===Completion rates===
+
[[Category: CNM Cyber Orientation]][[Category: Articles]]
:The [[DADI]] is the development cycle that includes 4 components: (1) [[enterprise discovery|discover]], (2) [[enterprise analysis|analyze]], (3) [[enterprise design|design]], and (4) [[enterprise implementation|implement]]. No component is fully developed to the date. The following table presents estimates on every component of every software to be launched: 
 
:{|class="wikitable" width=100% style="text-align:center;"
 
!colspan="2" rowspan="2"|CNM&nbsp;software
 
|rowspan="2"|[[Careerprise service|Service]]
 
!rowspan="2"|[[Sprint phase|Sprint]]
 
|colspan="4" style="background-color:#e6e6e6;"|'''DADI component'''
 
|-
 
![[enterprise discovery|Discover]]!![[enterprise analysis|Analyze]]!![[enterprise design|Design]]!![[enterprise implementation|Implement]]
 
|-
 
|rowspan="2"|[[CNM Platform|Platform]]||[[CNM Infrastructure|Infrastructure]]
 
!Outsourced
 
|Second (requirements and designs are drafted in Russian in [[Fixett]]; [[DigitalOcean]] is temporarily used for implementations)||90%||90%||90%||90%
 
|-
 
|[[CNM Middleware|Middleware]]
 
![[Opplet]]
 
|Fourth (requirements and designs are drafted in Russian in [[Fixett]]; [[Opplet]] handles [[user management]] for [[CNM Cloud]])||75%||75%||75%||75%
 
|-
 
|rowspan="5"|[[CNM app|Apps]]||[[CNM Productware|Productware]]
 
![[Fixett]]
 
|Second (requirements and designs are drafted in Russian in [[Fixett]]; the current implementation is located at a classified [[URL]])||50%||50%||50%||50%
 
|-
 
|[[CNM Courseware|Courseware]]
 
![[CNM Campus|Campus]]
 
|Second (requirements and designs are drafted in Russian in [[Fixett]] and English in [[CNM Wiki]]; the current implementation is located at https://campus.ksacerts.com)||25%||25%||25%||25%
 
|-
 
|[[CNM Wikiware|Wikiware]]
 
![[CNM Wiki|Wiki]]
 
|Second (requirements and designs are drafted in Russian in [[Fixett]] and English in [[CNM Wiki]]; the current implementations are located at https://wiki.ksacerts.com and, in Russian, at https://wiki.ksacerts.com/ru)||90%||90%||90%||90%
 
|-
 
|[[CNM Usernetware|Usernetware]]
 
![[Opplet.net]]
 
|Fourth (requirements and designs are drafted in Russian in [[Fixett]])||75%||75%||75%||75%
 
|-
 
|[[CNM Contentware|Contentware]]
 
![[CNM website|CNM&nbsp;website]]
 
|Second (requirements and designs are drafted in English in [[CNM Wiki]]; some implementations launched in the first sprint include [http://worldopp.org worldopp.org] and [http://careernetworkministry.org careernetworkministry.org])||25%||10%||10%||0%
 
|}
 

Latest revision as of 15:22, 14 April 2024

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


Project-wide requirements

Business requirements

Main wikipage: CNMCyber 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 on 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 2017 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 CNMCyber 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.

Minimal -- third (completed) phase

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

Usable -- fourth (current) phase

Main wikipage: CNMCyber Usable
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, CNMCyber 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.

See also

Related lectures