A server farm is a distributed application architecture (multiple servers working together) and provides scalability by making it easy to add more computers. However, it's not limited to web servers - server farms can serve various applications, making 'Both a and b' correct.