Difference between revisions of "CNM Cloud Project"

From CNM Wiki
Jump to: navigation, search
(Third phase -- company)
 
(317 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:
:'''Early 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''.
  
:'''Early 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]]''
  
:'''Early 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 retirement 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. To face this challenge, the idea of the [[WorldOpp]] programme emerged and started maturing in 2016-2018. Several endeavors to recruit vocational learners were attempted worldwide through some [[job-bidding website]]s. However, those websites granted access to only those freelancers who expected to exchange their time to money and were not willing to dedicate enough time to learning. More importantly, the technology behind the programme wasn't developed fully yet and the interested just didn't understand what they were supposed to do. As a result, the ''programme'' was postponed until the technology is developed.
+
===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 that was later used in [[CNM Productware]].
 
:#[[CNM Digital by Loredana C]]
 
:#Idea of [[WorldOpp]].
 
  
==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===
 
:{|class="wikitable" width=100% style="text-align:center;"
 
!colspan="2"|CNM 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
 
!(temporarily, outsourced)
 
|Not important for the ''Project''
 
|-
 
|rowspan="2"|[[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 the [[Yii]] framework
 
|-
 
|rowspan="5"|[[CNM app|Apps]]
 
|[[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===
 
:'''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. Its goal is to create the most simple system for onboarding employees and [[Careerprise vendor]]s. The team called this system ''embrio''.
 
 
: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]].
 
 
:'''Documenting challenge'''. Lack of procurement documentation is still the primary obstacle for the ''Project'' to move forward faster. There are a plenty of developers ready to implement technical requirements, but those requirements are needed to be documented. If some backup has been ''de-facto'' implemented, the state of cyber-security is either inappropriate or unknown.
 
 
:'''Early recruitment of apprentices'''. In winter of 2017-2018, [[Gary Ihar]] traveled to Ukraine in order to (1) test whether the [[WorldOpp]] programme in its current state could be successful there and (2) hire apprentices who could act as members of [[WorldOpp Fellow Staff]]. No apprentice candidates were found primarily because of two reasons: (a) its low unemployment rate and (b) its residents' tendency to favor the traditional educational system. The ''programme'' was clearly not ready to be launched there and then.
 
 
:'''Early recruitment of staffers'''. In summer of 2018, dozens of candidates, primarily from Kenya and Philippines were tested for [[WorldOpp Fellow Staff]] positions, 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><li>Documenting Consequently, no candidate has accomplished more than a dozen of actions on [[CNM Wiki]] so far.</li></ul></blockquote>The lack of recruitment and onboarding process is considered being the main problem to be solved. 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 get operational.
 
 
===Deliverables of embryo phase===
 
:#A software system capable to execute the [[#User stories for the embryo|User stories for the embryo]];
 
:#[[Contract]]s between [[Friends Of CNM]] and [[Careerprise vendor]]s to run:
 
:#*[[CNM Infrastructure]];
 
:#*[[CNM Productware]];
 
:#*[[CNM Courseware]];
 
:#*[[CNM Wikiware]];
 
:#*[[CNM Contentware]].
 
 
==Future phases==
 
===Third phase -- organization===
 
:[[CNM Enterpriseware]] shall be the primary deliverable of the third phase. Other deliverables may include [[Eventtune]], [[CNM Calendar]], [[CNM Videoshareware]], [[CNM Mailware]], [[CNM Talkware]]. New sprints of [[Opplet.net]] are also expected.
 
 
===Fourth phase -- security===
 
 
:Private clouds such as [[Dev Cloud]], [[Production Cloud]], and [[Control Cloud]] shall be primary deliverables of the fourth phase of the ''Project''.
 
:Private clouds such as [[Dev Cloud]], [[Production Cloud]], and [[Control Cloud]] shall be primary deliverables of the fourth phase of the ''Project''.
  
===Fifth phase -- federation===
+
===Marketable -- fifth (future) phase===
:At the fifth phase of the ''Project'', the initial requirements, [[CNM Digital 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.
+
: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==
 
===Team===
 
:Three team members are currently working on the ''Project'':
 
:#'''Romanof'''. As the PHP sub-project manager and developer, Romanof developed all working parts of the existing technology. Romanof also documented in [[Fixett]] a deal of the work done;
 
:#'''[[Mina Nizhnih]]'''. As the product owner, Mina is drafting documentation in [[CNM Wiki]] on every software included in the [[#Second phase|second phase]];
 
:#'''Natalia'''. As a vendor liaison, Natalia is working on [[CNM Wikiware]] documentation.  
 
  
===Completion rates===
+
==See also==
: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]]
 
!(temporarily, outsourced)
 
|Second (requirements and designs are drafted in Russian in [[Fixett]]; [[DigitalOcean]] is temporarily used for implementations)||90%||90%||90%||90%
 
|-
 
|rowspan="2"|[[CNM Middleware|Middleware]]
 
!rowspan="2"|[[Opplet.net]]
 
|rowspan="2"|Fourth (requirements and designs are drafted in Russian in [[Fixett]]; [[Opplet.net]] handles [[user management]] for [[CNM Cloud]])||rowspan="2"|75%||rowspan="2"|75%||rowspan="2"|75%||rowspan="2"|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 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%
 
|}
 
  
===Challenges===
+
===Related lectures===
:Lack of procurement documentation is still the primary obstacle for the ''Project'' to move forward faster. There are a plenty of developers ready to implement technical requirements, but those requirements are needed to be documented. If some backup has been ''de-facto'' implemented, the state of cyber-security is either inappropriate or unknown.
+
:*[[CNMCyber Projects]].  
  
===Vacancies===
+
[[Category: CNM Cyber Orientation]][[Category: Articles]]
:Neither education nor experience is needed for the vacancies listed below. Full-time (at least, 40 hours a week) availability and willingness to learn on the job (and any learning includes so-called "errors" and "mistakes") are absolute musts. Since [[English language]] is the primary medium at [[Friends Of CNM]], some level of English capacity is needed as well.
 
:*'''Urgently needed'''. Any assistance with documentation published at [[CNM Wiki]] for upcoming procurement or topics related to procurement of [[CNM Wikiware]], [[CNM Courseware]], [[CNM Productware]], [[CNM Contentware]], [[CNM Infrastructure]] is urgently needed. These topics may include any information on what needs to be done, how to select the best vendor, and how to make sure that the chosen vendor has delivered the requested product.
 
:*'''Needed on an ongoing basis'''. As always, the current team is hiring staffers of [[WorldOpp Fellow Staff]] generally and [[Friends Of CNM Cloud Administrator]] specifically to expedite the project.
 

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