Home

OpenStack Reference Guide

Comprehensive guide to the open-source cloud platform

OpenStack Services

OpenStack consists of multiple independent but integrated services. Each service has a code name (like "Nova") and provides specific functionality through well-defined APIs. This modular approach allows you to deploy only the services you need.

Core Services

These services form the foundation of any OpenStack deployment:

Nova (Compute)

Function: Manages the lifecycle of compute instances (virtual machines) in an OpenStack environment.

Key Components:

  • nova-api: Accepts and responds to end user compute API calls
  • nova-scheduler: Determines which compute host to run an instance on
  • nova-compute: Daemon that creates and terminates VM instances via hypervisor APIs
  • nova-conductor: Mediates interactions between compute nodes and database
  • nova-novncproxy: Provides VNC console access to instances

Supported Hypervisors: KVM, QEMU, VMware ESXi, Hyper-V, Xen, LXC

Neutron (Networking)

Function: Provides "networking as a service" between interface devices managed by other OpenStack services.

Key Capabilities:

  • Create and manage virtual networks, subnets, and routers
  • Floating IP addresses for external connectivity
  • Security groups for firewall rules
  • Load Balancing as a Service (LBaaS)
  • VPN as a Service (VPNaaS)
  • Firewall as a Service (FWaaS)

Plugins: Open vSwitch, Linux Bridge, Cisco, VMware NSX, OpenDaylight

Keystone (Identity)

Function: Provides authentication, authorization, and service discovery for all OpenStack services.

Key Features:

  • User authentication and token management
  • Service catalog (directory of available services)
  • Policy-based authorization
  • Multi-tenancy support (projects/domains)
  • Federation with external identity providers (LDAP, SAML, OAuth)

Authentication Methods: Password, token, LDAP, OAuth2, SAML, Kerberos

Glance (Image Service)

Function: Discovers, registers, and retrieves virtual machine images.

Key Features:

  • Store and catalog VM images
  • Image metadata management
  • Support for multiple storage backends
  • Image snapshots and cloning
  • Image format conversion

Supported Formats: RAW, QCOW2, VMDK, VHD, ISO, AMI, AKI, ARI

Storage Backends: Local filesystem, Swift, Ceph RBD, S3, HTTP

Storage Services

Cinder (Block Storage)

Function: Provides persistent block storage to running instances (like Amazon EBS).

Key Features:

  • Create, attach, and detach block volumes
  • Volume snapshots and backups
  • Volume cloning and extending
  • Volume encryption
  • Quality of Service (QoS) specifications
  • Volume migration and replication

Storage Backends: Ceph RBD, LVM, NFS, iSCSI, NetApp, EMC, Pure Storage, and 70+ others

Swift (Object Storage)

Function: Scalable redundant storage system for objects and files (like Amazon S3).

Key Features:

  • Store and retrieve arbitrary unstructured data
  • Built-in replication and redundancy
  • No single point of failure
  • Scales horizontally by adding storage nodes
  • RESTful HTTP API
  • S3-compatible API available

Use Cases: Backups, archives, static website content, media files, VM images

Manila (Shared Filesystem)

Function: Provides shared filesystems as a service (NFS, CIFS).

Key Features:

  • Create and manage shared filesystems
  • Access control lists
  • Snapshots and replication
  • Share across multiple instances

Protocols: NFS, CIFS/SMB, GlusterFS, HDFS, CephFS

Optional Services

Horizon (Dashboard)

Function: Web-based user interface to OpenStack services.

Capabilities:

  • Launch instances, manage networks
  • Create volumes and snapshots
  • Manage users, projects, and roles
  • View usage statistics and quotas
  • Access VM consoles via VNC/SPICE

Note: Built with Django/Python, customizable and extensible

Heat (Orchestration)

Function: Orchestration service for deploying complex cloud applications (like AWS CloudFormation).

Key Features:

  • Template-based resource provisioning
  • Auto-scaling groups
  • Rolling updates
  • Nested stacks
  • AWS CloudFormation template compatibility

Template Format: HOT (Heat Orchestration Template) or CFN (CloudFormation)

Ceilometer (Telemetry)

Function: Collects measurements of cloud resource usage for monitoring, metering, and billing.

Metrics Collected:

  • Instance CPU, memory, disk, network usage
  • Storage consumption
  • Network bandwidth
  • Custom application metrics

Often paired with: Gnocchi (time-series database), Aodh (alarming service)

Ironic (Bare Metal)

Function: Provisions bare metal machines instead of virtual machines.

Use Cases:

  • High-performance computing requiring direct hardware access
  • Database servers needing maximum I/O
  • NFV workloads requiring SR-IOV
  • Workloads with software licensing tied to physical cores

Power Management: IPMI, iLO, iDRAC, Redfish

Magnum (Container Orchestration)

Function: Provides container orchestration engines (Kubernetes, Docker Swarm, Mesos) as a service.

Features:

  • Deploy Kubernetes clusters on demand
  • Auto-scaling cluster nodes
  • Integrated with Keystone for auth
  • Leverages Neutron for networking

Trove (Database as a Service)

Function: Provides relational and non-relational database engines as a service.

Supported Databases:

  • MySQL, PostgreSQL, MariaDB
  • MongoDB, Cassandra, Redis
  • CouchDB, Percona

Features: Automated backups, replication, high availability

Barbican (Key Manager)

Function: Secure storage, provisioning, and management of secrets (passwords, keys, certificates).

Manages:

  • Symmetric and asymmetric keys
  • Certificates and certificate authorities
  • Raw binary secrets

Backend Support: PKCS#11, KMIP, Vault, software encryption

Designate (DNS as a Service)

Function: Multi-tenant REST API for managing DNS zones and records.

Features:

  • Create and manage DNS zones
  • Automated record creation for instances
  • Integration with multiple DNS servers

Backends: BIND9, PowerDNS, Microsoft DNS, Akamai

Octavia (Load Balancer)

Function: Load balancing as a service (successor to Neutron LBaaS).

Features:

  • Layer 4 and Layer 7 load balancing
  • Health monitoring
  • TLS termination
  • Horizontally scalable amphora-based architecture

Algorithms: Round robin, least connections, source IP

Service Maturity

Maturity Level Services Description
Stable & Mature Nova, Neutron, Keystone, Glance, Cinder, Swift, Horizon Battle-tested, production-ready, widely deployed
Production Ready Heat, Ironic, Barbican, Octavia, Designate Mature enough for production, growing adoption
Growing/Evolving Magnum, Trove, Manila, Senlin, Zaqar Functional but evolving, evaluate before production use
Deprecated Ceilometer (replaced by Gnocchi/Panko) Being phased out, migrate to replacements

Choosing Services

Minimal Deployment (Basic IaaS)

Required:

  • Nova (Compute)
  • Neutron (Networking)
  • Keystone (Identity)
  • Glance (Images)

Recommended: Horizon (Dashboard), Cinder (Block Storage)

Standard Production Deployment

Core services plus:

  • Swift: Object storage for backups and images
  • Heat: Application orchestration
  • Ceilometer/Gnocchi: Monitoring and metering
  • Barbican: Secrets management
  • Octavia: Load balancing

Enterprise/Large-Scale Deployment

All above plus specialized services based on requirements:

  • Ironic: If bare metal provisioning needed
  • Magnum: For container orchestration
  • Trove: If DBaaS is required
  • Manila: For shared filesystem needs
  • Designate: For automated DNS management

Each service adds complexity to deployment and operations. Start with core services and add optional components as your requirements grow. Many successful OpenStack clouds run perfectly well with just the core services.