I definitely see the uses of those two points. Regarding point two, this can already be realized. Say I've got a supercool payed-per-use service, which is tenant-aware. The supercool service then by itself can bill the tenant according to a payment plan which was chosen by the tenant.
I haven't followed the tenant-discussion yet, but one thing did leave me wondering: How do we ensure security and proper tenant-use. Assuming we have tenant A and tenant B, each having different applications, and using different components. 1) how do we ensure that tenant A only uses those components of Amdatu to which he is privileged? (say he's not allowed to use the cassandrastore, or some expensive service) 2) how do we ensure that tenant A cannot access any of tenant B's components? 3) how do we ensure that tenant A doesn't write aspects on platform-components which are used by other tenants? (say, tenant A writes an aspect for the amdatu-login service. Tenant A has now access to all user/password information which is passed to this service, from whichever tenant. Or maybe he'd like to ensure that users who start with ING get login errors) As an aside: Should tenant-code be written such that it is tenant-aware? Why should it? Ideally I'd like to write code which uses services, and has no idea if these services are tenant-aware :) Regards, Koos On 9 nov 2010, at 10:20, Marcel Offermans wrote: I'm not quite sure if we're doing multi tenancy the right way yet. I'm still considering a couple of alternatives here: 1) Running each tenant in its own OSGi container. This does not imply each OSGi container actually runs in its own JVM, as it's easy to create a single JVM that runs multiple, isolated containers. Advantages of this system would be mostly a vastly simplified programming model as you don't need to worry about tenants in your application. If services would need to be shared between tenants, we could use remote services to "deploy them to each container". 2) Using a notion of a tenant that is a bit more abstract, where each tenant (or customer) gets not only simply isolation but also a specific quality of service linked to that tenant. Paul Fremantle talks about this in his ApacheCon presentation on "building cloud native software" (see http://pzf.fremantle.org/2010/11/building-cloud-native-software.html) where he discusses the merits of having "coach, business and private jet" service levels. Greetings, Marcel _______________________________________________ Amdatu-developers mailing list Amdatu-developers at amdatu.org<mailto:Amdatu-developers at amdatu.org> http://lists.amdatu.org/mailman/listinfo/amdatu-developers Beste, Met vriendelijke groeten, Koos Gadellaa | Software Engineer +31 6 317 658 01 My world is: ever expanding Luminis KIS B.V. Prins Willem Alexanderlaan 715 7311 ST Apeldoorn +31 88 586 46 25 http://kis.luminis.eu http://www.luminis.eu KvK (CoC) 09 14 31 09 BTW (VAT) NL8135.18.556.B.01 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.amdatu.org/pipermail/amdatu-developers/attachments/20101110/d8f7b1e3/attachment.html

