Ubicloud: An Open Source Alternative to AWS for Cloud Infrastructure

Summary
Ubicloud is an open source cloud platform designed as an alternative to proprietary providers like AWS. It enables users to build their own cloud infrastructure on bare metal, offering services such as elastic compute, block storage, networking, and managed databases. This platform aims to reduce costs and return control of infrastructure to users, all while maintaining cloud convenience.
Repository Info
Tags
Click on any tag to explore related repositories
Introduction
Ubicloud is an innovative open source cloud platform that serves as a direct alternative to major proprietary cloud providers like AWS. Designed to run anywhere, it allows users to build and manage their own cloud infrastructure on bare metal servers. Ubicloud offers a comprehensive suite of IaaS features, including elastic compute, non-replicated block storage, firewalls, load balancers, managed PostgreSQL, Kubernetes, AI inference, and IAM services. Its core mission is to provide an open, cost-effective, and portable cloud solution, giving users greater control over their infrastructure.
Installation
Ubicloud offers flexibility in how you can get started:
- Managed Platform: For immediate use without any installation, you can leverage Ubicloud's managed service. This option allows you to benefit from underlying provider advantages like pricing and location.
- Build Your Own Cloud: If you prefer to host your own cloud, Ubicloud provides the tools to set up its control plane and connect to its cloud console. This process involves:
git clone git@github.com:ubicloud/ubicloud.git ./demo/generate_env docker-compose -f demo/docker-compose.yml upThen visit
localhost:3000to access the console.To cloudify bare metal instances, such as those leased from Hetzner, update your
.envfile withHETZNER_USER,HETZNER_PASSWORD,HETZNER_SSH_PUBLIC_KEY, andHETZNER_SSH_PRIVATE_KEY. Then, run the cloudification script for each instance:docker exec -it ubicloud-app ./demo/cloudify_server
Examples
Ubicloud is suitable for various use cases, providing a compelling alternative to traditional cloud offerings:
- Ephemeral Workloads: Ideal for CI/CD pipelines or compute/memory-intensive tests, where cost savings can be significant (e.g., ~3x cheaper than AWS for some managed cloud workloads).
- Portable App Deployment: Integrate with tools like Kamal for simple, portable application deployment, leveraging Ubicloud for open and portable services for Kamal's dependencies.
- Private Cloud on Bare Metal: Build your own cloud on existing bare metal machines for enhanced portability, security, or compliance requirements.
Why Use Ubicloud
Ubicloud addresses key challenges with proprietary public cloud providers by offering:
- Open Source Freedom: A true open source alternative that eliminates vendor lock-in and provides transparency.
- Cost Efficiency: Significantly reduces infrastructure costs, with managed services offering substantial savings compared to major cloud providers.
- Control and Ownership: Returns control of your infrastructure, allowing you to manage and customize your cloud environment.
- Focused Feature Set: Aims to implement the 10% of cloud services that account for 80% of consumption, focusing on essential and high-impact features.
Key architectural components include:
- Elastic Compute: Utilizes Cloud Hypervisor as the VMM, with instances isolated within Linux namespaces.
- Networking: Employs IPsec tunneling for encrypted private networks, supporting IPv4/IPv6 dual-stack, public/private networking, and Linux nftables for firewalls and load balancers.
- Block Storage: Leverages SPDK for virtualized block storage, with future plans for snapshots and replication, and secure encryption of data encryption keys.
- Attribute-Based Access Control (ABAC): Provides fine-grained access control with definable attributes, roles, and permissions.
Links
- GitHub Repository: ubicloud/ubicloud
- Managed Service Console: console.ubicloud.com
- Community Forum: GitHub Discussions
- Learn with Greptile: learnthisrepo.com/ubicloud
- Ubicloud Blog Posts: