BLOG

Introducing BRAVE OSS: Provision On-Demand Bare Metal Infrastructure for Dev and Test Environments

January 1, 1970
Robbie Gill

This is an ongoing open-source project we’re donating to community as our commitment to Open Source and are looking forward to collaborating with like-minded developers and platform engineers to further the community’s goal of ubiquitous cloud-native infrastructure with plenty left to do, but we're excited to share some early details and invite others to collaborate on the BRAVE an Open Source (Bare Metal Replication And Virtualization Environment) offers a virtual, cost-efficient, convenient, automated and on-demand tool for executing use cases requiring bare metal infrastructure.Cost and complexity of bare metal deployments can be prohibitive for a number of non production use cases such as :

  • Creating on-demand labs for conducting quick proof of concepts, demonstrations or experiments.
  • Creating testbed environments for development, debugging and automated testing.
  • Performing comprehensive architectural and security assessments through construction of proof of concept deployments.

We are inviting you to the launch, bookmark the link below and join us next month to know some early details and we’re welcomingly inviting others to collaborate on the BRAVE.[embed width="712" height="400"]https://www.youtube.com/watch?v=uj7Hg9mX1o8[/embed]Head over to BRAVE complete guide.BRAVE simplifies and streamlines bare metal deployments (esp. for non production use cases) by:

  • Providing fully automated instantiation of a singular cloud-based instance on one of the supported cloud providers (currently Oracle Cloud Infrastructure and Amazon Web Services are supported)
  • Replicating the entire bare metal infrastructure within this singular cloud instance by employing Virtualbox and vagrant managed virtual machines and capitalizing on Virtualbox's network capabilities.
  • Providing multiple provisioners that execute tailored workflows specifically designed for utilizing bare metal infrastructure in various use cases.

BRAVE facilitates a spectrum of automated workflows through its provisioners:

  • VM Deployment: Enables deployment of multiple virtual machines with configurable capacity and OS flavors on a single layer 2 network.
  • EKS Anywhere Bare Metal Cluster Creation: Facilitates the creation of an EKS Anywhere Bare Metal (EKSA-BM) Kubernetes cluster.
  • EKS Anywhere Bare Metal Cluster Creation using Rafay Controller: This functionality is supported by rafay_eksabm_cluster provisioner. This provisioner uses Rafay Systems Inc. Controller for EKSA operations.
BRAVE

BRAVE is written to be extensible and its functionality can be extended for new bare metal use cases by adding new provisioners. Each provisioner implements a tailored workflow specifically designed for utilizing bare metal infrastructure in a particular use case.BRAVE is a Rafay Systems Inc. project and publicly available on Github. For a comprehensive list of all open-source projects by Rafay, please refer to this link.

Providers and Provisioners

BRAVE supports virtualization of a number of bare metal deployment use cases by automatically creating a cloud instance and then executing workflows to spawn virtualized bare metal infrastructure within the cloud instance. Configuration item infrastructure_provider determines the public cloud to use and provisioner selects workflow to execute. A number of infrastructure_provider and provisioner settings are exposed which can be used in any combination to fit a particular bare metal deployment use case.

Providers

The infrastructure_provider determines which public cloud is used to deploy the cloud instance to house the virtualized bare metal infrastructure. The options currently supported are:

  • aws: Cloud instance is automatically launched in AWS Public Cloud. Instance types of metal are required.
  • oci: Cloud instance is automatically launched in OCI Public Cloud. All instance types are compatible.
  • infra_exists: No cloud instance is automatically launched. A pre-existing instance is assumed. SSH access is required to this instance.

Provisioner

The provisioner setting determines workflow that would be run on the cloud instance.

  • vms_only: Supports automatic deployment of virtual machines on the cloud instance.
  • eksabm_cluster: Supports automatic creation of an EKSA-BM cluster using VMs on the cloud instance.
  • rafay_eksabm_cluster: Uses Rafay Systems' controller for EKSA-BM cluster creation and Virtualbox for networking, VM management/power management.
  • none: No provisioner option. If specified, no provisioner is applied (no VMs etc. created). Possible use case is just creation of the cloud instance.

Note: Refer to discussion on structure of BRAVE's configuration file for further details.

Supported Use Cases

BRAVE facilitates a spectrum of automated workflows through its provisioners.

Deploying VMs on a Cloud Instance

Most conventional bare metal deployments encompass a small network of interconnected servers capable of direct communication among themselves and with external networks through a designated gateway. However, setting up non-production replicas of such deployments for testing, evaluations, demonstrations, or development purposes can become cost-prohibitive, primarily due to hardware specifications.BRAVE offers a solution to virtualize these deployments, substantially reducing costs and hardware requirements. This is achieved by employing Virtualbox and vagrant managed VMs to replicate bare metal servers and utilizing Virtualbox networking capabilities to establish the necessary networking infrastructure within a single cloud instance, available on supported public clouds. All essential software and packages are automatically installed on this cloud instance.

EKSA Bare Metal Cluster using VMs

BRAVE makes it possible to create non production EKSA-BM clusters without having access to specialized hardware or networking setup.

  • Having permission to launch a single cloud instance in a supported cloud provider (AWS and OCI are currently supported).

BRAVE can:

  • Launch an instance in a cloud provider.
  • Inside this cloud instance, create all infrastructure required for supporting an EKSA-BM cluster. This includes vms to emulate the machines and the network.
  • Using this virtual infrastructure, create an EKSA-BM cluster without any power management support (fully automated end to end).

Create an EKSA Bare Metal Kubernetes Cluster

eksabm_network

BRAVE simplifies EKSA-BM cluster creation by emulating the entire networking and bare metal setup required for creating EKSA-BM clusters on a single cloud instance of a cloud provider.BRAVE achieves this by:

  • Creating a cloud instance on a supported cloud or infrastructure provider.
  • Leveraging Virtualbox and vagrant to create EKSA-BM cluster setup on the cloud instance using VMs and a NAT Network.
  • Providing an automation engine to handle cluster lifecycle management operations for EKSA-BM clusters end to end without any manual intervention.
  • Automatically handling power management of cluster machines WITHOUT a BMC controller by watching relevant cluster events and performing power on and off of VMs via VBoxManage cli.

Power Management

Since Virtualbox does not support Baseboard Management Controller (BMC) integration, automatically powering machines on and off is not possible.

Powermanage

To address this issue, BRAVE implements a power management algorithm that monitors the state of the cluster and performs automatic power management of the Virtualbox vms without requiring BMC integration.

Summary

BRAVE presents a robust solution tailored for executing diverse bare metal infrastructure needs in a virtualized, cost-efficient, and automated fashion. It simplifies such deployments by automating the creation of a cloud-based instance on supported cloud providers and then replicating the entire bare metal infrastructure within this cloud instance through Virtualbox and vagrant-managed virtual machines. Workflows to implement bare metal use cases are offered as provisioners within BRAVE, where new use cases can easily be supported by introducing new provisioners.

Show your support

  • By starring the repository if you find it useful.
  • Share your thoughts, feedback, or suggest improvements by opening an issue in the repository.
  • Help expand BRAVE by implementing a Provider or Provisioner for new cloud providers and workflows. Pull requests (PRs) are highly encouraged and appreciated.
  • Join Paralus Slack channel share your feedback and get in the convos #brave-dev.
Tags:
No items found.
Recent Posts
GPU/Neocloud Billing using Rafay’s Usage Metering APIs
What is Agentic AI?
Deep Dive into nvidia-smi: Monitoring Your NVIDIA GPU with Real Examples
Introduction to Dynamic Resource Allocation (DRA) in Kubernetes
Rethinking GPU Allocation in Kubernetes