Solr runs fine on both Microsoft and Linux-based environments. I've only deployed Solr on Linux, though, so I can't vouch for the stability of running Solr on Windows in a production environment.
Solr requires the Sun Java JDK to run. Any version of the JDK above 6 is fine.
See the Resources section for some init.d and monit scripts.
The default Solr port is 8983. You need to ensure this port is open on the server.
Generally speaking, Solr is rarely CPU-bound. It is mostly I/O-bound, due to disk seeks.
CPU usage is usually higher if the application is write-intensive.
The more RAM you have, the larger you can set the query and document caches, and therefore the less I/O contention is an issue.
It is not rare to see Solr handling 100+ queries per second with a 3% CPU load with a modestly-speced server.
If you're running Solr on the same physical server as a relational database which has heavy load, it would be ideal to place Solr on a separate physical drive.
In a low-to-medium load application, its usually alright to run Solr on the same physical server as the web server.
If you're running Solr on Amazon EC2, I've found the small server to be sufficient for a number of small-medium sized Solr installations.
The 2 things you want to backup are:
Restoring a backup is as simple as shutting down Solr, copying the respective files over, then restarting Solr.
In the event of power loss or catastrophic hardware failure, Solr is usually pretty good about maintaining index integrity, so starting up again after reboot just works.
If the index does get corrupted, well, that's what backups are for! :-)