Ubicloud is an open-source cloud platform designed to replicate the core services of AWS—such as elastic compute, block storage, load balancing, and managed PostgreSQL—on bare metal infrastructure. Built to be portable and self-hostable, it empowers developers and DevOps teams to escape vendor lock-in and reduce cloud costs by up to 70%. Unlike proprietary clouds, Ubicloud gives full control over infrastructure while maintaining the convenience of managed services. It’s ideal for teams with existing bare metal servers, those seeking compliance and portability, or anyone looking to run CI/CD workloads more affordably.
The platform consists of a Ruby-based control plane that manages Linux bare metal instances via SSH, using Cloud Hypervisor for VMs, SPDK for block storage, and nftables for networking. It supports IPv4/IPv6 dual-stack, ABAC-based access control, and integrates with providers like Hetzner and Leaseweb. You can either use their managed service at console.ubicloud.com or deploy your own control plane using Docker Compose.
What You Get
- Elastic Compute - Provision and manage virtual machines on bare metal servers using Cloud Hypervisor within Linux namespaces for isolation. VMs are created and destroyed via the web console or API, with IPv6 assignment by default.
- Non-replicated Block Storage - Deliver virtualized block storage using SPDK (Storage Performance Development Toolkit) with enterprise-ready features like snapshots and encryption at rest, designed for future replication support.
- Managed Postgres - Deploy and manage PostgreSQL instances as a service within your Ubicloud environment, with automated backups and connection pooling.
- Firewall & Load Balancer - Implement network security rules and traffic routing using Linux nftables, enabling per-customer isolated networking with flexible rule sets without additional software dependencies.
- Attribute-Based Access Control (ABAC) - Enforce fine-grained permissions based on user attributes, roles, and resource tags, allowing secure multi-tenancy for teams or clients.
- Kubernetes Readiness - Actively developing managed K8s integration, positioning Ubicloud as a future platform for container orchestration on bare metal.
- GitHub Actions Integration - Optimize CI/CD pipelines by running ephemeral workloads on Ubicloud’s managed cloud at ~3x lower cost than AWS.
- Portability - Deploy the control plane anywhere—on-prem, in data centers, or on bare metal from Hetzner/Leaseweb—and manage resources uniformly across locations.
Common Use Cases
- Building a CI/CD pipeline with low-cost ephemeral workers - Run GitHub Actions runners on Ubicloud-managed VMs to cut cloud compute costs by 70% compared to AWS EC2, especially for memory-intensive test suites.
- Running a compliant SaaS application on owned infrastructure - Deploy multi-tenant apps with ABAC, encrypted block storage, and private networking on bare metal to meet data sovereignty or audit requirements.
- Legacy server modernization: turning idle rack servers into a private cloud - Convert unused bare metal hardware into a scalable, API-driven cloud using Ubicloud’s control plane and SPDK-based storage.
- DevOps teams managing multi-region workloads without vendor lock-in - Use Ubicloud to standardize infrastructure across Hetzner (Europe) and Leaseweb (Asia), with consistent APIs, networking, and access policies.
- Startup infrastructure cost reduction - Replace AWS services with Ubicloud’s managed platform for web apps, reducing monthly bills while retaining features like load balancers and Postgres management.
Under The Hood
The project is a Ruby-based infrastructure management platform that provides a unified interface for handling cloud and AI resources, including VMs, Kubernetes clusters, and PostgreSQL instances. It emphasizes robust access control, billing integration, and extensible CLI tools to support complex multi-cloud environments.
Architecture
This project adopts a monolithic architecture with clear separation of concerns, enabling modular handling of diverse infrastructure types.
- Modular design with core modules and CLI-based command routing
- Strong emphasis on helper classes and reusable components for resource management
- Command-based architecture that supports extensibility across different cloud providers
Tech Stack
Built primarily in Ruby, the project leverages a rich ecosystem of tools and libraries to manage infrastructure and user interactions.
- Uses Ruby with Rack/Sinatra framework for backend handling and Node.js for frontend asset compilation
- Integrates key libraries such as Sequel, Octokit, Stripe, and AWS SDKs for core functionality
- Employs Docker, Bundler, and NPM to support containerization and dependency management
- Comprehensive test suite using RSpec ensures code reliability and maintainability
Code Quality
Code quality is solid with consistent style, extensive testing, and robust error handling practices.
- Abundant test coverage and adherence to programming conventions ensure maintainability
- Error handling is consistently applied across core logic and resource operations
- Codebase demonstrates high consistency in naming and structure patterns
- Some complexity in conditional logic suggests potential areas for refactoring
What Makes It Unique
This project introduces innovative approaches to infrastructure management through its integration of access control, billing logic, and extensible CLI tools.
- Recursive tag system with cycle detection enables secure, nested permission structures
- Built-in billing engine supports flexible YAML-based pricing models tied to resource properties
- Extensible CLI architecture allows unified management of diverse cloud services
- Access control model integrates seamlessly with Kubernetes, PostgreSQL, and VMs via tag-based policies