I've already been on here asking various questions about the inner workings of TeamCity as I evaluate it. One of our departments has already purchased a license and plans to use TC extensively. However, I need to pull back and ask some really general questions to ensure that I have the support of JetBrains before my department makes the switch as well.
Our build architecture consists of 9 WinXP machines, 5 Mac machines, and 14 Linux machines - all building separate versions of dozens of repositories we have. It may be obvious but I should state that our software is multi-platform and thus when a change is checked into a repository, we expect 1 of each of those platforms to be picked up by TeamCity and used to build the latest for said repository. The WinXP and Mac machines are in California, the Linux machines are in Arizona and Texas, and the server will most likely end up in Arizona. These machines are connected through a VPN but are obviously not all on the same LAN. Because of this complex architecture we have, we've been bitten by bugs using other kinds of software. During my evaluation, it seems to me that TeamCity is able to handle this heterogeneous, networked build environment. So let's get down to the broad, vague questions.
Does JetBrains agree that TeamCity is able to support this kind of architecture? Should we run into any problems, does JetBrains allow a deeper interaction for support other than these forums, the bug tracker, and a support submission form? I'm curious what kind of support interactions others have had and if they've been sufficient to quickly and effectively solve problems. The last thing I need is to ask why something breaks and then be told "We do not recommend that kind of build environment." as an answer. Can I be assured I won't?
Thanks for reading and I appreciate any feedback.