About Offloading processing to client side:
Can the client machines handle the business logic processing smoothly? Does other applications (outlook, VS, eclipse, etc) suffer because of the heavy silverlight application?
If the client machines have trouble running the silverlight application, then you need to take some processing to server side, maybe do some conversions from the raw data and send more streamlined data (e.g. JSON/XML) to the clients.
If the silverlight application works fine without impeding your users' work, then it's perfectly OK to offload the business logic to clients since you are saving server side resources.
To answer your questions:
Is it going to be faster?
It will be faster on client side but slower on server side. You might need to upgrade the VMs.
Do I need to scale immediately?
Your server will be processing more data than it used to, so you might have to scale if you see its getting slower.
Is Fetching the data only once on the server then caching it something
like redis than doing the computations according to user requests
better solution?
If different user requests fetch the exact same data into the server multiple times, and if fetching is a slow operation, then it is a very good idea to cache it. Based on the amount of data you might use storage systems like Redis.
If clientside approach is good, do I need to switch to Javascript and
Javascript client side MVC frameworks like AngularJS?
If you have a standardized set of client machines, then Silverlight is good. You might have to think about javascript based clients if you have Linux, Mac, or Windows systems without Silverlight. Plus, Silverlight and other RIA frameworks are much faster than javascript when you are implementing heavy business logic on the client side.
Best Answer
There are several advantages to this approach:-
There are a few downsides though.