Brands
Discover
Events
Newsletter
More

Follow Us

twitterfacebookinstagramyoutube
Yourstory

Brands

Resources

Stories

General

In-Depth

Announcement

Reports

News

Funding

Startup Sectors

Women in tech

Sportstech

Agritech

E-Commerce

Education

Lifestyle

Entertainment

Art & Culture

Travel & Leisure

Curtain Raiser

Wine and Food

YSTV

ADVERTISEMENT
Advertise with us

OpenStack Internals– Introduction

Monday October 08, 2012 , 4 min Read

Objective

This post provides a high level overview of various components of OpenStack, thereby setting stage for more in depth discussions in subsequent posts. With the buzz around Folsom release and the Grizzly summit, this series of posts intend to bring the CloudStory readers upto speed with OpenStack internals. This series is inspired by Ken Pepple’s post on Folsom Architecture and uses Folsom release as the reference. Differences with prior releases are noted appropriately.

OpenStack vs AWS Services comparison

As much as I don’t like to use AWS as standard, for the ease of understanding, I’ve compared with OpenStack components with similar components of AWS. Please note that this is not a 1:1 mapping. Among these, Quantum and Cinder were introduced for the Folsom release. All these components are available as services.

ComponentsOpenStack AWS (closest match)
Virtual Server ManagementNovaEC2
Image ManagementGlanceAMI catalog
Object StoreSwiftS3
Block StoreCinderEBS
Network ManagementQuantumVPC
IdentityKeystoneAmazon IAM
Management Console/ DashboardHorizonAWS Console

High Level Diagram

Following diagram explains all these services in the context of the resources they manage. Please note that this doesn’t depict the exact deployment architecture. Services are shown in different color to show what resources they control (for instance, Nova in red controls hosts and virtual servers).


open_stack

Nova

This is the oldest component of OpenStack,responsible for Virtual Machine management operations – create/ start/ stop/ delete VMs etc. Unique feature of this component is that it supports multiple hypervisors – libvirt for KVM/ QEMU, XenAPI for XenServer etc (as opposed to specific hypervisor only limitations on many proprietary cloud management platforms like VmWare). Nova itself comprises of various entities such as nova-api (programmatic end point), nova-compute, nova-scheduler, nova-volume, nova-network, a queuing component (usually RabbitMQ), a database (usually MySQL) and console services.

Glance

This is responsible for managing Virtual Machine Images (AMI in AWS jargon). One can create, register, retrieve and store images. An image provides the ‘software’ for the virtual machine – the operating system and any custom software along with metadata. Glance consists of various entities such as glance-api, glance-registry and a storage repository to store these images.

Swift

Swift is the Object store – essentially a repository to store files. This consists of a proxy-server (swift-proxy-server) and various other entities such as object server, container server, account server, replication service, updater, etc. This is responsible for providing storage repository for non-relational data objects.

Keystone

Keystone is the Identity service responsible for authentication and access control. This enables key tenets like tenancy, roles, users, projects and tokens. This is responsible for determining who gets access to cloud resource and at what level.

Horizon

This is the user/ admin dashboard which can be used to manage the resources that constitute your cloud.

Cinder

Cinder is responsible for providing block storage. This is actually a servicified component of nova-volume (part of Nova). This supports volume creation and volume snapshots. This consists of cinder-api, cinder- volume and cinder-scheduler. Think ‘USB flash drive’ for your VM which can be attached and detached to/ from a VM.

Quantum

If you would like to contribute to OpenStack, get started at http://www.openstack.org/community/. You can follow @openstack or @openstackindia to stay current. If you would anything covered specifically in following posts, please let us know. Happy Stacking!This is responsible for managing virtual network management – creating virtual network interfaces, creating networks/subnets, assign IP addresses etc. This consists of a programmatic endpoint (quantum-server) and customizable plugins.

sriram_sub

Sriram Subramanianis a Cloud Specialist and an OpenStack enthusiast. He is also an individual member of OpenStack Foundation, passionate about OpenStack's success overall, and inIndia particularly. Most recently he was a lead developer at ComputeNext, building a Federated Cloud Marketplace, where he gained expertise in multiple cloud platforms, including OpenStack. Prior to ComputeNext, he worked at companies like Microsoft, HDS and Intel, working primarily on Virtualization and Cloud Computing. His previous public speaking engagements include OpenStack Folsom summit and Seattle Tech Forum. He enjoys helping early stage startups and startup ecosystems. You can follow him @sriramhere.