CNM Cloud requirements
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 applications. 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.
The target audience for this document is cloud architects, DevOps engineers and system administrators.
Contents
Block storage
Block Storage Objectives
- Capacity requirement of 2T
- A peak speed of 110Mbps of data transfer
- A peak speed of 15-20Mbps of data transfer rate with about 20 parallel transfers
- 3x Data redundancy
- Super scalability
- Uniform load distribution
- Shall be consumed by VMs and Containers
- Shall be consumed by applications
- Shall be consumed by OpenStack
- An acceptable latency
Storage Requirements
- Distributed striped GlusterFS volume shall be implemented for data redundancy, load balancing and scalability
- GlusterFS shall be implemented for serving block storage
- System should be implemented with at least three or more stripes.
- A minimum of three bare metal servers shall be used to implement GlusterFS.
- Each of the node shall have at least 3 SSD 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 adapters.
Object storage
Object Storage Objectives
- Capacity requirement of 3T
- A peak speed of 110Mbps of data transfer
- A peak speed of 15-20Mbps of data transfer rate with about 20 parallel transfers
- 2x data redundancy
- Super scalability
- Shall host Storage images, Data backups and System snapshots
- Shall host Docker Registry
Object Storage Requirements
- 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 adapters.
- 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 80Mbps 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 adapters.
- 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
- 80Mbps symmetrical data transfer rate shall be made available to the cluster.
Container/Magnum Cluster Requirements
- A two node cluster shall be implemented to host Dockers
- Hardware configuration for each node shall be, a minimum of 32GB RAM, 4 or more CPU Cores, 1+ GBE x 2 Network adapters.
- 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 Containers
- 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 Containers
OpenStack Objectives
- 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 adapters.
- 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 adapters.
- 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 adapters.
- 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
New drafts
- The Cloud shall:
- Enable:
- More than one language support. Depending on the local language preference of the main user.
- Frequent updating as need arises and/or new versions of utilized software are available.
- Copying of data from one page to another.
- Data backup by allowing automatic update as one works as well as creating copies offsite where it will be safe from theft or malfunction.
- Information sharing with in the team by sharing effortlessly.
- 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.
- Enable:
See also
- Cloud lexicon, a listing of links about computer terms