Support for lightweight or combined System VMs for small-scale and edge deployments
- Dominant language
- Java
- Stars
- 3.1k
- Forks
- 1.4k
- Avg merge
- 6d 19h
- Merged PRs (30d)
- 32
Description
### The required feature described as a wish
### Problem's description
Currently, Apache CloudStack deploys multiple System VMs (Virtual Router, Secondary Storage VM, and Console Proxy VM) with a standard baseline of resource allocation. While this architecture is excellent for scalability and fault isolation in medium to large data centers, it introduces a disproportionate resource overhead (RAM and CPU) in very small environments, home labs, or Edge computing deployments.
In environments with limited physical resources, the mandatory deployment of separate, full-sized System VMs consumes a significant percentage of the available host capacity before any user workload is even launched.
### Proposed Solution
We propose introducing a less monolithic approach for System VMs in small-scale deployments. Potential solutions could include:
1. **Lightweight System VMs:** Provide an official "micro" template for System VMs (e.g., based on Alpine Linux or a heavily stripped-down OS) that consumes significantly less baseline RAM/CPU.
2. **Combined System VM:** Introduce a configuration flag to allow combining the roles of the SSVM and CPVM (and potentially basic VR features) into a single, unified System VM for environments that do not require high availability or massive concurrent access.
3. **Modular toggle:** Allow administrators to completely disable certain System VM agents (like Console Proxy) if they are not strictly required for their specific use case.
### Use Cases
* **Edge Computing:** Deploying CloudStack in micro-datacenters at the edge where hardware resources are heavily constrained.
* **PoC and Testing:** Lowering the barrier of entry for users and developers who want to evaluate CloudStack on smaller hardware (e.g., single-node deployments).
* **Small Private Clouds:** Small businesses that need IaaS capabilities but have very limited host nodes.
### Additional context
This suggestion arises from an architectural analysis conducted as part of a university project on Software Systems Architecture, where we identified this monolithic aspect of the System VMs as a performance bottleneck for small-scale adoption.
Contributor guide
Research direction
The issue does not name implementation files, tests, or entry points. Start by mapping how CloudStack deploys the Virtual Router, Secondary Storage VM, and Console Proxy VM, then determine which proposed approach has a defined scope and how completion would be verified for small or edge deployments.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- cloud, infrastructure
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100