OpenStack is a cloud computing platform that offers the ability to provision, administer, and decommission resources as needed. OpenStack resources include compute, networking, and storage services. The OpenStack source code is open source written in Python. It provides an API for deploying and administering storage components, network devices, and hypervisor Virtual Machine (VM).
With OpenStack, organizations can create, build, and deploy various types of clouds: public, private, and a hybrid between public and private clouds. Examples of cloud deployments include research clouds, government clouds, and video streaming clouds. By using OpenStack, you can replace a physical infrastructure in a data center with a virtualized network called a software-defined network.
You can interact with OpenStack by using:
– A graphical user interface (Horizon Dashboard)
– Command-line interface
– Application Programming Interfaces
OpenStack is a free software project licensed under the open source Apache 2.0 License. By 2014, more than 200 companies joined the OpenStack project effort. Individual members, corporate sponsors, and others meet every six months at the OpenStack Design Summit, a community event. The first two OpenStack services released in the initial release were Nova Compute and Swift Block Storage. Organizations using OpenStack include NASA, CERN, AT&T, Wikimedia Labs, and Deutsche Telekom. Sectors embracing OpenStack include Academic, Government, Healthcare, Information Technology, Telecommunications, Film, Media, Gaming, Retail, and Finance.
– OpenStack Service Architecture
Oracle OpenStack for Oracle Linux, which is free to download from Oracle Software Delivery Cloud, installs, deploys, and runs on Oracle Linux. You can download a zip file containing the Oracle OpenStack for Oracle Linux software for the x86-64 architecture directly from Oracle. You import the Docker image files extracted from the zip into the Docker registry during the installation process. Note that you need at least 2 GB of disk space to download the zip file. Oracle’s yum server is available for downloading the latest rpm software for free. Oracle Linux users can automate the yum configuration by running the following commands:
You can manually configure their /etc/yum/public-ol7.repo configuration file by enabling the OpenStack stanza. When enabled, you can download and upgrade rpm software such as kolla-cli and docker-engine.
Docker was initially announced on March 13, 2013 by its creator Solomon Hykes during a lightning talk at Pycon 2013. The Docker software is written in the Go language and is licensed under the open source Apache 2.0 license. The purpose of Docker is to decrease the time to develop, ship, and run applications regardless of the underlying infrastructure. Docker helps you manage and deploy your applications by using its command-line interface and daemon.
Docker is used to create image-based application containers. Image-based containers package an application with the individual runtime stack into a single container. This makes the container independent from the host operating system and kernel version. As a result, you can run the same application, unchanged, on laptops, data center VMs, and clouds that run a compatible operating system. You can transfer this container to another machine that runs Docker and run the application without any compatibility issues.
The following are additional advantages of running applications within Docker containers:
Docker images contain only the content needed to run an application, so they are smaller than VMs, which require the entire operating system.
A Docker container runs faster than an application that includes the overhead of an entire VM.
A Docker container includes its own network interfaces, file system, and memory, which allows the application running in the container to be isolated and secured from other processes on the host computer.
– Docker Architecture
The Docker Architecture includes Docker Client, Docker Engine daemon, and Docker registry either remotely on Docker Hub or locally in a private registry. Docker Client sends commands over Unix sockets to the daemon for processing. For example, the daemon can pull images from a registry, build new images, or run commands in a container.
Docker Hub hosts an online remote registry for storing and sharing public Docker images. If an image does not exist locally, the daemon pulls the image from Docker Hub or perhaps a local, private registry hosted by an individual or an organization. Oracle hosts public “Dockerized” images of Oracle Linux and MySQL at https://hub.docker.com/_/oraclelinux and https://hub.docker.com/_/mysql. The Docker images for Oracle OpenStack for Oracle Linux are available from Oracle Software Delivery Cloud at https://edelivery.oracle.com. After downloading and extracting Docker images from the zip file, you need to import the images into a local Docker registry.
– OpenStack Deployment:
You can deploy Oracle OpenStack for Oracle Linux in various scenarios.
- All-in-one node
- One controller node and one or more compute nodes
- One controller node, one network node, and one or more compute nodes
- Multi-node including controller, network, storage, and compute nodes
A multi-node deployment is the supported option for production-ready deployments of Oracle OpenStack for Oracle Linux.
This is the sequence of events that leads you to a successful deployment:
- Oracle builds Docker image files of the OpenStack services and the components needed for the OpenStack services.
- You download these image files and install them to a Docker registry.
- From the Oracle Unbreakable Linux Network (ULN) or the Oracle Yum repository, download Kolla-CLI. Kolla-CLI is a tool for deploying production-ready Docker containers.
- Use Kolla-CLI to configure services such as Neutron and Nova.
- Deploy the Docker containers to your target nodes.
After deploying Oracle OpenStack, open a web browser to view the login screen. The login screen provides a web form to log in to Horizon Dashboard with a username and password. Typically, the administrator logs in after a new OpenStack deployment. An administrator is someone who installs, configures, and manages an OpenStack cloud, whereas an operator is someone who plans and maintains an OpenStack installation.