1. A system of enabling multi-tenancy for Software as a Service (SaaS) application, the system comprising: a tenant-context module configured to identify a tenant and a tenant-context, wherein the tenant is a user of SaaS application and the tenant-context comprises information related to requirements of the tenant based on a request for the SaaS application by the tenant; a policy configuration module configured to define a plurality of policy configuration files for each tenant, wherein the plurality of policy configuration files comprises a plurality of variations to be applied to one or more variation points for each tenant; a variation resolver module configured to identify one or more variations from the plurality of variations and further configured to apply the one or more variations to the one or more variation points available in layers of a software architecture; and a foundation module configured to provide underlying architectural strategies to enable the one or more variations.