I know this is a general question that may not have a single right answer but I want some opinions. What are the key components to setting up a basic, small business server infrastructure on a Microsoft based network to ensure redundnacy, load balancing etc.? For example, I have read it's a good idea to have AD, DNS and DHCP with two instances so if one server fails, the second location can pick up that service seamlessly. Are there any other "roles" or "services" to consider when it comes to ensuring this kind of efficient design? Should I do the same for print servers? Should the roles be hosted on the same virtual machine or split up? All that is really needed is simple user accounts, file sharing, print sharing etc.