Difference between revisions of "CNM Cloud requirements"

From CNM Wiki
Jump to: navigation, search
(Created page with "CNM Cloud requirements is a set of detailed requirements for CNM Cloud. This document has been drafted to assist cloud developers to come up with detailed implementati...")
 
 
(22 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[CNM Cloud requirements]] is a set of detailed requirements for [[CNM Cloud]]. This document has been drafted to assist cloud developers to come up with detailed implementation of [[enterprise private cloud]] with an objective to host [[BigBlueButton]], [[Moodle]], [[MediaWiki]], [[Odoo]], and [[Redmine]] [[end-user software application]]s. Each of these application shall serve more than 100 users with a peak load capacity of 20 simultaneous users. The requirements have been drafted keeping in mind that users of above applications would require an uninterrupted very high availability.
+
[[CNM Cloud requirements]] (previously known as [[CNM software requirement]]s and [[CNM app requirement]]s) is the [[requirements specification]] for [[Opplet]] (hereinafter, the ''Cloud'').
  
The target audience for this document is [[cloud architect]]s, [[DevOps engineer]]s and [[system administrator]]s.
 
  
 +
==Business requirements==
 +
::''Main wikipage: [[CNM Cyber requirements]]''
  
==Block storage==
+
==Solution requirements==
===Block Storage Objectives===
+
:With regard to its [[solution requirement]]s, the ''Cloud'' shall:
#Capacity requirement of 2T
+
:*'''Enable''':
#A peak speed of 110[[Mbps]] of data transfer
+
:*#More than one language support. Depending on the local language preference of the main user.
#A peak speed of 15-20[[Mbps]] of data transfer rate with about 20 parallel transfers
+
:*#Frequent updating as need arises and/or new versions of utilized software are available.
#3x Data redundancy
+
:*#Copying of data from one page to another.
#Super scalability
+
:*#Data backup by allowing automatic update as one works as well as creating copies offsite where it will be safe from theft or malfunction.
#Uniform load distribution
+
:*#Information sharing with in the team by sharing effortlessly.
#Shall be consumed by [[VM]]s and [[Container]]s
+
:*#Growth planning as it is scalable and self managed by apps.
#Shall be consumed by applications
+
:*'''Provide''' file storage especially for large heavy files.
#Shall be consumed by [[OpenStack]]
+
:*'''Allow''' integration of existing and new systems.
#An acceptable latency
 
  
===Storage Requirements===
+
===Ongoing tasks===
#Distributed striped [[GlusterFS]] volume shall be implemented for data redundancy, load balancing and scalability
+
#Monitor the ''Software'' for any problem and quickly respond to fix it.
#[[GlusterFS]] shall be implemented for serving block storage
+
#Make sure that the periodic backups are done and in complete health -- be ready to restore the ''Software'' as a drill upon request.
#System should be implemented with at least three or more stripes.
+
#Upgrade when a new stable version of the ''Software'' is available.
#A minimum of three bare metal servers shall be used to implement [[GlusterFS]].
+
#Keep the ''Software'' fully updated with the latest patches and updates to prevent security problems and maintain performance.
#Each of the node shall have at least 3 [[SSD]] drives each with capacity of 1TBx2 terabytes and 125GBx1.
+
#Make sure that the complete documentation and source files are maintained in [[CNM Lab]].
#Hardware configuration for each node shall be, a minimum of 4GB [[RAM]], 2 or more [[CPU]] Cores, 1+ [[GBE]] x 2 [[Network adapter]]/s.
 
  
==Object storage==
+
===New ''Software'' requirements===
===Object Storage Objectives===
+
New [[end-user application]]s may be included in [[Opplet]] on request if they comply with requirements as follows:
#Capacity requirement of 3T
+
#[[Open-source]]
#A peak speed of 110[[Mbps]] of data transfer
+
#The last stable version is no more than 2 years old.
#A peak speed of 15-20[[Mbps]] of data transfer rate with about 20 parallel transfers
+
#Implementation of reasonable safety recommendations.
#2x data redundancy
+
#Ability to use [[identity and access management]] provided by [[CNM Cabin]], including authorization and [[system-user role]]s, through [[OpenLDAP]].
#Super scalability
 
#Shall host [[Images]], [[Backups]] and [[Snapshots]]
 
#Shall host [[Docker Registry]]
 
  
===Object Storage Requirements===
+
==See also==
#Distributed [[OpenStack]] swift object volume shall be implemented for data redundancy, load balancing and scalability
 
#[[Swift]] object shall be implemented for serving [[Block storage]]
 
#A minimum of three bare metal servers shall be used to implement [[Swift]].
 
#Each of the node shall have at least 3 [[SATA]]/[[SCSI]] drives each with capacity of 1TBx2 terabytes and 125GBx1.
 
#Hardware configuration for each node shall be, a minimum of 4GB [[RAM]], 2 or more [[CPU]] Cores, 1+ [[GBE]] x 2 [[Network adapter]]s.
 
#The management network shall be separate from data for replications
 
#The [[OpenStack]] controller cluster shall be used to authenticate and authorise the usage of object storage.
 
#Possibility of using data and management network separate
 
 
 
==BigBlueButton==
 
===BigBlueButton Specific Objectives===
 
#This cluster should be built using bare metals.
 
#The streaming data that comes in and goes out should directly terminate on this application
 
#A minimum bandwidth of 80[[Mbps]] internet data streaming capacity is required.
 
 
 
===BigBlueButton Requirements===
 
#A two node cluster shall be implemented to host [[BigBlueButton]]
 
#Hardware configuration for each node shall be, a minimum of 8GB [[RAM]], 4 or more [[CPU]] Cores, 1+ [[GBE]] x 2 [[Network adapter]]s.
 
#Big blue button should be specifically implemented on [[Ubuntu]] 16.04 64-bit [[OS]]
 
#$A minimum of 500G of [[GlusterFS]] storage shall be made available to the cluster
 
#80[[Mbps]] symmetrical data transfer rate shall be made available to the cluster.
 
  
==Container/Magnum Cluster Requirements==
+
===Related lectures===
#A two node cluster shall be implemented to host [[Docker]]s
+
:*[[What Requirements Are]].  
#Hardware configuration for each node shall be, a minimum of 32GB [[RAM]], 4 or more [[CPU]] Cores, 1+ [[GBE]] x 2 [[Network adapter]]s.
 
#A best possible [[OS]] shall be chosen to implement this cluster, to accommodate maximum number of applications.
 
#At a minimum of ten applications shall run simultaneously.
 
#A minimum of 300G of [[GlusterFS]] storage shall be reserved for use by [[Container]]s
 
#A minimum of 300G of [[Swift]] object storage shall be reserved for use by docker registry
 
#All applications other than [[BigBlueButton]] shall be hosted using these [[Container]]s
 
  
==OpenStack Objectives==
+
[[Category: CNM Cyber Orientation]][[Category: Articles]]
#Should be able to act as single point infrastructure management console.
 
#A single authentication, authorisation agent for all the applications in the cloud.
 
#Should be able to make all the cluster and nodes in concert.
 
 
 
===Controller Cluster===
 
#A two node cluster shall be implemented to host [[OpenStack]] controller.
 
#Hardware configuration for each node shall be, a minimum of 8GB [[RAM]], 2 or more [[CPU]] Cores, 1+ [[GBE]] x 2 [[Network adapter]]s.
 
#A local storage of 256 GB [[SSD]] shall be used for [[OS]] and logs
 
#This cluster shall host [[OpenStack]] dashboard, neutron and authentication agent and any other dependencies.
 
 
 
===Compute Cluster===
 
#A two node cluster shall be implemented to host [[OpenStack Nova]].
 
#Hardware configuration for each node shall be, a minimum of 32GB [[RAM]], 4 or more [[CPU]] Cores, 1+ [[GBE]] x 2 [[Network adapter]]s.
 
#A local storage of 256 GB [[SSD]] shall be used for [[OS]] and logs
 
#This cluster shall host [[OpenStack Nova]] and Ironic ([[Bitfrost]] ??) services along with any other necessary dependencies.
 
 
 
===Cinder Cluster===
 
#A two node cluster shall be implemented to host [[OpenStack Cinder]].
 
#Hardware configuration for each node shall be, a minimum of 4GB [[RAM]], 2 or more [[CPU]] Cores, 1+ GBE x 2 [[Network adapter]]s.
 
#A local storage of 256 GB [[SSD]] shall be used for [[OS]] and logs
 
#This cluster shall host [[OpenStack Cinder]] and any other necessary dependencies.
 
 
 
===Senlin Cluster===
 
#TBD
 
 
 
==Security Requirements==
 
#TBD
 
 
 
==Internet and Floating IPs==
 
#At a minimum pack of 10-12 real [[IPv4]] would be required
 
#Each application interfacing user shall use 1-2 [[IP]] addresses as per application and design requirements.
 
 
 
==Networking Requirements==
 
#[[GlusterFS]] and [[Swift]] cluster shall have two separate networks
 
#[[VLAN]] tagging if necessary
 
#Number of networking
 
#TBD
 
 
 
==Monitoring and trouble Requirements==
 
#What monitoring tools
 
#Where to install
 
#TBD
 
 
 
==See also==
 
*[[Cloud lexicon]], a listing of links about computer terms
 

Latest revision as of 15:15, 16 November 2023

CNM Cloud requirements (previously known as CNM software requirements and CNM app requirements) is the requirements specification for Opplet (hereinafter, the Cloud).


Business requirements

Main wikipage: CNM Cyber requirements

Solution requirements

With regard to its solution requirements, the Cloud shall:
  • Enable:
    1. More than one language support. Depending on the local language preference of the main user.
    2. Frequent updating as need arises and/or new versions of utilized software are available.
    3. Copying of data from one page to another.
    4. Data backup by allowing automatic update as one works as well as creating copies offsite where it will be safe from theft or malfunction.
    5. Information sharing with in the team by sharing effortlessly.
    6. Growth planning as it is scalable and self managed by apps.
  • Provide file storage especially for large heavy files.
  • Allow integration of existing and new systems.

Ongoing tasks

  1. Monitor the Software for any problem and quickly respond to fix it.
  2. Make sure that the periodic backups are done and in complete health -- be ready to restore the Software as a drill upon request.
  3. Upgrade when a new stable version of the Software is available.
  4. Keep the Software fully updated with the latest patches and updates to prevent security problems and maintain performance.
  5. Make sure that the complete documentation and source files are maintained in CNM Lab.

New Software requirements

New end-user applications may be included in Opplet on request if they comply with requirements as follows:

  1. Open-source
  2. The last stable version is no more than 2 years old.
  3. Implementation of reasonable safety recommendations.
  4. Ability to use identity and access management provided by CNM Cabin, including authorization and system-user roles, through OpenLDAP.

See also

Related lectures