Business Intelligence load balancing? Have your check book ready…

Analysis
Mar 31, 20093 mins

As I outlined in a previous blog entry, Microsoft has produced a huge 16GB VPC Image that has the entire Business Intelligence development stack installed on a single virtual machine. While this works, it is clearly not a good idea to load all this software onto a single server. But how should you scale out this solution in production? Well, it depends…

First of all, looking at the BI_VPC image, we always try to avoid loading SQL Server onto a Domain Controller. It is a best-practice to load SQL Server onto a member server so that it has access to all the resources of a separate machine. If you are supporting Cubes, it is a good idea to dedicate a server as an Analysis Server. We can now run Analysis Services on a cluster if we need failover for 24×7 coverage. The same for SQL Server.

Report Server, Sharepoint Server and PerformancePoint Server are all web-based products that require a Web Server so that needs to be on a dedicated machine too, for performance and security reasons. Again, most DBAs outlaw web services running on the same machine as your data. Too many security vulnerabilities, I’m afraid. Depending on the number of end-users, you may also consider a web-farm at the front-end to allow some network load balancing. Each product also has a service database loaded in SQL Server so that may point to multiple servers/clusters at the back-end too. It could be important to keep your business data away from the service data, again mainly for performance reasons but also for physical security reasons. One thing we don’t need with this solution is to be I/O bound.

To its credit Microsoft has produced a “Planning and Architecture Guide” which goes into three, five and ten server solutions. Candidly, it calls a single server solution a “Proof of Concept”. All this points to a multi-tier/multi-server solution that hardware vendors would drool over. Microsoft also will come looking for licenses across those servers and associated products. Not cheap.

But if we balance correctly, we just might come up with a viable solution. If you use the BI_VPC demo image, you will see what happens if you don’t do any load balancing at all. You need lots of memory or lots of patience or a bit of both.

Call it a “proof of concept” if you like, but I’ll call it “don’t try this at home”.

Or at work.

Cheers

Brian