Hey everyone,
I'm trying to establish a Windows-based cluster similar to Kubernetes, but instead of just containerizing everything, I want to run full Windows virtual machines that allow for UI access. This setup is for development and UI automation tasks (like RPA workflows with Win32 applications).
Here are my main requirements:
- I need multiple Windows VMs that are easy to scale up and down.
- I want centralized orchestration, preferably with Kubernetes-like scheduling and deployment features.
- I need UI access (think RDP or something similar) to facilitate development and debugging processes.
- The solution should support running automation scripts that interact with UI elements, not just services running in the background.
- Ideally, I'd like this to work on Azure, but I'm open to on-premise or alternative cloud solutions if they provide a better developer experience (like quick rebuild and redeploy cycles, and easy snapshot and restore capabilities).
I've looked into a few options:
- Tried AKS with Windows node pools, which was great for containers but fell short for full UI workflows.
- Explored Azure Virtual Desktop, which provides a nice UI but lacks the orchestration and scheduling component I'm after.
- Considered KubeVirt, but I'm unsure about its support for nested virtualization with Windows VMs at scale.
- Attempted using Windows containers on AKS, but I couldn't get my UI automation scripts to run.
Has anyone here managed to set up something like this? I'm particularly interested in:
1. Real-world issues you encountered.
2. Performance tips, especially for workloads heavy on UI.
3. Tools for monitoring and debugging these VMs in a clustered setup.
Thanks a lot for any input—I'm looking for real experiences and lessons learned!
3 Answers
What you're aiming for looks like a specialized environment for developing Windows apps, especially for UI interactions. You don’t necessarily need a clustered setup for that. Maybe look into using VirtualBox for local automation, or provisioning Azure VMs through Terraform with CI/CD pipelines. You can automate starting and stopping the VMs based on your testing needs. It's definitely worth considering saving some costs while testing things out!
It sounds like you're on the right track with KubeVirt or Harvester since they sit on top of Kubernetes and offer UI access. But honestly, if you're going for a Windows cluster, maybe consider just using a hypervisor like Proxmox. You can manage everything through its API or even Terraform. It seems like you're trying to find a container orchestrator when what you really need is a hypervisor to manage VMs. Just a thought!
Honestly, managing Windows environments for UI-heavy applications can be tricky. If you’re leaning towards Azure, go for VMs set up via Terraform. They let you scale as needed, plus you can schedule them to save costs. Just remember, none of these solutions will be exactly like Kubernetes, but they can get you pretty close in functionality.
Good point! Sometimes I think we get too caught up in trying to find the perfect tool that ticks all boxes, when something simpler might do the job better.
Yeah, I get what you mean! Simplifying things can often lead to a smoother workflow. Sometimes all the orchestration can overcomplicate what you're really trying to achieve.