LXD: Virtualization Backbone for OpenML
At OpenML, we leverage LXD's powerful and efficient virtualization to build, test, and deploy our machine learning, NLP, and and knowledge graph solutions. Discover how LXD fuels our innovation.
Get Started with LXD
Why OpenML chooses LXD

Autonomy
When we use LXD on our own hardware, we are the "lawgiver" for our infrastructure. We set the rules, manage the security, and have maximum freedom and control.

Lightweight and efficient
LXD provides the density and efficiency of containers with the security and isolation of virtual machines, reducing costs and our carbon footprint.

Versatile infrastructure
From dev environments to clustered GPU workloads, LXD's flexibility to run both containers and full VMs is critical for our diverse project needs.

Secure by design
With features like unprivileged containers and network isolation, LXD provides a secure environment for protecting our proprietary data and algorithms.

Manage LXD
LXD offers multiple interfaces for management, providing the flexibility for both interactive and automated control over our infrastructure.
LXD CLI
The command-line interface is the primary tool for interacting with LXD. It's powerful, scriptable, and intuitive, making it the go-to choice for our DevOps team for automation and daily administration.
LXD REST API
For deeper integration with our custom tools and platforms, we use the comprehensive REST API. It exposes all of LXD's features, allowing us to programmatically manage the entire lifecycle of instances.
LXD graphical user interface (UI)
For visualization and straightforward management tasks, the web-based UI offers a clear and accessible overview of our LXD clusters, instances, storage, and networks.

Use Cases @ OpenML
We think of LXD as a "micro AWS" allowing us to create a private IaaS on hardware we control. It excels for speed, control, and privacy, whereas AWS is our choice for global scale and its vast managed services. As LXD evolves into a lightweight cloud solution with MicroCloud, this concept becomes even more relevant.
Local Development & Testing
This is LXD's killer feature. Developers need to quickly spin up clean, isolated environments to build, test, and debug applications.
- Speed: Launching a fresh Ubuntu container with LXD (`lxc launch images:ubuntu/22.04 my-dev-env`) takes about 2-3 seconds. An EC2 instance takes over a minute.
- Cost: LXD is free. We can create and destroy hundreds of containers a day on our hardware at no cost, unlike the pay-per-second model of AWS.
- Simplicity: It's a single command to get a full OS environment. This frictionless workflow is perfect for development loops.
Bottom line: For creating disposable environments on our own machine, LXD is faster, easier, and cheaper.