I built a trading research system which runs backtest jobs. The system is managed by several Linux-based containers which are responsible for managing jobs, analyzing results, and storing all jobs and results in a PostgresDB. The backtest itself runs on an application called TradeStation, which is only supported on Windows (https://www.tradestation.com/trading-technology/system-requirements/).
I have sort of a frankenstein setup where the containers inside Docker on a built-up MacOS host (hackintosh with 4-cores and beefed up memory). The database is stored inside a Docker Volume. Then I have several VMs running Windows which runs Tradestation. Jobs are sent to the Windows VMs via a shared folder between MacOS and Windows.
I'm not married to MacOS, in fact I'd like to purchase ore or more powerful multi-processor servers and run virtualized (i.e. VMware ESXi).
I'm looking to transform the system to kubernetes for a more reliable and scalable system (among other benefits). Is it possible to setup this system in kubernetes?
I'm confused how the Windows systems run as a container alongside the Linux-based containers. I read somewhere that Windows containers must run on a Windows host? Does this mean that since I have Windows VMs, that I'm forced to run the entire system on a Windows server? I'd prefer to not be reliant on running on a Windows Host.
Any thoughts about how this system could be designed?