OpenStack is the most popular open-source product for building and running cloud environments, especially for private cloud needs. However, installing, managing, and operating it can be challenging, often resulting in unrealized benefits, an inability to enable all features, and increased management costs. Additionally, organizations may face challenges finding the right skills and support.
Canonical OpenStack, powered by Ubuntu Linux’s creators, delivers an enterprise solution. It uses advanced automation via MAAS and Juju to streamline the deployment and management of OpenStack, resulting in significant cost efficiencies and simplified cloud management.
This article will cover Canonical OpenStack, its components, features, and use cases. It will explore how Canonical OpenStack features can help organizations implement an enterprise OpenStack cloud that provides better control, agility, support, and cost savings.
Summary of key Canonical OpenStack concepts
Here is a quick summary of the important concepts this article covers.
Concept | Description |
OpenStack | An open-source software platform that pools distributed compute, storage, and network resources to create a cloud infrastructure that supports on-demand provisioning of resources |
Canonical | The company that creates and contributes to open-source projects and is most notable for the Linux operating system, Ubuntu |
Metal as a Service (MAAS) | A Canonical product that extends cloud-style provisioning to bare metal servers |
Juju | An open-source application and service orchestration tool from Canonical that simplifies complete application lifecycle management |
Charms | A package used by Juju containing the logic for automating an application’s lifecycle |
Sunbeam | An OpenStack project that simplifies OpenStack deployment through automation and the use of cloud-native architecture based on Kubernetes |
MicroStack | An OpenStack distribution based on OpenStack Sunbeam, optimized for small-scale deployments |
Charmed OpenStack | A deployment method offered by Canonical that automates OpenStack deployment to bare metal using MAAS and Juju |
Automated OpenStack & OpenShift Data Protection & Intelligent Recovery
Enjoy native OpenStack integration, documented RESTful API, and native OpenStack CLI
Restore Virtual Machines with Trilio’s One-Click Restore
Select components of your build to recover via the OpenStack dashboard or CLI
OpenStack
OpenStack is an open-source software project that provides a suite of independent but interconnected services for building and operating cloud infrastructure. It can be used to create public or private clouds and can be deployed on bare metal servers, virtual machines, or containers. It is also commonly used as an edge cloud solution by telecommunication companies.
OpenStack releases have the following naming format: “<Year>.<Release_Number> <Release_Name>”; release numbers are reset each year. The latest stable release of upstream OpenStack is 2024.2 Dalmatian.
OpenStack services
OpenStack provides many services, also called components, for compute, storage, networking, identity, databases, etc. Each service has its own API.
Here’s a non-exhaustive list of the popular services, the type of each, and what they are commonly used for:
Service | Type | Use |
Nova | Compute | Creating and managing virtual machines or instances |
Swift | Storage | Storing and retrieving large amounts of data as objects |
Cinder | Storage | Creating and managing block storage volumes for use with instances |
Glance | Storage | Creating and managing virtual machine images used to launch instances |
Neutron | Networking | Creating and managing virtual networks for private or public access to instances |
Keystone | Identity | Creating and managing users, roles, and projects |
Trove | Database-as-a-Service | Creating and managing relational databases without the administrative tasks |
Horizon | Frontend | Interacts with OpenStack services using a web interface |
For a complete list of all OpenStack components, including services, tools, and add-ons, visit https://www.openstack.org/software/project-navigator/openstack-components
Downstream OpenStack distributions
There are many downstream OpenStack distributions. Here are some popular ones, especially for enterprises:
- Rackspace OpenStack: As one of its co-creators, Rackspace is known as the expert in OpenStack. The company provides features such as an industry-leading 99.99% OpenStack API uptime guarantee and an option to manage your OpenStack deployment for you.
- Canonical OpenStack: Canonical was another early contributor to OpenStack and offers an enterprise version of its own that uses Ubuntu as the base OS and other Canonical products such as Juju and MAAS to automate the entire OpenStack lifecycle making it highly scalable, manageable and cost-effective.
- Red Hat OpenStack: One of the popular choices among enterprises, Red Hat OpenStack is preferred for its seamless integration with other Red Hat products, such as Red Hat Enterprise Linux (RHEL) and Ansible. It boasts enterprise-grade support, robust security features, thorough testing before releases, and better automation.
- Mirantis OpenStack for Kubernetes: Mirantis is another leading provider of enterprise open-source software that provides this offering, which runs on Kubernetes. Its key feature is a single platform for virtual machines and containers.
Learn how Trilio’s partnership with Canonical helps better protect your data
Canonical OpenStack
Canonical is the publisher of Ubuntu, the popular open-source Linux operating system that makes Linux easy and accessible to everyone. Over the years, it has contributed to and funded many open-source technologies, including OpenStack. Today, it provides multiple products and solutions across the modern technology stack, including cloud computing, Kubernetes, AI, and data platforms. Its enterprise offerings are used by organizations looking for a trusted open-source solution.
Canonical’s OpenStack distribution, called Charmed OpenStack, is the enterprise-grade distribution of the upstream OpenStack, which has proven successful across various industries such as telcos, financial institutions, government, etc. Its combination of smart operations through automation, lower pricing for licenses and support services, and an optimal architecture design provides better TCO and an economical way to deploy and manage a cloud platform.
With zero license fees, a fixed design and delivery cost, a fixed support cost, and the option to buy support services only, it provides the best value for money among popular private cloud platforms. It is also among the very few that offer fully managed OpenStack cloud services.
Features
Some of the most important features of Canonical OpenStack includes::
- It supports a kernel-based virtual machine (KVM) as the hypervisor, Ceph (a distributed object storage system), the Internet Small Computer Systems Interface (iSCSI) for storage, and many popular software-defined networking solutions, such as Open Virtual Network (OVN), Open vSwitch (OVS), Juniper Contrail, and Cisco Application Centric Infrastructure (ACI) for networking.
- It offers a fixed-price model, making costs transparent and predictable regardless of the chosen deployment model. Another advantage is the per-host pricing model for support and managed cloud services, which provides a better total cost of ownership (TCO).
- Canonical collaborates with the Open Infrastructure Foundation (the organization behind OpenStack) to certify its distribution and ensure interoperability.
- With SLA guarantees starting at 99.9%, full-stack support and monitoring, data protection integration with Trilio, interoperability with various hardware options, software-defined networking (SDN) controllers, and storage platforms, it meets all of the requirements of enterprises such as high-availability (HA), performance, disaster recovery, etc.
- Canonical OpenStack provides security hardening programs based on security benchmarks, such as the Center for Internet Security (CIS), which are necessary for the finance and telecom sectors.
- A six-month release cycle with a long-term support (LTS) release every 2 years.
- Automated updates between consecutive releases and up to 12 years of security updates for LTS releases under Canonical’s Expanded Security Maintenance (ESM) program.
Learn about the features that power Trilio’s intelligent backup and restore
Components of Canonical OpenStack
Behind the scenes, Canonical OpenStack uses many components to deploy OpenStack. These components or tools help provision bare-metal, deploy OpenStack, and help manage the underlying operating system.
A production multi-node Canonical OpenStack installation uses the following components:
- Juju: An open-source application orchestration tool for deploying, configuring, and managing applications based on a defined model and logic (implemented by Charms).
- Charms: A charm is a unit of software that contains the logic for deploying, configuring, and managing an application or service.
- OpenStack Charms: These are charms specific to OpenStack services. Each OpenStack service, such as Nova, Neutron, Swift, etc., has its own charm responsible for deployment and lifecycle management. For a list of these charms, visit https://docs.openstack.org/charm-guide/latest/project/openstack-charms.html.
- Metal-as-a-Service (MAAS): An automation tool for provisioning bare metal servers with an OS. It can discover, inventory, provision, and destroy, allowing complete server lifecycle management. In Canonical’s Charmed OpenStack, it is used to prepare servers and deploy OpenStack services.
- Landscape: It deploys, monitors, and manages Ubuntu servers.
The following illustration shows where many of these components are used in the stack and what role they play.
Canonical’s Charmed OpenStack (source)
Use cases
Canonical OpenStack can be used to create general cloud environments or can be customized for a specific use case or industry. Here are some ways it can be used:
- One of the most common uses is to provide public cloud services such as compute, storage, and, with the use of extra tools, automated database services, where the platform handles the deployment, scaling, and operational aspects of databases..
- Organizations looking to maintain control over their infrastructure, applications, and data can use OpenStack to create private clouds for internal use.
- OpenStack is very popular among telecommunications companies for running network function virtualization (NFV) workloads.
- Enterprises can leverage OpenStack to build a cloud-native platform by integrating it with Kubernetes.
- OpenStack can also serve as the foundational infrastructure for deploying and managing containerized applications..
Offerings
Canonical offers quite a few ways to deploy Charmed OpenStack. You can choose between Canonical-managed OpenStack and self-managed OpenStack options.
The Canonical-managed OpenStack offering is great for organizations that want a hands-off approach to cloud management or may lack the technical skills and expertise to manage it themselves. The team at Canonical will build and manage the cloud, providing 24/7 monitoring, scaling as needed, upgrades, and more while offering fixed and predictable pricing. You can read more about it at https://ubuntu.com/openstack/managed.
The self-managed approach is ideal for companies that want control and greater flexibility over the infrastructure and have a dedicated IT team with OpenStack skills (or are willing to train them) to manage it. Companies can choose to deploy it themselves or have Canonical deploy it through the Private Cloud Build consulting package and get a handover once the deployment is completed. Details about Canonical’s consulting services are at https://ubuntu.com/openstack/consulting/.
The following self-deployment options are available to users depending on need and scale:
- MicroStack: This method is ideal for single-node deployment for testing or development and small-scale multi-node HA deployment for production. Canonical supports MicroStack deployments.
- OpenStack Charms: This method is for automated multi-node OpenStack deployment to bare metal.
Installing Canonical OpenStack using MicroStack
MicroStack is the quickest way to get up and running with Canonical OpenStack. It can be used to deploy environments of different sizes, from single-node to multi-node. In the following steps, we will see how to install a single-node MicroStack on an Ubuntu 24.04 machine. At a high level, you will need a machine with:
- A processor with at least 4 cores
- A minimum of 16 GB RAM
- And at least 100 GB of free storage space
- A static IP address
The MicroStack process uses Sunbeam, an OpenStack project that enables easy deployment and operations of OpenStack environments of any size. It uses Juju and Charms to accomplish this.
Installing OpenStack using MicroStack
We begin by running the following command to install the latest edge channel of OpenStack snap:
sudo snap install openstack
Note: Installation instructions for OpenStack can evolve rapidly. For the most current and comprehensive deployment guidelines, always refer to the official Canonical OpenStack documentation: https://canonical-openstack.readthedocs-hosted.com/en/latest/tutorial/get-started-with-openstack/
Next, we will prepare the node for OpenStack Sunbeam using the following command:
sunbeam prepare-node-script --bootstrap | bash -x && newgrp snap_daemon
We are ready to deploy OpenStack using the sunbeam cluster bootstrap command with the default configuration:
sunbeam cluster bootstrap --accept-defaults
NOTE: This process will take 30 minutes or more to complete. You should see a message similar to the screenshot below when complete:
The next step is configuring OpenStack for sample use and creating a set of credentials to operate the cloud. The command will also output the OpenStack dashboard URL. The following command does this:
sunbeam configure --accept-defaults --openrc demo-openrc
Here’s an example output of the command:
Gather the login information from the demo-openrc file using the cat command:
cat demo-openrc
The following image shows an example of the contents of an openrc file.
You can now use the horizon URL and the openrc credentials to log in.
Login UI to the OpenStack dashboard
Data protection, recovery, and migration with Trilio for OpenStack
Canonical and Trilio have a rich history as early OpenStack contributors, developing products and joint solutions tailored for the platform. Building on this foundation, they’ve forged a partnership that provides OpenStack-native data protection.
Trilio for OpenStack, a cloud-native, application-centric data protection platform, is a product jointly certified for Canonical’s Charmed OpenStack and included in the OpenStack Charms portfolio. It integrates natively with Canonical’s Charmed OpenStack, utilizing OpenStack-native APIs to provide agentless, application-consistent backups. This means your data is always protected in a way that aligns with OpenStack’s architecture, ensuring minimal impact on performance.
At a high level, the Trilio API running on controller nodes uses OpenStack APIs to manage backup and recovery options for virtual machines. Apart from this, other Trilio services such as workloads, scheduler, and datamover-api also run on controller nodes that are essential for Trilio to work. Trilio Datamover, which runs on compute nodes, executes backup tasks such as taking snapshots.
The following image illustrates the integration between Trilio and Canonical OpenStack.
Trilio for Canonical’s Charmed OpenStack (source)
Trilio performs application-centric backups and includes the following in the backups:
- Complete disk volumes (boot and Cinder) at the block storage level
- Complete network topology (including subnets, networks, ports, and MAC addresses)
- Storage volumes from Cinder or directly from Ceph for very efficient backups
- Cinder volume configuration, Cinder types, metadata
- Security groups and keys
- VMs (single or multiple)
- VM metadata and flavors (size of VMs)
- Boot image and overlays
Trilio for OpenStack is a purpose-built, scalable, and fully integrated solution that can ensure business continuity, streamline data management, and scale confidently in the cloud.
Find out how Vericast solved K8s backup and recovery with Trilio
Conclusion
Canonical OpenStack is an enterprise cloud platform engineered to be cost-effective while delivering the best price-to-performance ratio. Through MAAS, Juju, and Charms, it provides a fully automated and simplified deployment and management solution. Features such as long-term security updates, LTS versions of OpenStack, and automated upgrades make it a reliable choice for organizations.
Trilio for OpenStack adds significant value to your OpenStack deployment by providing comprehensive data protection, backup, and faster disaster recovery. To know more, register for a free demo here.
Like This Article?
Subscribe to our LinkedIn Newsletter to receive more educational content