GJU cloud is composed of nine compute nodes connected via Cisco N2K switches. Each node has 20 cores and 128 GB of memory. Also, tremendous storage is provided by the EMC VNXe1600 Network-Attached Storage. The cloud is currently connected to the internal GJU network. Our plan is to enable public access of the cloud from outside GJU campus after resolving some security challenges. The physical structure of GJU cloud is shown in Figure 1:
Figure 1: Physical structure of GJU cloud. |
GJU cloud is built based on OpenStack open-source platform. The software architecture of the cloud is shown in Figure 2. In this architecture, the controller node is responsible for managing the cloud, while the compute nodes perform the computational tasks. The cloud is accessed via a Cloud Operator, which can be an Internet browser software or remote access software, such as SSH clients.
Figure 2: High-level illustration of the data flow in GJU cloud. |
GJU cloud supports six core services and thirteen optional services. The services are described below:
Six Core Services:
Name | Service | Description |
Nova | Compute | Manages the lifecycle of compute instances in an OpenStack environment. Responsibilities include spawning, scheduling and decommissioning of machines on demand. |
Nova-Network (Neutron) | Networking | Enables network connectivity as a service for other OpenStack services, such as OpenStack Compute. Provides an API for users to define networks and the attachments into them. Has a pluggable architecture that supports many popular networking vendors and technologies. |
Glance | Image Service | Stores and retrieves virtual machine disk images. OpenStack Compute makes use of this during instance provisioning. |
Keystone | Identity | Provides an authentication and authorization service for other OpenStack services. Provides a catalog of endpoints for all OpenStack services. |
Swift | Object Storage | Stores and retrieves arbitrary unstructured data objects via a RESTful, HTTP based API. It is highly fault tolerant with its data replication and scale out architecture. Its implementation is not like a file server with mountable directories. |
Cinder | Block Storage | Provides persistent block storage to running instances. Its pluggable driver architecture facilitates the creation and management of block storage devices. |
Thirteen Optional Services:
Name | Service | Description |
Horizon | Dashboard |
Provides a web-based self-service portal to interact with underlying OpenStack services, such as launching an instance, assigning IP addresses and configuring access controls. |
Ceilometer | Telemetry |
Monitors and meters the OpenStack cloud for billing, benchmarking, scalability, and statistical purposes. |
Heat | Orchestration |
Orchestrates multiple composite cloud applications by using either the native HOT template format or the AWS CloudFormation template format, through both an OpenStack-native REST API and a CloudFormation-compatible Query API. |
Trove | Database |
Trove is a database-as-a-service provisioning relational and non-relational database engines |
Sahara | Elastic Map Reduce |
Sahara aims to provide users with simple means to provision Hadoop clusters by specifying several parameters like Hadoop version, cluster topology, nodes hardware details and a few more. After a user fills all the parameters, Sahara deploys the cluster in a few minutes. Sahara also provides means to scale already provisioned cluster by adding and removing worker nodes on demand |
Ironic | Bare-Metal Provisioning |
|
Zaqar | Messaging Service |
|
Manila | Shared File systems |
|
Designate | DNS Service |
|
Barbican | Key Management |
|
Magnum | Containers |
Magnum is an OpenStack API service developed by the OpenStack Containers Team making container orchestration engines such as Docker and Kubernetes available as first class resources in OpenStack. |
Murano | Application Catalog |
The Murano Project introduces an application catalog to OpenStack, enabling application developers and cloud administrators to publish various cloud-ready applications in a browsable categorized catalog. |
Congress | Governance |
Congress is an OpenStack project to provide policy as a service across any collection of cloud services in order to offer governance and compliance for dynamic infrastructures. |