How to start using OpenStack
discover a new way to build in the cloud
Maybe OpenStack is not the easiest computational technology to understand. Also, we can´t assume that all those interested in OpenStack have experience working with virtualization. However, in this introduction to OpenStack, we will try to explain in a simple way how the basic OpenStack architecture works and the current possibilities on how to start using it.
What is OpenStack and who created it?
First of all, let´s explain briefly what OpenStack is for. OpenStack is an operating system in the cloud that is in the category of Infrastructure as a service. OpenStack offers all the necessary components, services, and tools to install specific infrastructure in the cloud. OpenStack is a free open source, you can obtain it for free and modify it according to the infrastructure you need to set up.
OpenStack was created in 2010 by Rackspace company in association with NASA. Since then, the OpenStack growth has increased nonstop and is currently managed by the OpenStack Foundation. This non-profit foundation brings together an international community of developers, which members include tech giants such as IBM, DELL, CISCO, and VMWARE.
OpenStack in the Cloud
Before explaining how OpenStack works, let's summarize the functional structure of the cloud services.
As we know, the cloud is a type of Internet-based computing that offers data and computational processes shared with computers and any other device on demand. Cloud computing compromises three types of services divided into three categories:
PaaS (platform as a service): in this case, the provider offers the client a platform (operating system) to develop their applications.
SaaS (software as a service): Gmail, Google Drive, Dropbox and others are some examples of SaaS. Basically, the user receives access to software installed in the cloud where he can manage and store information.
IaaS (Infrastructure as a service): offers virtualization of physical servers so that the client can create their own infrastructure through the installation of instances to host operating systems, applications, data, etc. Everything is handled by the client. In fact, an IaaS is a base where PaaS or a SaaS lays on.
Why is it important to mention this? Because OpenStack lays on the infrastructure as a service category.
What can you do with OpenStack?
As we mentioned earlier, with OpenStack you can create your infrastructure in the cloud to install the platform you need to develop your applications. It allows you to install and execute the necessary instances for different types of environment (testing, development, etc.)
OpenStack deployment models
You can access OpenStack through five deployment models:
Local distribution: if the client has their own data center, just need to download the necessary software to install the OpenStack distribution that he chooses or he can build it from the scratch. This type of implementation requires experts in OpenStack.
Public cloud based on OpenStack: in this case, the provider offers its customers a public cloud based on OpenStack. In this case, the cloud provider or the data center is responsible for creating the cloud infrastructure based on OpenStack with all the services you need for the development of your project. This is one of the recommended and accessible options for beginners in OpenStack.
Hosted OpenStack private cloud: this option is ideal for those clients who need extreme confidentiality. In this case, the cloud provider installs a private cloud based on OpenStack that includes the underlying software and the OpenStack software.
Learn the basics of OpenStack architecture
The first thing you should know is that there is no OpenStack application that you can download to use. OpenStack architecture is based on several components which are modules that can be installed together or separately.
There are approximately 60 components or projects; the installation of some components is optional, but there are seven that are necessary to run OpenStack. We will briefly explain what you will need to run OpenStack.
The first layer to access and manage OpenStack is throughout these two components:
Keystone: to use any of the OpenStack services or components, you must first go through an authentication process using Keystone. Keystone manages the login and rights assigned to each user when using OpenStack.
Horizon: is the graphical interface or dashboard that manages the use of the OpenStack architecture. In Horizon, the user interacts with all OpenStack components, for example, Neutron, Nova etc.
The following table introduces the most important components of OpenStack.
Glance is responsible for managing services created by the instances. Therefore, Glance is responsible for managing and storing all the operating systems images you have, and their metadata definitions (i.e. Linux, Redhat etc). Glance services include discovery, registration, and recovery of images.
We could say that this is the core or the heart of OpenStack because it is where all the computing and processes are done, it launches instances and manages them. Nova is able to work with a lot of hypervisors. Nova is a built-in messaging architecture (i.e.RabbitMQ) and its services can be executed on several servers.
This component is responsible for controlling the network. In other words, it manages all the communication between the OpenStack services. Neutron delivers NaaS in virtual environments.
Swift is an Object Storage. Objects are entities that contain information. Each object has an ID that makes it unique and allows servers and users to obtain them when needed. Swift manages the containers where the objects are waiting. In conclusion, Swift can store any type of files or data efficiently and safely.
Cinder offers Block Storage services. To differentiate Swift from Cinder we could say that Swift is the hard disk of your computer and Cinder the external disk where you back up your information.
As openstack.org explains, Cinder virtualizes the management of block storage devices and provides the end users with a self-service API to consume those resources.
A brief introduction to the basic OpenStack architecture.
Learn the OpenStack basic operation
The following scheme explains the basic steps in using OpenStack.
Think of your OpenStack configuration
After knowing the basic operation of Open Stack, you should concentrate on what kind of configuration you need according to the project that you have in mind.
In Openstack.org you will find a catalogue with the most common configs for projects using OpenStack which include Big Data, Web Applications, Public Cloud, Web Hosting and more. In each case, support guides in PDF format are provided to help you with the set-up.
Buy a prepared distribution of OpenStack
There are numerous OpenStack distributions but you may not have a clue which one to choose. Also, there are many ways to install and deploy OpenStack throughout software distributions, each one adds their own value to the cloud.
A tailored-made cloud can be managed by administrators who have no experience with OpenStack and they can learn how to work with it, so they will be able to build their own OpenStack infrastructure later.
Some of the most popular OpenStack distributions are:
Red Hat: The Red Hat distribution is probably the strongest and with the best support so far.
Mirantis: easy to install on Linux. Uses a centralized system based on Fuel. Thanks to the increase of Mirantis users, there is more support and guides for this distribution.
Oracle OpenStack: based on the Oracle Linux distribution. It uses Docker and is mainly oriented on Oracle developers.
Ubuntu OpenStack: this is by far the most popular Linux distribution among users. Due to its popularity, there are many resources to help and support users.
Although OpenStack is one of the most promising cloud infrastructure platforms, learning to use it requires some time and patience. Fortunately, there are many resources and tutorials that can help you start taking the first steps in OpenStack. We suggest you take a look at these useful resources: