Cloud Computing & Force.com: Multitenancy vs Single Tenancy

Marcus Klems' Blog

Is a machine-centric Cloud Computing environment more suitable for delivering single-tenant instances?

Steve Bobrowski wrote an interesting whitepaper about the Force.com Multitenant Architecture. He describes multitenancy as a design approach to improve the manageability of SaaS applications and metadata-driven architecture as the choice to implement multitenancy. Steve writes that IaaS as a machine-centric Cloud Computing environment is more suitable for delivering single-tenant instances (compared to a “true” multitenant PaaS solution). This is an interesting insight.

Benefits of multitenancy:

Benefits of metadata-driven architectures:

Metadata-driven architectures are a good choice to implement multitenancy since they provide a polymorphic, dynamic application environment. This allows users of the platform to build custom extensions.



How to build a metadata-driven architecture?

The main idea is to separate a compiled runtime environment (”kernel”) from several (meta-)data layers (data, common metadata and tenant-specific metadata). When a user creates a custom extension, the extension is saved in a metadata directory and created on runtime (thus improving scalability). A potential bottleneck are metadata I/O operations which is why caching of the “virtual applications” + directory search optimzation is a good idea. Force.com provides developers with a WSDL document that lets them generate an API for accessing the Force.com Web services. More information on Force.com-specific development can be found in the very read-worthy whitepaper.

© 2008 SYS-CON Media