views:

47

answers:

2

Hi,

For my programming tasks I use about 2-3 remote servers to deploy and run my code against different conditions. This cannot be emulated locally as the server configuration requires powerful hardware. Most of time I need to stop service, update binareis, start service, view logs in realtime, download logs. Currently I'm doing this manually and over time this becomes a real pain in the ass, especially because the environment is not ideal in terms of network badwidth, reliability etc.

I just wonder if someone from server programmers have the similar problems and how do you bear with them. Any special tools/hints/secrets?

A: 

Sounds like you could use Scripting with Windows PowerShell to automate a lot of the manual tasks that you are performing now.

David Glass
I am using scriping now, however it still takes a lot of time for the rest. Like opening an RDP session to view logs in realtime.
aloneguid
A: 

Unit testing and mocking helps. Instead of having to run all the big powerful stuff all the time, you can save that for a nightly build & smoke or CI server job (most of the time).

Similarly, using of a distributed CI server, like Hudson or Buildbot helps you script the distribution and testing to all the machines.

Paul Butcher
You can't test everything with unit testing. Actually UT is not very useful when creating a server app for totally different configurations. Anything can happen what UT cannot simulate.
aloneguid
I agree, you can't test everything, in the end, you need to test the veracity of your mocks, and if you have an existing BigBallOfMud, UT is hard. However, you can test a lot. With good component design, and a rich collection of mock objects, you can avoid having to go through the whole cycle all of the time.UT is very useful for creating applications to run in totally different configurations, as it's far easier to create objects to hide, and mocks to mimic the behaviour of the different environments, than to post your binaries to all of your various test environments with every change.
Paul Butcher