Getting Started with OpenStack – Components and Data Resiliency
Table of contents
OpenStack is one of the most complex open-source projects. But it can hardly be otherwise when the platform consists of dozens of components.
In our previous article, “What is OpenStack?,” we gave a telegraphic overview of the platform’s history, showed its position in the market, and reflected on its future. Although OpenStack has had its better and worse moments, the final balance comes out in its favor. The platform has managed to establish itself in the market and is likely to stay with us for longer. For this reason alone, it is worth taking a closer look at its specific functionalities and architecture.
As mentioned in our earlier material, OpenStack is a set of tools for building private and public clouds. The project is released under the Apache License 2.0, which means you can use it for free, even for commercial purposes. Its development, including community building, is overseen by the Open Infrastructure Foundation, formerly known as the OpenStack Foundation. The project is supported by well-known brands such as Red Hat, Huawei, IBM, NTT, Ericsson, Cisco, OVH, Rackspace, Fujitsu, and Intel.
Why do companies use OpenStack?
Most organizations interested in migrating to the cloud opt for AWS, Microsoft Azure, or Google Cloud Platform. However, many companies choose alternative solutions, including OpenStack. While Chinese providers such as Tencent and Baidu may be driven to some extent by political considerations, the US and European telecoms are driven purely by economic calculations and functionality.
OpenStack enables users to deploy virtual machines and other instances that handle various tasks to manage a cloud environment. The platform features very high horizontal scalability. In practice, this means that a greater or smaller number of users can easily use concurrently running tasks by simply running more instances of the virtual machine. For example, a mobile application that needs to communicate with a remote server can split the work of communicating with each user into many different instances. They all communicate with each other and scale quickly and efficiently as the application gains more users.
But scalability is just one reason why organizations choose to build a cloud environment based on this solution. Of great importance is the fact that OpenStack is an open-source platform. While the lion’s share of commercially available systems that help virtualization and computing is expensive, OpenStack can be installed for free and customized with the required services. Anyone who decides to access the source code can make any changes and modifications needed while making them available to the entire community.
OpenStack is used by thousands of developers around the world who work together to create a robust and secure product. It is security, scalability, and open-source code, which is a decisive advantage of this platform. OpenStack has two mechanisms for sharing security information between community members: “Advisories” and “Notes.” The first Security Advisory (OSSA) is designed to deal with serious security issues occurring in OpenStack for which patches issued by the OpenStack VMT are available. ‘Notes,’ on the other hand, deal with issues that do not qualify as ‘Advisories,’ usually design problems.
The indispensable nine
People who are new to OpenStack can easily get lost looking through the system components. At first glance, it isn’t easy to guess which service is for what. Besides, the platform is often difficult to install precisely because of the multitude of components and many variants of their settings. This is mainly due to the high frequency of subsequent editions. There have been 24 releases to date, with the latest Xena in October 2021. The newest version of the Wallaby has as many as 39 modules. However, to start with, it is helpful to know the nine most essential modules that are an integral part of OpenStack.
1. Nova
OpenStack Compute (Nova) is a cloud computing network controller. It is designed to manage and automate pools of computing resources and can work with widely available virtualization technologies and bare metal and high-performance computing (HPC) configurations. Nova can use several hypervisor technologies, including KVM. Nova’s architecture is designed to enable horizontal scaling on standard hardware, as well as integrate with older systems and third-party technologies
2. Object Storage (Swift)
OpenStack Object Storage (Swift) is a scalable storage system. Objects and files are stored on multiple disks located on servers in the data center, and OpenStack software is responsible for ensuring data replication and integrity across the cluster. Storage clusters can be scaled horizontally by adding new servers. If a server or hard drive fails, OpenStack replicates its contents from other active nodes to new locations in the cluster. OpenStack uses software logic to provide replication and distribution of data across devices, which is why inexpensive hard drives and servers can be used.
3. Block Storage (Cinder)
OpenStack Block Storage (Cinder) provides storage space for the Nova service. Block storage volumes are fully integrated with OpenStack Compute and Dashboard, allowing cloud users to manage their own storage needs. In addition to local Linux server storage, OpenStack Block Storage can use storage platforms that support the Cinder plug-in. OpenStack Block Storage is particularly suited for integrating OpenStack cloud with older or existing storage. OpenStack Block Storage is suitable for performance-sensitive scenarios such as storing database and extensible file systems or providing the server with block-level access to raw storage.
4. Networking (Neutron)
OpenStack Networking is a service for managing networks and IP addresses that provides network models for different applications or user groups. Standard models include flat networks or VLANs that separate servers from traffic. OpenStack Networking manages IP addresses, allowing the use of static IP addresses or DHCP. Movable IP addresses enable traffic to be dynamically routed to any resource in the IT infrastructure. Users can create their own networks, control traffic, and connect servers and devices to one or more networks. Administrators, on the other hand, can use software-defined networking (SDN) technology. OpenStack Networking provides an extension structure for deploying and managing additional network services such as intrusion detection systems, load balancing, firewalls, and virtual private networks.
5. Dashboard (Horizon)
OpenStack Dashboard (Horizon) provides administrators and users with a graphical interface for sharing and automating resources in the cloud. The dashboard design incorporates third-party products and services such as billing, monitoring, and additional management tools.
6. Keystone
OpenStack Identity Service (Keystone) provides a central directory of users assigned to the OpenStack services they have access to. It acts as a standard authentication system across the cloud platform and can integrate with existing backend directory services such as LDAP (Lightweight Directory Access Protocol). It supports multiple forms of authentication, including standard usernames and passwords. The Keystone directory lists all services deployed in the OpenStack cloud with query capability in a single registry.
7. Orchestration (Heat)
Heat is a service for organizing multiple complex cloud applications using templates, both via a REST API that is native to OpenStack and a Query API compatible with AWS CloudFormation.
8. Telemetry
OpenStack Telemetry (Ceilometer) provides a single point of contact for billing systems, providing the counters needed to establish customer billing across all current and future OpenStack components. Counters must be easily expandable in order to handle new projects, and data collection agents should be independent of the overall system.
9. Glance
Glance provides image services in OpenStack, where images refer to virtual copies of hard drives, and glance helps allocate these images for use as templates when assigning new VM instances. Glance can also be used to store and catalog an unlimited number of backups and store disk and server images in various backdoors, including OpenStack Object Storage.
Data Resiliency for OpenStack environments
Storware adds another essential element to OpenStack, which provides data resiliency for your workloads. Storware vProtect offers: multitenancy, incremental backup for CEPH environments, personalized backup workflow via Openstack API, integration with various backup destinations including OpenStack Swift, intuitive HTML5 web interface, or integration with OpenStack Horizon. It is a comprehensive backup and recovery solution for complex Openstack environments.
How to enter the world of OpenStack?
One way to start your OpenStack adventure is with the DevStack development environment. It helps you install and test OpenStack without specialist knowledge, although basic CLI Linux skills are required. Devstack can be installed and run in a virtual machine in addition to the standard operating system. This is suitable for users who want to explore the dashboard features of the admin cloud stack. For more information, visit DevStack. You can also install Devstack via the Git source (https://github.com/openstack/devstack). Another option involves participating in OpenStack public cloud programs. For information about OpenStack Public Cloud Passport software, please visit https://www.openstack.org/passport/