3. Our Services

The Research Computing Infrastructure Cloud is an OpenStack-based private cloud hosted by the Research Computing Service at the University of Cambridge, in the West Cambridge Data Centre.

The main goal is to provide infrastructure as a service (IaaS) that allows researchers facing today’s big challenges to easily use infrastructure resources such as compute, network and storage as a service.

The team behind this service has a large experience working in High-Performance environments, and building and managing supercomputing systems. They will perform the essential tasks and daily operations that you cannot — or prefer not to — in order to maintain your infrastructure up and running, so that you will get the most value out of your time.

First steps of migrating on-premise services to our service could be difficult to achieve. Please if you have any questions or need further help when implementing and be designing your architecture, don’t hesitate to contact us.

3.1. How our OpenStack is currently structured

Research Computing Services currently hosts an OpenStack-based private cloud in the West Cambridge Data Centre, for the provision of Infrastructure-as-a-Service compute, networking and storage resources to support research computing applications and virtual laboratories.

The Research Cloud is currently comprised of 80 Intel Haswell Xeon E5-2680v3-based virtual machine hypervisors, connected via a Mellanox 50Gb Ethernet interconnect and a 10Gb connection onto the Cambridge University Data Network.

Storage for running virtual machines can be allocated from a large Ceph cluster and mounted directly on virtual machines as block devices, in much the same manner as Elastic Block Storage in the Amazon cloud ecosystem.

3.1.1. Service Status

You can check the current status of our services here.

3.2. What is OpenStack?

OpenStack is an open source cloud computing platform that provides an Infrastructure-as-a-Service (IaaS) solution through a variety of complementary services.

This approach widely differs from a traditional hypervisor product that is focused on hosting virtual machines (VM): the VMs are used in the same way as traditional physical standalone servers, where one SysAdmin will provision the virtual machine, and maybe a different SysAdmin logs in and installs the database application, or other software. The VM then runs for a few years, stores the data locally on or an attached SAN and is backed up frequently.

It is correct that OpenStack also operates virtual machines, but the management approach differs greatly from that described above. Instances should be ready to use once they are created, with the application ready, and no further configuration needed. If an issue is encountered, you should deploy a new replacement instance, rather than spending time troubleshooting the failures.

OpenStack has a whole selection of services that work together to accomplish what’s been described above, it is implemented as a collection of interacting services that control compute, storage, and networking resources. The cloud can be managed with a web-based dashboard or command-line clients, which allow administrators to control, provision, and automate OpenStack resources. OpenStack also has an extensive API, which is also available to all cloud users.

The following diagram (Fig. 3.1) provides a high-level overview of the OpenStack core services and their relationship with each other. The (Fig. 3.1) shows a brief explanation about the function of each service.

OpenStack core components

Fig. 3.1 OpenStack Core Components and Services

Table 3.1 OpenStack Core Services list
       
1 Dashboard Horizon Dashboard to manage OpenStack services.
2 Identity Keystone Centralized service for authentication and authorization. of OpenStack services and for managing users, projects, and roles.
3 Networking Neutron Provides connectivity between the OpenStack services.
4 Block Storage Cinder Manages persistent block storage volumes for virtual machines.
5 Compute Nova Manages and provisions virtual machines running on hypervisor nodes.
6 Image Glance Registry service that you use to store virtual machine images and volume snapshots.
7 Object Storage Swift Allows users to store and retrieve files and arbitrary data.
8 Telemetry Ceilometer Provides measurements of cloud resources.
9 Orchestration Heat Template-based orchestration engine.

For more information, see the OpenStack Product Guide.

3.2.1. Key terms

Before proceeding, it is recommended you become familiar with some of the OpenStack-specific terminology that a new user would encounter early on.

  • Instance: This is a virtual machine. These are hosted on a dedicated hypervisor server, called a Compute node.
  • Project: A partitioned collection of OpenStack resources, combining users, instances, and virtual networks (among others). Projects allow you to keep one collection of users and instances separate from another collection. This is useful for OpenStack deployments that host multiple different departments or organizations. An administrator must specify a destination project for each user or instance they create.
  • Image: An operating system template. When you create an instance, you will need to decide which operating system it will run. OpenStack allows you to choose an operating system template, called an image. Pre-built images are available for CentOS and Red Hat Enterprise Linux.
  • Flavor: A virtual machine hardware template. Rather than having to specify how much RAM and CPU to allocate each time you build an instance, you can define a flavor to pre-configure these values. Your Red Hat OpenStack Platform deployment will already have flavors defined, from m1.tiny with 1GB RAM, through to the m1.xlarge with 16GB.
  • Security Group: These are firewall rules. Each project will have many of its own security groups, defining the traffic that is allowed to enter or leave the networks and instances in the project.

3.2.2. On-Premises Infrastructure Mapped to OpenStack

Many of our services have analogs in the Traditional IT space and terminology. This side-by-side comparison (Fig. 3.2) shows how OpenStack could mirror a traditional infrastructure with different services.

OpenStack Infrastructure and Services

Fig. 3.2 OpenStack Infrastructure and Services

On (Table 3.2) we compare some elements present in an on-premises solution with those services offered by OpenStack.

Table 3.2 On-premises elements mapped to OpenStack
Technology Stack On-Premises Solution OpenStack
Network Hardware (Router, switches) Neutron
Security HW and SW Firewalls Security Groups
Storage DAS, NAS, SAN Cinder, Swift, and Manila
Compute Hardware and Virtualization Nova instances
Load Balancing HW and SW Load Balancers, HA Proxy HA Proxy, OpenStack LBaaS
Scaling Apache Zookeeper AutoScaling
Domain Name Service DNS Providers Designate
Messaging and Workflow RabbitMQ Zaqar
Deployment Chef, Puppet, Ansible Heat
Management-Monitoring Ganglia, Zabbix Monasca