Hello Bram,

On Sep 29, 2011, at 11:13 AM, Bram de Kruijff wrote:

> 2 cents..
> 
> 2011/9/29 Marcel Offermans <[email protected]>:
>> There are two issues related to multi-tenancy I want to discuss:
>> 1) The current multi-tenancy development model is too invasive for
>> developers. Everything must become a factory, and worse, it's impossible to
>> use 99% of all existing OSGi services because they don't support this model.
>> I think it ultimately hurts adoption of Amdatu, because you can't just use
>> OSGi.
> 
> I agree that the current model is too invasive and brittle. Ideally an
> amdatu application developer should not be concerned with
> multi-tenancy at all. In previous discussions and milestone
> definitions I believe we have used "restoring the programming model".
> There have bee mentions of smart base activators or dependency manager
> constructs that could help out. However, such solution are still too
> invasive for the second part your second point. How to manage "amdatu
> unaware" implementations in a multi-tenant model...

Agreed.

>> 2) Multi-tenancy should be optional. That means that all services should
>> operate as "normal" services when there are no tenants around and only start
>> supporting tenants when the appropriate tenant bundles are installed.
> 
> What s wrong with a "Default Tenant" approach?

What's wrong with it is mainly the first point: the current model being too 
invasive, which means that most, if not all third party bundles need to be 
modified to work with it.

> My concerns is all kinds of implementations popping up that can not handle 
> multi tenancy
> and it will be choas.

Well, you can also argue the other way round and say that if you don't want to 
use *this* multi tenancy model at all, why needlessly complicate your 
implementation by having to implement it anyway.

> However, given a full solution to point 1 we
> have no argument. The application developer and 3rd party code) should
> be unaware and thus not care ;)

To make this model less invasive we could at least consider implementing the 
bundles we have now in such a way that you can use an "unaware" version if you 
want and use some kind of wrapper or multi tenant aware one if you do want to 
use this model.

>> I understand that the current model is used, so we cannot just "throw it
>> away". It is probably a good model if you have a lot of tenants on a single
>> machine (>100). By making it optional we ensure it's not in people's way if
>> they don't need it.
>> At the same time, I would like to add a second model that is based on
>> separate OSGi containers, giving a more natural isolation and a model that
>> is identical to "normal" OSGi application development. My gut feeling is
> 
> In the end I think a multi container is the only way to properly
> address point 1 (and more concerns) as we illustrated before in some
> conceptual implementation models  [2] a while back.

Agreed, multiple separate containers where we can use some form of remoting to 
publish services that are to be shared between containers.

>> that on average hardware this will still scale to about 100 instances per
>> computer.
> 
> Previous art [2] shows about 500 nested containers (with a few small
> bundles each) on Xmx256M/default permgen with a 32bit java. Obviously,
> the real measure will depend on the type of multi container model

This makes me wonder why we don't move to this model completely. :)

>> Before we go into technical details, I'd like your feedback on these ideas
>> in general.
> 
> +1 on the goals.

Summarizing, I hope we can agree that:

a) ultimately, a multi-container model is what we aim for
b) for now, we need to carefully plan a migration strategy

Greetings, Marcel


_______________________________________________
Amdatu-developers mailing list
[email protected]
http://lists.amdatu.org/mailman/listinfo/amdatu-developers

Reply via email to