OpenStack Tutorials + Education Channel

OpenStack is at the core of our Infrastructure as a Service product, featuring hosted private cloud. We also use OpenStack to provide IT services to our own staff. As both active users of OpenStack and the first to create on demand hosted private cloud on OpenStack, we want to share our experiences with OpenStack. You can find more information in our Flex Metal Cloud Product Guide as well. We hope the following content helps you be more successful with OpenStack, either here at InMotion or where ever your cloud takes you!


  • What are the OpenStack Networking Essentials?
    This article is written based on our background with our OpenStack private cloud, Flex Metal, created with OpenStack and Ceph. In this guide, we will walk you through the essentials that make up the OpenStack Network architecture, services, and security.  Networking Architecture OpenStack Networking is a standalone service that often deploys several processes across several nodes. Neutron-server is the main process for OpenStack Networking. This is a Python Read More >
  • What is Usage-Based Billing?
    Usage-based billing also called metered billing, or pay-as-you-go billing is a billing model that is used in SaaS, or Software as a Service. This type of billing is where the customer is paying for the software as they use it with the final bill due at the end of the billing cycle that is chosen. This allows the customer to only pay for the resource consumption and not Read More >
  • Managing Security Groups in OpenStack
    Unless it is changed, all projects that you create will have a default security group, meaning that all incoming traffic will be denied and only outgoing traffic will be allowed from your instance.  This can be checked via CLI. You can make changes to security groups by using the following commands.  You can list your security groups by running the following: (venv) [[email protected]~]$ openstack security group list Note: Read More >
  • Block Storage vs Object Storage
    When someone asks about block storage versus object storage it can several things, but usually one of two questions are being asked. The first question is usually a literal one – when is block storage used and when is object storage used? The second potential question is around performance of different options out there for stateful storage. The first question is the place to start though. Most of Read More >
  • What is Cloud Hosting?
    Cloud hosting is a platform which uses software to divide a single server into multiple servers, also known as virtual machines, or VMs. This means that each server is given an allocated amount of resources such as CPU cores, RAM, and storage space. Types of Cloud Hosting Private Cloud – A private cloud is dedicated resources and VMs that are not being shared between customers but are dedicated Read More >
  • What is a Load Balancer?
    Load-balancing is a critical tool for managing the distribution of work. Most often used in the context of resiliency so your services continue serving without users being impacted, or in some cases even knowing there was a failure in the first place. This means that when the load becomes too high on one server, it can be distributed. The pool is typically virtual or physical servers. This means Read More >
  • Converged vs Hyper-Converged Infrastructure (or HCI)
    This article is written based on our background with our OpenStack private clouds created with OpenStack and Ceph. Other cloud systems will have a bit of a different meaning, but you will get the idea. Some of the other sites attempting to explain this concept focus on something that might be the “older” description of Converged Infrastructure. When someone asks me the difference between converged vs hyper-converged they Read More >
  • What the Angularjs End-Of-Life Means for You
    AngularJS is the first major version of Google’s popular Angular family of open source JavaScript web application frameworks. Released in 2010, AngularJS is now scheduled to reach the end of its life on December 31st, 2021. After this date, Google will no longer make patches or updates for the AngularJS framework. Why is this important? A web application framework must receive regular and ongoing updates to fix security Read More >
  • What is High Availability?
    High availability is a way of computing that allows for the continuation of services even when other services fail. It is designed to avoid loss, ensure availability, and a high percentage of uptime. Systems typically have some sort of redundancy in place to prevent a loss of uptime, meaning that there is not a single point of failure within the system.  Within computing, the term availability refers to Read More >
  • What are OpenStack Services?
    What is OpenStack? OpenStack is a cloud computing platform that allows users to effectively plug and play components to build it to fit their uses, primarily it is used in Infrastructure as a Service (IaaS). OpenStack is completely open source meaning that it is free to use, and may be redistributed or modified. Using pools of virtual resources for compute, networking, storage, and image services, it offers a Read More >
  • Horizontal Scaling vs Vertical Scaling
    In this article, we will go over the differences between horizontal and vertical scaling. We will also touch on the upside and downsides to these different types of scaling, as well as how they are achieved. Horizontal Scaling (Scale-Out) Horizontal scaling means that you scale by adding more machines into your pool of resources whereas Vertical scaling means that you scale by adding more power (CPU, RAM) to Read More >
  • What is Hyper Converged?
    “Hyper-converged” is a strategy for running services. Traditionally we would instinctively separate our concerns into separate groups of Storage, Compute, or another classification to keep each layer separated for the team whose job it is to work with each component. We put all of these groups onto a set of systems because it’s more cost effective since hardware is so much faster these days. By doing something like Read More >
  • What is Swift?
    Swift, also known as the OpenStack Object Store project, is the S3 compatible object storage service canonically associated with OpenStack deployments which in recent years essentially is simply an API, to interact with object storage in OpenStack as a common interface to storage backends like Ceph. It is software that allows for storage and retrieval of data via a simple API. It is scalable, and optimized for durability, Read More >
  • What is Glance?
    Glance is an image service that allows users to discover, retrieve, and register VM (virtual machine) images and container images, which can use Swift or Ceph as its actual storage backend (i.e. not general-purpose object storage). Currently, Glance is the only supported image service. By default, Compute is configured to use it. Glance can be used as an image registry for sharing images with anyone that has access Read More >
  • Intro to cloud-init
    Cloud-init is an industry standard method for Linux cloud instance initialization. Cloud-init has support across all major Linux distributions, FreeBSD, NetBSD and OpenBSD. It is also supported across all major public cloud providers, provisioning systems for private cloud infrastructure, and bare-metal installations. Cloud-init will identify the cloud it is running on, using the provided metadata from the cloud, and configure the system accordingly. Tasks can include things like Read More >
  • How to use OpenStack Swift as your Terraform Backend
    Introduction In this quick guide we will go over how to use OpenStack Swift as the backend for Terraform. We will also go into some details about what a Terraform backend is as well as Terraform states. What is a Terraform backend? In Terraform, a backend tells how a “state” is loaded and how operations like “plan” and “apply” are executed. A state is the mapping of assets that are Read More >
  • How to Configure Terraform to Automate OpenStack’s Resources
    Introduction Although the Horizon dashboard provided in OpenStack is useful for most tasks, infrastructure automation tools like Terraform exist to allow you to create your infrastructure as code. This allows your infra teams to follow standard development flows and implement CI/CD to fully automate your cloud. In this guide, you will configure Terraform to leverage OpenStack with a generated clouds.yaml. When you’re finished, you’ll be able to automate your Read More >
  • Why is On-Demand OpenStack Important for SMBs?
    Why would we build a low-cost On-Demand OpenStack Private Cloud? I have been getting this question a bit, sometimes with enthusiasm and sometimes with skepticism.  The skeptic will say something like “Are you trying to go up against AWS?” That is followed by, if a polite skeptic, “Is that wise?”  Update 10/19/2020 – Flex Metal Cloud powered by OpenStack pricing released! Provisioning beginning Nov 17th. For sure it Read More >
  • Ceph Octopus with BlueStore Performance and Tuning
    Recently we moved our new “On-Demand OpenStack” private clouds to being backed by Ceph Octopus. There are a lot of reasons for this, but the largest was the potential for greater performance with Octopus. There was already a huge leap forward compared to Filestore with BlueStore stable in the Luminous release. That being said, having BlueStore and knowing how to tune it for specific application is a learning Read More >
  • Ceph Nautilus to Ceph Octopus, more motivation to upgrade
    We are running Ceph Nautilus for bigger/older installs, but are starting to run some new test clouds on Octopus. Specifically, we went down a bit of a rabbit hole for evaluating and understanding “on the fly compression” to help us determine what will be in our Feature Release Schedule for the 1.1 release of our private cloud product, Flex Metal Cloud. Currently, 1.0 is in it’s final stages Read More >

OpenStack Basics

OpenStack is a collection of Services. Each service performs functionality that make up the whole of OpenStack. There are a set of “core” that are typically installed to provide the common functionality of a “Cloud”. In addition, there are over 30 other Services that can be added for your particular needs.

Core OpenStack Services