Cloud reference architecture

Ubuntu Cloud is OpenStack, the leading open cloud platform. Ubuntu is the reference operating system for the OpenStack project, which is why deploying OpenStack with Ubuntu is the best way to ensure a straightforward implementation.

The OpenStack components

OpenStack logical architecture

The OpenStack Compute component (codenamed Nova) enables you to provision and manage large networks of virtual machines, creating a redundant and scalable cloud-computing platform, based on Ubuntu. It gives you everything you need to run instances, manage networks and control access through users and projects. Like the rest of the Ubuntu operating system, it supports most standard hardware configurations and well-known hypervisors.

OpenStack Object Storage (codenamed Swift) creates redundant, scalable object storage using clusters of standardised storage servers. Rather than a file system or real-time data storage system, it provides a long-term storage system for more permanent, static data. Examples include virtual machine images, photo storage, email storage and backup archiving.

The OpenStack Image Service (codenamed Glance) provides discovery, registration and delivery services for virtual disk images. It includes a standard REST interface for identifying them in back-end stores such as OpenStack Object Storage, with new virtual disk images being registered via the Image Service.

Administrators can also access information on publicly available disk images and use the client library for streaming virtual disk images.

A multi-format registry, the OpenStack Image Service allows uploads of private and public images in the following formats:

  • Raw
  • VHD (Hyper-V)
  • VDI (VirtualBox)
  • qcow2 (Qemu/KVM)
  • Machine (kernel/ramdisk outside of image, also known as AMI)

The OpenStack Authentication service (codenamed Keystone) provides identity, token, catalogue and policy services for use by OpenStack components. It provides a pluggable back-end that has been designed to support various protocols (e.g. Basic Auth, OAuth, OpenID) for authentication and authorisation, allowing clients to obtain security tokens to access different cloud services.

The OpenStack management service or dashboard (codenamed Horizon) provides OpenStack users with a web-based user interface with which to control OpenStack's component services (Nova, Swift, Keystone, Glance) and a single API with which to access them.

The Horizon application also ships with a set of API abstractions for the core OpenStack projects, enabling developers to work on OpenStack without intimate knowledge of the APIs of every component.

There are three central dashboards, covering the core OpenStack applications:

  • Raw
  • VHD (Hyper-V)
  • VDI (VirtualBox)

Virtualisation

Ubuntu Server includes open-source hypervisors LXC and Xen, alongside its default option, KVM. All are supported as virtualisation options for Ubuntu Cloud Infrastructure deployments.

Alternative hypervisors are compatible with OpenStack, however, allowing Ubuntu Cloud Infrastructure to be deployed in custom configurations with almost any virtualisation technology. Supported options include:

  • KVM (Kernel-based Virtual Machine)
  • LXC (Linux Containers)
  • Xen**

A complete list of the features that can be controlled through OpenStack, by hypervisor, is available here.

* Generally only used for development purposes

** Requires the nova-compute service to be installed on DomU