That's a pretty open ended question! :-)
It's difficult to predict that X number of servers in topology Y will serivce 1800 users and meet all of your requirements without understanding the make up of your users and what they do when they use your protal. Understanding this is key to successful planning.
If you have any usage data and metrics that you can use to develop user profiles, it'll help you a heck of a lot. Unfortunately, in most cases I've seen, these things are generally left to a best guess.
There's a lot of information out there that explains the planning process better than I can:
A great tool to look at is the SharePoint Capacity Planning Tool
, just understand that data about your environment will help make the results of this tool better, and that it's just an approximation of your needs.
Think about your farm's services. How will searching work? Is it a critical service? Do your users need querying to be highly available? You can only have one indexer per SSP. Do you need to make the indexer redundant or will you survive with the query servers being online and serving search queries while the indexer is down? Ditto for other farm services like InfoPath Forms Services or Excel Services.
On virtualization: I think it's a good way to achieve redundancy and reliability and can help save costs. I think that Windows Server 2008 and Hyper-V is a great platform. Just understand how this can affect your solution. An obvious example: having two virtual front-ends on the same host isn't providing high-availability - if the host machine goes down you've lost both front-ends!
Some people don't like to virtualize their SQL environment - especially if you have an existing SQL cluster. It can be done however, just understand that SQL IO is likely to become your bottleneck and put measures in place accordingly.
Lot's of things to think about and no clear answers, because "it all depends"! Their's no one size fits all. You need to invest some time planning.