Forum Discussion

stheron_82150's avatar
stheron_82150
Icon for Nimbostratus rankNimbostratus
May 10, 2010

Using Web Acceleration for Custom Cloud Solutions

F5 Web Acceleration is a great product that is a pain to implement in a dynamic SaaS environment. Our first atttemp 2 years ago used an include all policy with the idea of excluding content as we see it breaks in a multi tennant environment, that did not last long since customer A in some situations with some browser types could see cached content of customer B in test scenarios.

 

 

So we went in to production with an exclude everything policy, and only included things such as CSS, jpeg's, a some other content, but excluded everything that is .aspx, .asmx and so one - classified as dynamic content.

 

 

Bottom line - great product and in a Cloud environment 80% of that great product is turned off.

 

 

Anyone had similar experiences using Web Acceleration and SaaS / Cloud multi tennant solutions ?

 

 

  • This sounds like it could have been addressed with a variation rule in the policy. For some SaaS providers there is no possibility of using different policies for different applications as there is only a single domain name yet hundreds or thousands of companies access that application on a daily basis. Without the proper policy in place you can very easily encounter a situation where all customers would see customer A’s data – definitely not good. To take advantage of dynamic page caching and prevent this from happening then variation rules are a key component of the configuration. The presentation of another user's data occurs when there is a parameter in the request such as a cookie which controls what version of a page should be served. If there is a parameter that should result in different content being served for different values that needs to be defined in the variation rules in the policy. Knowledge of the application is an absolute requirement for understanding how content is delivered to ensure the proper rules are in place. If the delivery of the content is not determined by a parameter in the request but is instead managed on the back end by the database then there is no way of performing dynamic caching of the pages.

     

     

    If there are different domains for each tenant then this isn’t a problem as by default hosts are considered as requiring that different content be served.

     

     

    --Dawn