OpenStack is a set of programs that form a cloud environment. The term cloud computing , that is, computing in the cloud, refers to decentralized access to programs and data. In the cloud, data is actually stored in different places, which can be geographically separated. This system requires an infrastructure that allows access to them in a decentralized way while still ensuring maximum security. After all, sensitive data should not only be highly available, but also protected from third-party access and possible loss..
Cloud solutions offer the unbeatable advantage of allowing end devices to access them without the need for high-performance hardware. The processing power is delivered in the cloud, in the cloud, and can be flexibly scaled: the only requirement is a fast and stable Internet connection. This advantage makes it possible to create a complex network more economically, since high hardware costs are eliminated . The costs derived from operating in the cloud are usually limited to the resources that are used. It is possible to use the cloud environment from rented virtual servers, a very attractive approach for small companies and startups that still cannot afford to spend a lot on IT infrastructure.
The OpenStack software package includes all the necessary components to create a cloud environment . Although it is a relatively young project, it is already considered mature in its evolution and safe. OpenStack was founded in 2010 by NASA, the US agency responsible for aeronautical and aerospace research , together with the Rackspace company. At that time, NASA wanted to have software for its projects that would allow to create computer networks in a flexible way and, in part, limited in time. To achieve this, prestigious companies such as AT&T, RedHat, Canonical (Ubuntu developer), Intel, IBM and Huawei got down to work..
OpenStack only works on Linux systems and was released under the Apache license. Its source code is, therefore, freely accessible and the program can be used unlimitedly for free . In October 2019 the already twentieth version of OpenStack was presented under the name Train .
The OpenStack cloud is made up of different elements, among which the following stand out:
Nova is the computing component of the OpenStack cloud and the first with which the project began in 2010. It is, so to speak, the backbone on which the most important task rests: the management of virtual computers . Since then, Nova has grown to the point of being able to manage entire groups of virtual computers, each of which connects with the others synaptically. In this connection there can be any number of nodal points (that is, of synapses). As a basis for virtual computers, Nova preferably uses the license-free hypervisors of the Linux KVM (kernel-based virtual machine), as well as the XEN monitor, developed by the University of Cambridge..
Keystone is responsible for granting rights and authenticating users ( identity ). In cloud computing , this includes not only individual computers, but also entire networks. Therefore, it is very important to ensure good user authentication and isolate partial elements. Keystone grants each cloud user (each mandant ) individual access conditions, which explicitly include their rights.
Glance is in charge of offering the images , that is, the representation of the data carriers of the virtual machines. You can also save and restore these images, so that it is possible to create libraries with the templates of the required systems, and then recreate the images on the network as many times as you want. Glance also guarantees availability by allowing the machines in question to be rebuilt at any time.
Neutron (formerly Quantum) is responsible for creating the OpenStack virtual network infrastructure - it is the component that enables subnetting, IP address management, and virtual networking (VLAN). Neutron also works with VPN (Virtual Private Networking). In this way, it enables, in the first place, the exchange of data between OpenStack components such as individual virtual machines. In addition, Neutron is responsible for generating the firewall of the network.
Cinder is responsible for creating permanent memories in block storage format such as hard drives. It does this through virtualization, which allows you to adapt the volume as desired (scalability). Cinder's block memory behaves like a physical hard drive on your computer. Data security is easily achieved, as the user accesses the disks through Cinder, using an interface that includes a snapshot function (instant volume copy).
Swift provides object storage : it can integrate various distributed storage systems and thus allows you to use data objects (which at first glance appear to be randomly distributed) on common disk drives. In this way, if necessary, redundancy can be created transparently, since objects can be copied to different physical media. In addition, the storage space that Swift offers can also be used with Cinder or Glance. It is also possible to use distributed object storage created with Ceph or GlusterFS as the basis of the structure.
Horizon is the dashboard , that is, the dashboard or graphical interface from which the components of the OpenStack set can be managed. User administration is also carried out from Horizon. Its design and functionality are customizable.
The OpenStack cloud is a software replica of an IT infrastructure that supports virtually all levels of complexity . The modules, which, in general, must be available in physical format, are virtually generated, depending on their function, by one of the components described above. The required storage space is created by Swift and, as appropriate, presented to the user thanks to Cinder as block storage space. The functionality of each of the servers and computers on the network is possible thanks to Nova, which is in charge of managing it. The set or pool of available virtual machines is accessed through Glance.
Neutron, for its part, is the component in charge of interconnections. It guarantees security through a firewall and, if necessary, also performs monitoring actions. Keystone regulates user authentication and rights. Thanks to Horizon, the system can be conveniently managed from the start. If, unexpectedly, more storage space or higher performance is required, the appropriate modifications can be made.
The OpenStack cloud offers the following benefits:
Unfortunately, the use of OpenStack is also associated with some disadvantages:
Since it is a license-free project, there is little cost to use OpenStack. Once the system has been installed, it can be operated very easily. If you use the virtual servers of the corresponding hosting service , you can enjoy a modest cloud computing solution for prices around 10-20 euros per month . Thus, OpenStack can be implemented as a platform for private cloud services : to create a wiki , for example. Also personal projects or business ideas, such as an online store, can be carried out using this service.
For SMEs, OpenStack is an ideal option to make the leap to cloud computing and be able to store their data and applications. A very convenient option is, for example, the creation of a public cloud , that is, a public cloud. OpenStack cloud access rights management offers many possibilities to work collaboratively, with different user accounts.
Large companies, for their part, can use OpenStack to locate part of their network infrastructure, such as the most sensitive data or programs, in the cloud. OpenStack can also be used in the framework of a multicloud system or as part of a hybrid cloud or hybrid cloud . This reduces the risk of application servers crashing, as they can be replicated as many times as you like. Data is always stored redundantly in the system, so that any loss can be ruled out in the event of hardware failure.
If you don't want to resort to OpenStack, you can recreate the services you need yourself using, for example, virtual servers and online memories. You could also even implement solutions like Owncloud or Nextcloud.
Other projects that offer similar services are:
In addition, more and more companies are using the convenient option of leaving the installation and management of their cloud in the hands of professional companies ( managed cloud ).
If you don't dare with OpenStack, you can also choose to contract a private cloud with IONOS, which offers you maximum flexibility and an infrastructure perfectly adapted to your needs.
Whichever option you choose when using cloud computing services , there will always be good reasons behind it. When it comes to cost and flexibility, cloud services are unbeatable . It is also a more sustainable option in the environmental sense, since it avoids the use of additional hardware that, perhaps, would be implemented inefficiently.
In any case, the most important factor is undoubtedly the security of the data. Trust must be total when making the decision to leave your own data or those of your customers in the hands of external services. In this regard, therefore, it is worth investing efforts in creating your own cloud with OpenStack, a consolidated and renowned project.