A popular solution that is rapidly growing and developing is OpenStack.
Whether you have minimal experience with “the Cloud” or have been around this technology for years, you most likely have heard of OpenStack. Have you ever wondered:
- What is OpenStack?
- How Does OpenStack work?
- What Components Comprise OpenStack?
- What are the Advantages of OpenStack?
If you’ve pondered those questions or are just curious, read on.
Demystifying the Server Stack
In the web hosting space, the cloud is increasing in popularity. As important as the resources of a server are, the software running on them is becoming even more critical. And for web development, the software stack used is one of most important things to consider.
From a hosting perspective, a software stack is a system of software created to run on a server and support an application or website. Typically, the stack consists of an operating system, a web server, a database, and a programming language.”
The specific project you are working on will determine the best stack.
What is OpenStack?
OpenStack technology is a free, open-source cloud platform that controls large pools of compute, storage, and networking resources throughout a data center. All of this is managed and provisioned through APIs (Application Programming Interfaces) with common authentication mechanisms.
Their overview states that a dashboard is also available, giving administrators control while empowering their users to provision resources through a web interface. Aside from standard Infrastructure-as-a-Service functionality, additional components provide orchestration, fault management, and service management, amongst other services, to ensure the high availability of user applications. Users would either manage it through a web-based dashboard, by command-line tools, or via RESTful web services.”
Technical jargon out of the way, what does it all mean?
The majority of cloud platforms run on a cluster of physical servers in a data center. These servers contain one or more hypervisors for creating and maintaining virtual machines. Through the use of virtualization and hypervisors, among other tools, it is possible to abstract the resources of the servers for distribution as needed.
What OpenStack technology accomplishes is to break down the RAM, CPU, and storage resources a step further. Through the use of APIs, OpenStack creates pooled virtual resources for running public clouds and private clouds.
Server administrators and end-users interact directly with the tools available through the stack to take advantage of a robust cloud environment.
How Does OpenStack Work?
OpenStack is used to control pools of compute, storage, and networking resources. The tools that make up the OpenStack platform, known as “projects,” manage the central cloud computing services. These projects, either individually or bundled together, are what users and administrators use to create their cloud environments.
Red Hat states that the tools or projects in OpenStack meet the National Institute of Standards and Technology’s five criteria of cloud computing. The five criteria are a network, pooled resources, a user interface, provisioning capabilities, and automatic resource control/allocation.
OpenStack itself is not an operating system nor a virtualizer. It relies on both these technologies to accomplish its work.
Virtualization is the key to it being able to build clouds. Through the use of hypervisors, software used for creating and running virtual machines, virtualization can build robust cloud environments. The hypervisor is connected directly to the hardware, splitting what would be a single system into multiple. These separate, distinguished, secure environments are virtual machines or VMs.
By way of virtualization, physical resources get pooled and reallocated for use as predetermined through the OpenStack setup. The OpenStack technology allows control of virtual instances of CPU, memory, storage, and other resources so that end-users get what they need for their environments.
The operating system processes the commands given by the scripts contained in the projects. These three elements need to work hand-in-hand for Openstack to function.
What Components Comprise OpenStack?
Because of the open-source nature of OpenStack, several components make up the software stack. More can also be added depending on the specific environment you are trying to create.
Here are the architecture and the services that make up OpenStack:
|Compute||Nova||Primary compute engine. In OpenStack, Nova is used to create and manage servers either through the use of APIs directly or via tools.|
|Storage||Swift||Object Storage Service. Swift is highly available, distributed, and consistent, storing data securely and efficiently. The scalability of storage is easy with Swift.|
|Storage||Cinder||Block Storage Service. Cinder offers virtualized management of block storage devices.|
|Networking||Neutron||Networking Service. It provides connectivity between the interfaces of other OpenStack services.|
|Shared Services||Keystone||Identity Service. It implements OpenStack’s Identity API allowing for secure access to environments.|
|Orchestration||Heat||Orchestration Service. It provides the ability to automate the creation of cloud elements such as networks, server instances, storage devices, etc.|
|Workload Provisioning||Magnum||Container Orchestration Engine. It is for OpenStack cloud administrators wanting to provide a self-service solution to provide a hosted containers service to their cloud users.|
|Application Lifecycle||Masakari||Instances High Availability Service. It provides high availability by automatically recovering failed instances.|
|Web Frontend||Horizon||Horizon is the implementation of OpenStack’s dashboard, giving users a web-based user interface to OpenStack services.|
What are the Advantages of OpenStack?
Many web hosting providers are moving toward cloud implementations. Small to medium-sized businesses are also moving away from housing infrastructure in-house and shifting to hosting with a managed hosting provider.
Here are four advantages of using OpenStack:
- OpenStack is Open Source – Free and open-source software provides the opportunity to host with little to no licensing cost. Depending on the OS you run on, this can mean significant cost savings over time.
- OpenStack Offers Flexibility – For businesses that are continually growing and scaling, hosting on a platform that can match their growth is a huge upswing. OpenStack has the makings of a platform that allows for the implementation of a cloud environment able to meet the demands of today’s business needs.
- OpenStack is Growing in Support – OpenStack has development support from such tech giants as Intel, IBM, AT&T, Cisco, Red Hat, Dell, and Ubuntu, to name a few. What this means for them as a company is that they can improve and enhance much faster than most platforms due to the level of support behind them.
- OpenStack Creates High Availability with Ease – What makes OpenStack attractive and compelling for SMBs is the ease with which they can deploy a load-balanced configuration or a database cluster. These deployments handle the heavy lifting for the customer, keeping their environment secure, redundant, and performant.