ubicloud  by ubicloud

Open-source IaaS alternative to AWS

created 2 years ago
5,338 stars

Top 9.6% on sourcepulse

GitHubView on GitHub
Project Summary

Ubicloud offers an open-source, self-hostable alternative to proprietary cloud providers like AWS, targeting developers and organizations seeking cost savings, control, and portability. It provides core IaaS services including elastic compute, block storage, networking, firewalls, and IAM, aiming to replicate essential cloud functionalities on bare metal infrastructure.

How It Works

Ubicloud employs a control plane/data plane architecture. The control plane, a Ruby application using Roda and Postgres, manages bare metal servers via SSH. It leverages Cloud Hypervisor within Linux namespaces for isolated VM execution. Networking is secured with IPsec tunnels, supporting dual-stack IPv4/IPv6, and utilizes Linux nftables for firewalls and load balancing. Block storage is provided via SPDK, with future plans for snapshotting and replication.

Quick Start & Requirements

  • Managed Platform: Use directly via https://console.ubicloud.com.
  • Self-Hosted:
    • Clone repo: git clone git@github.com:ubicloud/ubicloud.git
    • Generate secrets: ./demo/generate_env
    • Run containers: docker-compose -f demo/docker-compose.yml up
    • Cloudify servers: docker exec -it ubicloud-app ./demo/cloudify_server (requires SSH access to bare metal, default Hetzner support).
  • Prerequisites: Docker, Ruby, Postgres. IPv6 connectivity or tunnel broker recommended for VM networking.

Highlighted Details

  • Managed service is approximately 3x cheaper than AWS.
  • Control plane written in Ruby (Roda, Sequel, Rodauth) and managed via SSH (net-ssh).
  • VMs are isolated using Cloud Hypervisor within Linux namespaces.
  • Attribute-Based Access Control (ABAC) for fine-grained permissions.

Maintenance & Community

  • Founding team has experience from Azure, Amazon, and Heroku, including co-founders of Citus Data.
  • Community support available via a Community Forum.
  • Future plans include managed Kubernetes and monitoring services.

Licensing & Compatibility

  • The README does not explicitly state the license. However, the project is presented as "open source." Further clarification on licensing is recommended for commercial use or closed-source integration.

Limitations & Caveats

  • Block storage is currently non-replicated.
  • IPv6 is required or recommended for VM networking, necessitating potential VPN/tunnel setup if not natively supported.
  • The project is described as being in "public beta," indicating potential for ongoing development and changes.
Health Check
Last commit

1 day ago

Responsiveness

1 week

Pull Requests (30d)
137
Issues (30d)
8
Star History
346 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.