what is OpenStack – OpenStack offers open source software to build public and private clouds started by Rackspace (“Cloud Files” platform) and NASA (Nebula) in 2010. Currently more than 150 companies have joined the project such as Intel, Cisco, Dell, HP, AMD, Canonical, SUSE Linux, Red Hat, and IBM.
There are 3 main service families under OpenStack:
Figure 1: OpenStack Services
Presentation Layer: components here interact with users to accept and present information.
Logic Layer: intelligence and control functionality for cloud.
Resources Layer: Compute, Storage and Network Resources for Cloud.
Compute Infrastructure (Nova)
Figure 2: OpenStack Architecture
- Nova: cloud computing fabric controller
- Instance life cycle management
- Management of compute resources
- Networking and Authorization
- REST-based API
- Asynchronous eventually consistent communication
- Hypervisor agnostic: support for Xen, XenServer/XCP, KVM, UML, VMware vSphere and
- Hyper-V [No virtualization capabilities by itself; instead, it uses libvirt APIs to interact with the supported hypervisors.]
v Service providers offering an IaaS compute platform
v IT departments provisioning compute resources to teams and projects
v Processing big data with tools like Hadoop
v Scaling compute up and down to meet demand for web resources and applications
Storage Infrastructure (Swift)
Swift provides a distributed, eventually consistent virtual object store for OpenStack. It is analogous to Amazon Web Services – Simple Storage Service (S3).
- Storage of large number of objects
- Storage of large sized objects
- Data Redundancy
- Archival capabilities – Work with large datasets
- Data container for virtual machines and cloud apps
- Media Streaming capabilities
- Secure storage of objects
- Backup and archival
- Extreme scalability
Imaging Service (Glance)
OpenStack Imaging Service is a lookup and retrieval system for virtual machine images. It can be configured to use any one of the following 3 storage back-ends:
- OpenStack Object Store to store images
- S3 storage directly
- S3 storage with Object Store as the intermediate for S3 access
OpenStack Image Services are used for discovering, registering, and retrieving virtual machine images. The service includes a RESTful API that allows users to query VM image metadata and retrieve the actual image with HTTP requests. VM images made available through OpenStack Image Service can be stored in OpenStack Object Storage project, S3 storage.
An instance is a virtual machine provisioned by OpenStack on one of the nova-compute servers. When you launch an instance, a series of steps are triggered on various components of the OpenStack.
Figure 3: OpenStack Instance Life Cycle
In OpenStack, the networking is managed by a component called “nova-network”. This interacts with nova-compute to ensure that the instances have the right kind of networking setup for them to communicate among themselves as well as with the outside world.
- Flat Network
- Flat DHCP Network
- VLAN Network
The OpenStack Identity Service provides services for authenticating and managing user, account, and role information for OpenStack clouds running on OpenStack Compute and as an authorization service for OpenStack Object Storage.
List of the supported hypervisors with links to a relevant web site for configuration and use:
- Hyper-V 2008 – Use to run Windows-based virtual machines, specifically Windows 2008 R2 Datacenter or Enterprise Edition. You must install and run nova-compute on Windows servers that run the Windows-based virtual machines.
- KVM – Kernel-based Virtual Machine. The virtual disk formats that it supports it inherit from QEMU since it uses a modified QEMU program to launch the virtual machine. The supported formats include raw images, the qcow2, and VMware formats.
- LXC – Linux Containers (through libvirt), use to run Linux-based virtual machines.
- QEMU – Quick EMUlator, generally only used for development purposes.
- UML – User Mode Linux, generally only used for development purposes.
- VMWare ESX/ESXi 4.1 update 1, runs VMWare-based Linux and Windows images through a connection with the ESX server.
- Xen – XenServer 5.5, Xen Cloud Platform (XCP), use to run Linux or Windows virtual machines. You must install the nova-compute service on DomU.