What Is OpenStack
Surendra Bairagi
Global Head of Sales & Strategies | Cloud Consulting & Cybersecurity Specialist | Empowering Businesses with Digital Transformation @ IBN Technologies Ltd
OpenStack is a cloud operating system that controls large pools of compute, storage, and networking resources throughout a Data Center, all managed through a dashboard that gives administrators control while empowering their users to provision resources through a web interface.
In July 2010, Rackspace Hosting and NASA jointly launched an open-source cloud-software initiative known as OpenStack. OpenStack is managed by the OpenStack Foundation, a non-profit that oversees both development and community-building around the project.
OpenStack is freeware | open source software released under the Apache 2.0 license. So there is no upfront cost to acquire and use OpenStack. And moreover, anyone who can access the source code, make any changes or modifications they need, and freely share these changes back out to the community at large. OpenStack has the benefit of thousands of developers all over the world working in tandem to develop the strongest, most robust, and most secure product that they can.
OpenStack was initially envisioned to serve as Infrastructure-as-a-Service middleware - the software that abstracts underlying physical hardware and enables virtualized network, compute and storage to be provisioned and further enable applications to be run on top of the virtualized infrastructure. In doing so, it is possible to build Platform-as-a-Service (e.g. RedHat's OpenShift) or Software-as-a-Service offerings. It further enables users to deploy Public (e.g. Rackspace), hybrid and private clouds.
To create a cloud computing environment, an organization typically builds off of its existing virtualized infrastructure, using a well-established hypervisor such as VMware vSphere, Microsoft Hyper-V or KVM. But cloud computing goes beyond just virtualization. When an organization installs OpenStack software on top of its virtualized environment, this forms a "cloud operating system" that can organize, provision and manage large pools of heterogeneous compute, storage and network resources. While an IT administrator is typically called on to provision and manage resources in a more traditional virtualized environment, OpenStack enables individual users to provision resources through management dashboards and the OpenStack application programming interface (API).
OpenStack can be used in different ways. On-Premise, On cloud or in the form of appliance. If you have On-premises Data Center, then just download Open Stack and deploy on your server. With this you are able to manage your On-Premise cloud, and in same way if data is sensitive and your application needs the highest uptime then take server Infra from Data Center Provider, create your Private cloud and install OpenStack, Or take Open stack public cloud instances from cloud service provider, use instances as per need and pay to Hoster. The last variance which is helpful if do not want to download Open Stack and scratch your head in R&D is getting Open Stack Appliance.
OpenStack consists of multiple components with a modular architecture and various code names. Let’s have a brief look at the components of OpenStack.
Compute (Nova)
Nova supports creating virtual machines, bare-metal servers (through the use of ironic), and has limited support for system containers. Nova is the OpenStack project that provides a way to provision compute instances (aka virtual servers). Nova runs as a set of daemons on top of existing Linux servers to provide that service.
Image Service (Glance)
For simplicity, this guide describes configuring the Image service to use the file backend, which uploads and stores in a directory on the controller node hosting the Image service.
OpenStack Glance supports Raw, VirtualBox (VDI), VMWare (VMDK, OVF), Hyper-V (VHD), and Qemu/KVM (qcow2) virtual machine images.
Object Storage (Swift)
Swift is a widely-used and popular object storage system provided under the Apache 2 open source license. Swift is designed to store files, videos, analytics data, web content, backups, images, virtual machine snapshots and other unstructured data at large scale with high availability.
Swift ensures data replication and distribution over various devices, which makes it ideal for cost-effective, scale-out storage.
Dashboard (Horizon)
Horizon is the canonical implementation of OpenStack's Dashboard. OpenStack Horizon offers three versions of management dashboards: a User Dashboard, a System Dashboard, and a Settings Dashboard. Cloud admins are able to customize visual elements of the Horizon interface, including the navigation bar, tables, alerts and other elements.
Identity Service (Keystone)
Keystone provides a central list of users, mapped against all the OpenStack services, which they can access. It integrates with existing backend services such as LDAP while acting as a common authentication system across the cloud computing system.
Keystone supports various forms of authentication like standard username & password credentials, AWS-style (Amazon Web Services) logins and token-based systems. Additionally, the catalog provides an endpoint registry with a queryable list of the services deployed in an OpenStack cloud.
Networking (Neutron)
Neutron meets simple networking requirements. Neutron is an OpenStack project to provide "networking as a service" between interface devices (e.g., vNICs) managed by other OpenStack services (e.g., Nova).
Block Storage (Cinder)
Cinder features basic storage capabilities, such as replication, snapshot management and volume clones. However, because OpenStack Cinder is an abstraction layer for storage management, a user may not have access to the special features and functionality of a given storage device or system unless the vendor makes those capabilities available through product-specific drivers.
Telemetry (Ceilometer)
Ceilometer is a component of the Telemetry project. Its data can be used to provide customer billing, resource tracking, and alarming capabilities across all OpenStack core components.
Orchestration (Heat)
Heat is a service to orchestrate multiple composite cloud applications through both the Cloud Formation-compatible Query API and OpenStack-native REST API, using the AWS Cloud Formation template format.
Hundreds of the world’s largest brands rely on OpenStack to run their businesses every day, reducing costs and helping them move faster. OpenStack has a strong ecosystem, and users seeking commercial support can choose from different OpenStack-powered products and services in the Marketplace