For most organisations the right country is decided by four things: where the users are, what the contracts say, which country the customers trust, and where the second copy of the data should go.
1. Latency: put the server near the users
Light in fibre covers roughly 200 km per millisecond, and every 100 km of distance adds about a millisecond to the round trip once routing is included. Within Western Europe that means differences of 10 to 30 ms between cities, which matters for real-time applications, VoIP and trading tools more than for websites.
- Whole of Europe from one server: Frankfurt or Amsterdam.
- Europe and North America: London or Amsterdam.
- Spain and Portugal: Madrid.
- Italy and the Balkans: Milan.
- France, Belgium and French-speaking Africa: Paris.
Test before you buy: each country page lists a test IP you can ping, and the looking glass runs a traceroute from the data centre to your network.
2. Contracts: EU member state or not?
If a contract or tender requires an EU member state, the UK and Switzerland are out, however good their data protection law is. Both have EU adequacy decisions, which make transfers easy, but adequacy is not membership. Read the requirement word for word.
3. Customers: the country they will ask about
German customers often prefer Germany, French public bodies often prefer France, and Swiss financial clients often prefer Switzerland. Even where the law does not require it, hosting in the customer's country can shorten a security review.
4. Redundancy: two countries, not two racks
For anything that has to stay up, keep the second copy in a different country with a separate power grid and network. Frankfurt and Amsterdam, or Paris and Madrid, are common pairs, close enough for fast replication and far enough apart that one incident will not affect both.
Price
Prices differ between cities for similar hardware, depending on local demand and stock. Once the shortlist is down to two or three countries that meet the requirements above, compare them on price. Use the country filter on the server list with the same core and memory requirements to see the difference side by side.