manage and maintain. Designed from the outset up for delivery as Internet-based services Architect solutions to be run by an individual company in a dedicated instantiation of the software Designed to run thousands of different customers on a single code Version control & Upgrade Problems Fixing a problem for one customer fixes it for everyone Hardware & Maintenance Costs Use cloud service, manage and customize IT costs
a multi-tenant architecture. • With this model, – a single version of the application, – with a single configuration (hardware, network, operating system), – is used for all customers ("tenants"). • To support scalability, the application is installed on multiple machines (called horizontal scaling).
TenantId is simply adding a column to all the columns, showing what tenant the row belongs to. – The separate data store calls for a much higher level of separation, where there is no shared storage for the tenants.
DB for the entire application, potentially reducing costs for managing the environment. • It comes with a whole set of problems, – Isolation: You have to actively do filtering all the time. – Security: you have to let all tenants access the data, security is in the app logic level. – Extensibility: in a shared environment it is hard to do a lot of extensibility in the data, because each client is stepping on each other toes. – Backup
– Scalability – Security – Custom schema for tenant – Ease of migration old applications to multitenant approach • Cons: – Uneven distribution of data – Increased required resources – Need of holding second database connection – Difficult deployment and maintenance
for the Cloud, 3rd Edition http://msdn.microsoft.com/en-us/library/ff966499.aspx • Berkeley University SaaS presentation http://bit.ly/1qlSQ56 • Database design in SaaS platform http://labs.octivi.com/database-design- in-saas-platforms/ • Multi Tenancy - The Physical Data Model http://ayende.com/blog/3497/multi-tenancy-the-physical-data-model • Development strategies for multitenant platforms http://labs.octivi.com/development-strategies-for-multitenant-platforms/ • Multi Tenancy - Approaches and Applicability http://ayende.com/blog/3530/multi-tenancy-approaches-and- applicability