Multi-Tenant Configurations:
I have worked at multi-tenant environment and some of the things worked well in supporting multi tenant environment are listed here.
These are based on my personal experiences. I have seen close to flawless design and execution as well as pretty bad design and execution.
I am fortunate enough to experience both worlds.
1. Branding Configurations
Think about supporting hundreds or thousands of customers , who want to resell your product under their brand.
Ability to apply the branding changes is paramount to provide visually seamless integration.
Having the ability in the framework to just drag and drop custom headers , footers and css styling. This inbuilt framework saves lot of hassles down the line.
2. Localization Needs
Ability to support localization.
3. Configurations:
Branding configurations
Language dependent and language independent configurations.
4. Ability to clone one tenant configuration to another Tenant.
Even-though we all want to be original, in my experience I have seen 80-20 rule being applied on multi-tenant environment. Pretty much 80% of the features and customizations are requested by pretty much all tenants.
5. Feature Toggle and Feature shunt:
Have the ability to release the feature shunted and turn on the feature for limited audience.
In my experience, customers are the best judges and your product team can have very talented individuals but in reality how things received in the market can defy all your conventional wisdom.
So having the ability to release the feature for limited audience brings lot of value in multi tenant environment.
6. A/B Testing
Have the ability to release the feature with different configurations. Like the saying, without data, its just another persons opinion. If you want to make your decisions based on data, its absolutely necessary to have the ability to do A/B Testing.