Scaling Mi-Corporation Applications


Mi-Forms has a well documented history of providing mobile solutions for the enterprise, but just how does it scale? Many of our solutions rely on a single IIS web server and a variable number of mobile devices. In fact a customer can have a single server, or even a VM, that hosts Mi-Forms Server on IIS and SQL Server Express all in one. This provides customers with a quick way to get started, but what happens when the resources that provides are not enough? What if your IT infrastructure requires extra security considerations, or the demand is higher than that?

Recently I was tasked with a very large implementation of the Mi-Forms platform. This customer will have up to 30,000 users and needs to make sure that any platform they adopt is able to deal with the resource load that that scale will bring. The solution we created is far more robust than many would need, but in this case it puts the customer in a great position to deal with growth.

Mi-Forms Server 10 and IIS 7.5 were installed on four identical Windows 2008 R2 servers. Each server has 32 Gb Ram, and 500Gb storage. SQL Server 2012 was installed on two identical servers with similar specifications as the IIS Servers. A Fujitsu load balancer tied the four servers into a single URL, using a sort of cached Round Robin method to deliver traffic. When a user accesses the URL, the load balancer checks to see if there was a server recently accessed by that user, and if it is available it delivers that user to the same server. The SQL Servers are clustered as well, improving the data redundancy. Testing was done that included sending 10,000 sessions at once to the system to make sure it would process everything. Of course sending that many forms to a server at once is extremely unlikely, it is important to be prepared to respond if such a scenario occurs. This test took a couple of hours to complete, but the process was successful where a single server may have become overloaded.

Having all of these resources may seem like overkill, but this solution resolves issues that may be encountered when one server has too much load, or one server fails to respond. The beauty of it is that as their users grow and they find that they need more power, they can simply add more servers into the mix. Large or small, we can provide solutions that fit your organizational needs. And importantly, when small becomes large, we can scale our solutions to suit.