Dell Case Study - Reflex Customer Stories

Dell

Multi-Node VM Clusters in Minutes, From the Browser: How Dell Built Dynamic Lab in Pure Python

1 Engineer built the entire full-stack production app: backend and UI, all in pure Python
200+ Engineers using Dynamic Lab today
2,000+ VMs actively managed through the app at any given time
Founded Round Rock, Texas, 1984
Investors NYSE: DELL
Website dell.com
Dynamic Lab: internal VM management app built with Reflex

Here's how JL Olmstead, a Senior Principal Engineer at Dell, describes Reflex after using it to ship a production-ready internal app:

"It gives us the ability to create essentially a React web page with Tailwind support that is all driven through Python. Back-end, front-end, APIs: we configure it all in Python, and Reflex builds it out."

Meet Dell, one of the largest technology companies in the world. Headquartered in Round Rock, Texas, Dell employs over 100,000 people and supports customers across enterprise infrastructure, data center hardware, end-user computing, software-defined storage, and managed services, including flagship products like PowerScale, PowerStore, PowerEdge, and the Dell client portfolio.

Behind those products sits a global support and engineering organization that needs to replicate, debug, and validate customer environments every single day.

Outgrowing the CLI: A Lab Management Bottleneck

Inside Dell's enterprise support and engineering org, engineers need on-demand access to fully configured clusters and VMs to reproduce customer setups, troubleshoot live cases, and validate fixes. For a support engineer working a ticket, the gap between a same-day resolution and a multi-day debug often comes down to how quickly they can stand up a lab that matches what the customer is running.

Historically, this was a real bottleneck. Engineers either had workstations under their desks, or shared servers that one person had configured and lent out to teammates. Spinning up a fresh, multi-node cluster on a specific product version, let alone one matching a specific customer configuration, was something only a handful of senior engineers could do efficiently.

JL, a Senior Principal Engineer at Dell, was tasked with fixing this. His mandate was to make lab provisioning self-service so that any engineer, including day-one techs and subject matter experts who weren't infrastructure specialists, could spin up a multi-node cluster in minutes, replicate a customer's environment, and start debugging. The third evolution of this internal tool, Dynamic Lab, would be browser-based.

"Trying to get labs set up for many thousands of users was difficult. We'd have workstations under people's desks. Other people would set up servers, and they'd be the only ones using them. It was very difficult for someone coming in entry-level to say 'I want to learn how to use this product' and be able to jump in and get up and running."

A Strategic Bet to Stay in Python

JL has spent his development career in Python infrastructure. The backend services his team had built for scanning VMs, gathering data, and coordinating Jenkins and Ansible jobs were all written in Python. The path from CLI to browser was the bottleneck, but the question wasn't whether he could learn React. As a Senior Principal Engineer, his calculus was about what would actually scale: any UI layer outside his Python codebase would mean a parallel stack to maintain, a separate skill set to keep on the team, and another set of dependencies to take through Dell's procurement process.

He still spent months evaluating his options. React was the obvious enterprise default, but it would have meant ramping up on JavaScript, a frontend toolchain, and component libraries that none of his existing Python tooling spoke to. He explored Svelte and tried to get a Vue environment running. None of them got him to a working tool fast enough to justify the parallel stack cost.

"I spent six months researching frontend frameworks. React, Svelte, even tried to get a Vue environment working. It was just too much."

Before Reflex, JL's own early attempts at building a webUI for the lab tool were, in his words, "hacked-together HTML" that "looked like garbage and were tough to use as an end user." That wasn't going to fly for a tool meant to scale across thousands of engineers under the Dell brand.

Building Dynamic Lab in Python with Reflex

JL started prototyping Dynamic Lab in Reflex and had a working demo within a week. Because Reflex is pure Python, every backend service he had already written, including the VM scanners, the Jenkins and Ansible coordination, and the data collection logic, could be reused directly. No rewrite. No JavaScript layer. No new toolchain.

"With Reflex, I could put together demo pieces within the first week that could functionally take and display the data. I could get data in and out, and it just worked. Total game changer."

The team was able to:

"As soon as I saw the card component on the Reflex site, I was able to build the initial wireframe we'd been sketching, get it up and running and responding. It was a clear winner."

The result is a production beta that lets any Dell support engineer pick a product, pick a version, and spin up a fully working multi-node cluster, with networks, configuration, and clients all included, in a few minutes.

"This lets a user jump into a fully working PowerScale cluster where we've configured the backend networks and everything else. They can match what the customer is running, bring in different clients, replicate the issue, and solve a case faster."

Why Dell Chose Reflex

JL evaluated multiple paths to a production browser-based tool and chose Reflex because it allowed his team to:

"All the stuff we had done in the previous app was Python-based. This just made it really clean and easy. It was a lot easier to onboard."

"I am not coming from a web background at all. Being able to say 'OK, I want tabs, I want this color, I want the content to look like this' was what made it a lot easier."

"I can look at the Reflex code and I know what's happening. And that makes it a lot easier."

From Beta Toward Broader Internal Rollout

Dynamic Lab is currently in beta with 200+ engineers across Dell and is managing roughly 2,000 VMs at any given moment. The team is moving to beefier hardware to support broader adoption. The broader engineering organization, thousands of developers who were constrained by the original CLI bottleneck, represents the long-term opportunity.

JL is also extending the platform with:

  1. A Reflex-based management server that drops gateways into different environments, with the goal of making Dynamic Lab hypervisor-agnostic across customer and partner deployments
  2. A file upload pipeline using rx.upload so template creators can submit ISOs and other artifacts directly through the app
  3. A migration from SQLite to Postgres to support the higher concurrency expected as user count scales

What started as one Senior Principal Engineer's attempt to replace a CLI is now embedded infrastructure for how Dell's support and engineering org reproduces customer environments and resolves cases.

"My early attempts at building a webUI were just hacked-together HTML. They looked like garbage and were tough to use. Reflex is the opposite. It looks good, runs well, and the performance has been great."