Hi Bram,

While working on the gadget container server at Amazon and a tenant mgmt 
gadget, I ran into one issue we need to think about. Currently, the Cassandra 
storage providers are tenant aware and the Cassandra PM will create a new 
keyspace automatically when a storage provider for a new tenant comes 
available. This is done by an implicit mapping of the tenant id onto the 
keyspace id.
Now this becomes an issue when you want to delete a tenant. After you deleted a 
tenant, the keyspace will still exist. So when you recreate the same tenant, a 
keyspace with that id already exists which obviously leads to conflicts. But 
even worse, after deleting a tenant the UserAdmin service for that tenant keeps 
running. As the keyspace is not removed, the useradmin storage provider for 
that keyspace keeps running. UserAdmin is not an adapter of Tenant, but an 
instance exists for each available storage provider and therefore also keeps 
running.
So we need to think about a solution for this, and other storage 
implementations (fs store will have similar issues). More generally, we might 
need to think about backups of deleted tenants and restore options.

Regards, Ivo

-----Original Message-----
From: [email protected] 
[mailto:[email protected]] On Behalf Of Bram de Kruijff
Sent: woensdag 23 november 2011 14:22
To: [email protected]
Subject: [Amdatu-developers] Amdatu Platform 0.3.0 scope: Multi-Tenancy

Hi List,

Last week we had a Amdatu Platform PMC face-2-face where we have
discussed the Multi-Tenancy design in depth. The design is being
documented at the wiki [0] and the workbreakdown is in jira [1] under
version 0.3.0 as we have decided that this should be the primary focus
for this release.

The very short version:

1) Change tenantmanagement to a ManageServiceFactory with metatype
based configuration to prepare for provisioning. Remove already
deprecated TenantmanagementServices.
2) Change multi-tenant model to be fully transparent and secure by
providing tenant aware platform services (eg. ConfigurationAdmin) and
managing service visibility per tenant.

As a result this will enable:

1) Dynamically provision individual Tenants to one (or more) targets
through te management Server
2) Apply "multi-tenant nature" to application code (custom and 3rd
party) without affecting code.
3) Availability and reuse of standard compendium services in isolated
tenant scope

Note that this is still a single container model but is does open up
the possibility for selective multi-container usage for use cases
where we need this kind of isolation.

Feel free to comment and we'de like your input on the design and
further requirements for 0.3.0 scope. We expect the new design to be
mostly backward compatible with what we have now although there will
be recommended changes to existing code.

Be ware that we will start moving stuff around soon. If you do not
want to follow the entire refactor process we recommend staying on
0.2.1 until we give the all clear.

Best Regards,
Bram

[0] http://www.amdatu.org/confluence/display/Amdatu/Amdatu+Core+Tenant
[1] 
http://jira.amdatu.org/jira/secure/IssueNavigator.jspa?reset=true&jqlQuery=project+%3D+AMDATU+AND+resolution+%3D+Unresolved+AND+fixVersion+%3D+%220.3.0%22+ORDER+BY+priority+DESC&mode=hide
_______________________________________________
Amdatu-developers mailing list
[email protected]
http://lists.amdatu.org/mailman/listinfo/amdatu-developers

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

Reply via email to