Broadcast Standards: The Cloud Compute IT Software Stack
Deploying cloud service architectures is a significant job; what are Cloud Management Platforms and how can they help?
All 9 articles in this series are now available in our free eBook ‘Cloud Compute Infrastructure – The Book 2026’ – download it HERE.
All articles are also available individually:
This time, we are looking at the Cloud Services Architecture from a high-level perspective. We will compare two major implementations without getting bogged down in the detail.
Deploying a cloud services architecture is a non-trivial job. There are open-source solutions or proprietary alternatives to buy in as managed infrastructures. The topmost layer delivers a Cloud Management Platform (CMP) to supervise the entire system via a dashboard user interface.
Building your own cloud services stack with available component parts is also possible, but unrealistic for most organizations unless they have significant resources and skills at their disposal.
Amazon for example uses a proprietary stack which they have developed themselves as a closed-source solution.
Aside from the proprietary solutions, these open-source projects may be of interest:
- CloudStack - Distributed through the Apache organization.
- OpenStack - Managed by the OpenInfra Foundation.
Edge based cloud architectures require low latency and special tools for managing widely distributed nodes. The StarlingX project supported by OpenInfra is a good solution for those systems.
Open-source software has many attractive attributes. Everybody likes a good deal especially when it is offered at no charge. Whilst the software may be free to obtain, there are other hosting and running costs to factor into the business plan.
Even if the software is free, it may be beneficial to involve a third-party integrator to help with the planning and build-out of your installation. They bring architectural design expertise which you may not have in-house and experience of building multiple systems for other clients. It might appear costly but may save money in the long-run.
What Is A Cloud Management Platform?
The products used to build the Cloud services IT software stack are described collectively as a Cloud Management Platform (CMP). It brings all the component parts together for controlling and managing your installation. A CMP provides these benefits:
- A unified dashboard console.
- Provisioning support.
- Automation.
- Cloud resources control.
- Streamlined operations.
- Security enforcement.
- Compliance management.
- Cost saving and optimization.
- Simplifies management of a complex infrastructure.
- Monitoring and analytics.
- Real-time insights.
- Enhanced business agility.
The CMP integrates the cloud services as a single system. Services deployed on and off premises or hybrid architectures using private and public cloud services are easier to manage with a CMP.
An ideal CMP would be based on open-source software. Whilst the software is free, the support and development are the result of contributions by many committed developers.
A CMP will connect to all your cloud services through an Application Programming Interface (API). This is the best way to provide secure, real-time communication and data exchange between all of the component parts.
The CMP has oversight of the whole system. It monitors resource utilization, performance measurements, and system integrity. The results are aggregated to provide meaningful insights. This also facilitates alerts and triggers. More advanced systems may be able to wield emergency countermeasures to provide self-healing when systems deviate from their normal behavior. Automatic tuning with demand driven resource allocation and optimization should also be possible.
A CMP is helpful when migrating from one cloud provider to another. This is much easier if the entire system is data-driven.
Who Is OpenInfra?
The OpenInfra Foundation evolved from the OpenStack Foundation created in 2012 by NASA and Rackspace soon after they commenced the OpenStack project in 2010.
Although it was originally founded to govern the development of OpenStack, OpenInfra now supports and helps many other related open-source projects for managing cloud-based projects:
- Airship - Tools for automating cloud provisioning.
- Kata - A new and more lightweight container architecture.
- StarlingX - StarlingX targets Edge computing and uses Kubernetes for container management and repurposes parts of OpenStack. It is supported by OpenInfra but is not part of OpenStack itself.
- Zuul - Continuous integration (CI) tools to enhance DevOps robustness.
- OpenDev - A collaboration environment for developing large-scale open-source projects.
OpenInfra is also now part of the Linux Foundation. This suggests the most robust OpenStack deployments would be on Linux, although being open-source, it can be deployed on any OS platform.
About Apache CloudStack
CloudStack is a CMP layer that supervises and manages Cloud Services provided by other projects based on the Hypervisor approach:
- BareMetal (via IPMI).
- Hyper-V.
- KVM.
- LXC.
- vSphere (via vCenter).
- Xenserver.
- Xen Project.
These are the key features of CloudStack:
- Scalable up to tens of thousands of physical servers.
- Servers can be widely distributed geographically.
- Automatic Cloud Configuration Management.
- EC2 API translation layer to integrate with Amazon Web Services.
- High Availability.
CloudStack deployments are built with one or more Management servers. They host the web user interface for the dashboard. The CloudStack API is accessed via these servers. IP address management is centralized here as is the allocation of the available storage capacity. Snapshots, disk images and ISO images for creating VMs are also administered by the management server. This is a central point of configuration for your cloud. Some architecture designs decentralize the control with multiple management servers that collaborate to manage all the cloud services.
The Concepts and Terminology are discussed in the CloudStack documentation. The resource factoring resembles physical hardware entities:
- Regions - Geographically adjacent zones are managed by separate management servers. There may be more than one per region.
- Zones - These represent a single data center containing pods and secondary storage.
- Pods - Equivalent to one or more equipment racks with a Layer-2 switch. Each pod can host one or more clusters.
- Cluster - Each contains one or more hosts and their primary storage.
- Host - A single compute node. This could be a physical hardware host or a virtual machine represented by a hypervisor. It has dedicated primary storage available.
- Primary Storage - A storage resource dedicated to a single host. Disk images stored here are instantiated in a VM.
- Secondary Storage - A storage resource made available for sharing across an entire zone. Disk templates, snapshots and ISO images are stored here.
This diagram shows how the resources are organized as nested containers:
Primary storage is normally dedicated to a single host. It can be shared across a zone but secondary storage is more appropriate for zone-wide sharing.
The documentation for CloudStack is available here:
http://docs.cloudstack.apache. org
Read about the different ways to organize the servers in the documentation section called “Choosing a Deployment Architecture”. This has a lot of valuable detail you need to know about.
There is an interesting closing note about the risks from not keeping your Hypervisor software maintenance patches up to date as it could lead to corruption and losing virtual machines.
About OpenStack
OpenStack was originally developed in 2010 by Rackspace and NASA. Perhaps it is genuine Rocket Science after all, although NASA is no longer actively involved as a developer but continues to use OpenStack in several projects. The community has grown to include hundreds of contributing companies and thousands of individual developers.
A few notable deployments are:
- BBC R&D.
- Comcast.
- Deutche Telekom AG.
- DirecTV.
- Sky TV.
- UK Government Digital Services.
- The China Mobile 5G network infrastructure.
- The CERN Large Hadron Collider.
The modular nature of OpenStack allows a flexible configuration to be built using the most suitable components. The OpenStack services are curated under these categories:
- Computing resources.
- Hardware lifecycle management.
- Storage management.
- Networking configuration.
- Shared services.
- Orchestration.
- Workload provisioning.
- Application lifecycle management.
- Web front-ends.
The OpenStack architecture is discussed in the Installation Guide which is available from the documentation center here:
https://docs.openstack.org/
This diagram above (excerpted from the OpenStack documentation) simplifies the architecture and groups the services into logical families. The separation of core OpenStack modules and the supporting services for managing them are easy to distinguish.
OpenStack is manifested as the core modular services that interact with one another. The service names often reflect what they do although this is sometimes obscure:
| Service | Description |
|---|---|
| Aodh | Rule based alarm actions. |
| Barbican | A secure key manager. |
| Blazar | A resource reservation service. |
| Cinder | Block storage service for providing volumes to Nova, Ironic & containers. |
| Cyborg | Acceleration resources. This was previously called Nomad. |
| Designate | DNS service management. |
| EC2API | A proxy API for connecting to Amazon Web Services (AWS). |
| Freezer | Backup & restore services. |
| Freezer-api | A work-in-progress API for the Freezer service. |
| Glance | Image services. |
| Heat | Application orchestrator. |
| Heat | Orchestration service for automating the deployment of cloud applications. |
| Horizon | Dashboard UI support. |
| Ironic | Provisions real bare metal hardware servers. |
| Keystone | Provides API client authentication, service discovery, & distributed multi-tenant authorization. |
| Magnum | Container orchestration. |
| Manila | A shared file system. |
| Masakari | High availability services. |
| Mistral | Workflow manager. |
| Murano | Cloud-ready application catalog for lifecycle management. |
| Neutron | Provides network connectivity as a service. |
| Nova | Provisions compute instances as virtual machines. |
| Octavia | Load balancing tools. |
| Placement | Resource provider inventory usage tracking. |
| Sahara | Hadoop big data cluster provisioning. |
| Searchlight | An obsoleted interface to Elastic Search tools. |
| Senlin | Manages clusters of homogeneous objects. |
| Skyline | A modern dashboard for optimized UI implementation & UX design. |
| Skyline-apiserver | Back-end server of the Skyline UI support. |
| Skyline-console | The user visible parts of the Skyline dashboard UI tools. |
| Solum | Integration tools for binding cloud services into your applications. |
| Storlets | Extends swift service to run user defined code inside the object store. |
| Swift | A distributed object store. Not to be confused with the Apple Swift. |
| Trove | Database as a service. |
| Zaqar | A cloud messaging service for Web developers. |
| Zun | A container service for running containers without server management. |
Surrounding the OpenStack core are the supporting services. Some of these are wrappers for external projects such as Ansible and Kubernetes. These are grouped under the following categories:
- Client tools.
- Integration enablers.
- Operations tooling.
- Lifecycle management.
When discussing these outside of the OpenStack context, an implied ‘OpenStack’ prefix helps to distinguish them from projects with the same name. Hence Ansible inside OpenStack is a wrapper for the separate Kolla-Ansible project:
| Service | Category | Description |
|---|---|---|
| Adjutant | Operations | A DJango based workflow framework. |
| Ansible | Lifecycle | Integrates Kolla-Ansible with OpenStack with installation and deployment tool instructions for use with Ansible. |
| Bifrost | Lifecycle | Ansible playbooks for automating the deployment of base images onto known hardware using the Ironic service. |
| Ceilometer | Operations | Telemetry for billing system support. |
| Charms | Lifecycle | A hinting mechanism for automating deployments. |
| Chef | Lifecycle | Integrates the Chef tools with OpenStack for building deployments. |
| CloudKitty | Operations | Rating as a service for billing and pricing. |
| Helm | Lifecycle | Integrates OpenStack with Kubernetes. |
| Kayobe | Lifecycle | Enables the deployment of containers onto Bare Metal using Ansible. |
| Kuryr | Integration | Container services to enable integration. |
| Monasca | Operations | Monitoring as a service solutions with a REST interface. |
| OpenStackClient | Client | User interface client tool. |
| Patrole | Operations | A Tempest plug-in for Role Based Access Control (RBAC) testing. |
| Python SDK | Client | API connections for integrating external systems. |
| Rally | Operations | Test automation for examining multi-node deployments and cloud verification. |
| Tacker | Integration | Used for deploying and operating Network Services and Virtual Network Functions (VNFs) on an NFV infrastructure. |
| Tempest | Operations | Testing framework. |
| TripleO | Lifecycle | Installation and upgrading support for OpenStack, using OpenStack itself. |
| Venus | Operations | Metrics log collection, cleaning, indexing and analysis. |
| Vitrage | Operations | Root cause analysis for managing alerts. |
| Watcher | Operations | A resource optimization service for multi-tenant clouds. |
OpenStack Swift Module Ambiguity On MacOS
The OpenStack Swift module has nothing to do with Apple Swift language compiler. They are completely different things.
There is a subtle ‘gotcha’ involving the OpenStack Swift component installed on a macOS system. Depending on the settings of your PATH environment variable, you could accidentally invoke the wrong one with the swift command-line instruction.
The Apple Swift compiler lives at this location and will be called by the swift command:
/usr/bin/swift
The OpenStack python-swiftclient lives here:
/usr/bin/local/swift
Invoke it with the fully qualified path to call it explicitly and avoid accidentally invoking the Apple swift compiler in its place.
Comparing The Open-Source Solutions
Which of the two major open-source cloud software stacks is best? This is challenging. Searching for answers reveals opinions in favor of both CloudStack and OpenStack.
Detractors may be compelled to publish negative comments based on a bad experience that was unique to their circumstances. Enthusiastic support may come from organizations that could benefit from wider adoption. When assessing review comments, I discard the extremes and focus on more balanced and well-informed comments without any apparent bias. Be careful not to be unduly swayed in either direction.
After inspecting the lists of customer deployments, I get the feeling that CloudStack appeals to medium sized companies while OpenStack seems to be preferred by larger enterprises.
Architecturally the two platforms are built with quite different approaches. CloudStack integrates several other separate open-source projects. OpenStack has a modular design that is complete within itself.
Perhaps CloudStack is less tightly coupled. Upgrading the separate sub-systems must be carefully managed.
OpenStack would upgrade all the lower-level service components at the same time ensuring they are all compatible.
CloudStack has the appearance of having been built with previously available technologies. This may allow you to build and roll out a CloudStack architecture in a gradual and phased manner.
OpenStack has been designed around microservice principles with everything resembling a service. Anything that isn’t inherently a service has been wrapped to make it look like one. This is more granular and possibly more scalable as a design.
I greatly appreciate the Apache Foundation for their good work but I think OpenStack has some compelling advantages. Especially in the area of architectural design. The wrapping of tools as services is implemented in a consistent way. They have integrated everything very elegantly across the whole piece.
Don’t take this as an endorsement and follow it blindly as a recommendation. Do your own due diligence on this and select the CMP tools that best suit your needs. That may suggest a different conclusion.
Conclusion
Deploying an open-source Cloud Software Stack requires a good deal of hard work. Carrying out sufficient detailed planning before starting will ensure things go smoothly.
There are additional costs for hosting and support of the foundation systems. They are necessary overheads regardless of whether the system is wholly your own or bought in. Those costs are still there if you purchase a managed solution but buried in the Total Cost of Ownership (TCO). There is no free lunch, even with open-source software.
CloudStack is popular with some telecoms organizations but not so much with broadcasters. The few broadcasters that are listed use OpenStack. The list of broadcasters is still small suggesting that penetration of the media business by CMP software is still at an early stage.
The results of the BBC R&D experiments will be beneficial to other broadcasters wanting to deploy their own CMP.
All 9 articles in this series are now available in our free eBook ‘Cloud Compute Infrastructure – The Book 2026’ – download it HERE.
Supported by
You might also like...
IP Security For Broadcasters - The Book 2026
Security is everyone’s problem. It is not just about having the right policies in place or knowing where the vulnerabilities in your network are; it’s about understanding how the network is accessed and by whom, and how to str…
Broadcast Standards - The Science Of AI: New Foundations
We begin this series with the foundational building blocks of AI. Basic principles, the technology stack and the types of AI based upon it, and how to apply them effectively in a broadcasting enterprise.
Standards: Audio - MPEG Layer 3 Audio Coding (MP3)
Launched in 1995, MP3 remains one of the most ubiquitous audio formats in the world. This guide explains how psychoacoustic compression works, explains the differences between MPEG-1 and MPEG-2 implementations, and finds out where MP3 works – and where it doesn’t.
Network Traffic Engineering: Head-Of-Line Blocking - Why QUIC Changes The Rules
Head-of-line blocking turns minor packet loss into visible glitches by stalling entire TCP streams until missing data is retransmitted. Eliminating cross-stream blocking by multiplexing independent streams over UDP, QUIC might be the answer for OTT delivery, cloud workflows and the…
Standards: Audio - Standards For Audio Coding
Audio coding demands very different tools and workflows to video, but the same fundamental principles around quality apply to both. This guide surveys the standards, codecs and container formats you need to navigate modern audio workflows.