Should I use separated servers? I have to use Solr to improve my customer search engine, on Drupal 7 website. 

On the development environment, I've set Tomcat and web server on the same machine and it works, but I did not inject the whole content database. It contains about 25,000 nodes; I'm not sure if I need to deploy the SolR instance (Tomcat + Solr + configs) on a separated server, or if this won't be useful.
In terms of Drupal integration with solr or its performance it does not matter you host solr on same instance or not.

However, to decide you might want to consider following:- 


Your server resources and its consumption: You need to evaluate if your server resources are well enough to serve the traffic on your website, since solr is going to share the same resources.
Maintenance of solr: Running solr instance will require some level of maintenance in terms of monitoring its running status, tweaking the solr  configuration as per your need, running it as background process.
Cost: Of course, it has cost implications hosting solr on separate instance or subscribing to paid solr hosting services will cost you extra bucks.


Hope that helps!