VMware Bare Metal Automaton (BMA) is a platform that offers a wide range of capabilities for business process automation. VMware Bare Metal Automation is a low-code workflow engine to automate the deployment of ESXi on bare metal servers. Additional capabilities include the server BIOS configuration, firmware and bios version management, and custom workflows to integrate with existing CI/CD pipelines post-execution.
VMware Bare Metal Automation - Logical Design
VMware Bare Metal Automation (BMA) is deployed as a cloud-native application, which requires an existing Kubernetes cluster to host the BMA components.
BMA is split into two architectural components:
BMA Core: The core component is the primary interface. It provides dashboards, plug-in repositories, and code editing. The real-time execution engine can exist within the core deployment or separately as a remote worker.
BMA Remote workers: The remote worker component is also a cloud-native application. It requires a Kubernetes cluster to host the components of the remote worker. Firewalls for HTTPs must be opened between the remote workers and the BMA core.
ISO server is an additional component that is used to create the ESXi ISO images for remote mounting to the servers. For optimal deployment, ISO servers must be deployed at each location where the remote workers are deployed for maximum scale and performance.
The logical design of VMware Bare Metal Automation includes the Core component deployed in the central management domain and two remote workers to execute bare metal deployment workflows.
To scale the deployment, remote workers can be deployed. In this diagram, the remote workers are deployed at the multi-site management domain. In reality, these remote workers can exist throughout the network, as close to the standalone hosts as possible for efficient communication.
The Kubernetes service for VMware Bare Metal Automation is of type Load Balancer. An external load balancer is required for the Core services.
VMware Bare Metal Automation - Scaling
VMware Bare Metal Automation can be scaled by adding remote workers to the BMA deployment.
While it is possible to create larger worker nodes for the core and remote worker pods to execute on, overall that element of scale depends on factors including network latency and the overall workload of the hosts.
For more information about tuning and scaling up the BMA core, contact your local VMware representative.
Worker groups can be created to aggregate the remote workers. Multiple workers can be added to a worker group. When using groups, BMA will round-robin the requests. Each BMA worker can execute up to 8 parallel tasks.
When adding remote workers to a group, permissions for that group do not exist. You must add the appropriate role and user permissions in VMware Bare Metal Automation.
Currently, up to 50 BMA remote workers can be connected to a BMA core instance. Thus, when devising a placement plan for the remote workers in a large deployment, the distribution of remote workers to worker groups can be as required. Ensure that the 50 remote worker limit is not exceeded. The recommended latency between the BMA core and BMA remote workers must be less than 200 ms.
Bare Metal Automation Design Recommendations
Attribute |
Specification |
---|---|
BMA Core |
Kubernetes cluster with at least two worker nodes |
Number of vCPUs |
4 vCPUs |
Memory |
16 GB |
Disk Space |
50 GB |
Remote Worker |
Kubernetes cluster with at least one worker node (more if multiple workers are needed) |
Number of vCPUs |
1 vCPU |
Memory |
4 GB |
Disk Space |
50 GB |
Design Recommendation |
Design Justification |
Design Implication |
---|---|---|
Deploy a BMA core instance (along with an ISO server) into the central management domain. |
Places the core BMA platform in the management cluster. Used as the main API or UI interface for BMA along with two remote workers in the core. Can be used for standalone hosts in proximity to the central management domain or for non-multisite designs. |
Requires the creation of a TKG cluster in the management domain. Can be created with VMware Telco Cloud Automation, but requires a TCA-CP node for the management vCenter |
Deploy at least one remote worker (and ISO server) for every Workload Domain. |
Allows the execution of workflows and preparation to be more distributed |
Requires a TKG cluster for the remote worker to execute on and a web server for the ISO component in each distributed domain |
Create groups for each set of remote workers. |
Allows load-sharing and distribution of tasks |
Requires the creation of worker groups in the BMA core configuration. |
Integrate VMware Bare Metal Automation with LDAP directory services. |
Allows for centralized control of user management |
Requires manual configuration to integrate with customer LDAP environment |
Configure logging from Pliant to the Aria Operations for Logs platform. Use TCP or TLS for secure logging. |
Allows log messages to be sent to a centralized platform |
Requires certificates if using TLS-based logging and firewall ports to be opened between BMA components and the Aria Operations for Logs cluster. |
Use NSX Advanced Load Balancer and AVI Kubernetes Operator (AKO) to provide the Kubernetes load-balancer service. |
Allows a supported load-balancer to expose the VMware Bare Metal Automation services. |
Requires AKO to be deployed to the Tanzu Kubernetes cluster |