Normally a SharePoint Farm topology vary on number of factors.
1) Number of users.
2) Redundancy requirements.
3) Service applications being used.
Looking back at SharePoint 2007, it was SSP (aka Shared Service Provider) we had. But with the new service applications model in SP 2010 the users have greater flexibility in deployments.
Given below are the different Farm Topologies used in SP 2010 Deployments.
Single Server Farm
This is ideal for a user base of less than 100. This farm consists of a single server catering the requirement of the Web Front End (WFE), Database Server and the Application Server.
Two Server Farm
This farm is equipped with one Database Server and one Webserver that performs all the application services. For high availability a clustered or mirrored database server is recommended. This farm can cater the requirement of 100 to 10,000 user base.
Two-Tier Small Farm
This environment is adequate for a user base of 10,000 to 20,000 with low service usage. Two Web Servers, one Web Server performing the tasks of the Application Server and the Database Server (clustered or mirrored).
Three-Tier Small Farm
Three-Tier small farm is much more similar to a Two-Tier Small Farm. A dedicated Application Server is added to cater the requirements of the Services. To improve the performance of the Search Service a the Search Database can be moved to a dedicated Database server. This Farm Topology is ideal for a solution with a Search Database containing nearly 10 million items which can be considered as a large Search Database. Though its optional, it’s a good practice to have a Database Cluster or a mirror.
This is a Three-Tier Farm. The general rule in planning is to have 10,000 users for a WFE Server. In the First Tier we can utilize two or more Web Servers. In the Second Tier there are two servers dedicated to crawling contents and serving search queries and one or more servers for all other application services. In the Third Tier there are dedicated servers for Search Databases and one or more servers can be used for all other SharePoint Databases.
The middle tier can be expanded to to handle the growth by adding more servers to cater the requirement of application services.
*optional servers are in gray color.
It's always recommended to use the concept of “server groups” to group services with similar performance characteristics together onto a single server and then add servers based on the needs of those particular services.