You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tamaya.apache.org by Werner Keil <we...@gmail.com> on 2016/07/27 13:57:30 UTC

Configuration Requirements of most modern Enterprises

Guys,

I briefly mentioned that to Anatole and maybe we get a chance to talk about
it in today's hangout, but since not many seem to be available today, let
me give you a brief overview here.

Java EE 7 already had some high hopes and goals for "multitenancy", so
Thomas Kurian's announcement that Java EE 8 should support that to be "fit
for the Cloud" isn't entirely new. As other wishes expressed in the EE
Umbrella EG like more than just 2 profiles, etc.

One comparison of early configuration tools Anatole had in his slides is
remarkable, as it was done in 2004, when even Spring was still in its
infancy and Web Services meant either nothing or SOAP. The Agile Manifesto
also was fairly recent and Agile only started to be discovered.
http://www.mail-archive.com/commons-dev@jakarta.apache.org/msg37597.html

It pointed out, JFig as one of the first had the notion of "config"

Allowing different config files to be loaded dependent on the
environment they are in i.e. development, test, uat or production.

I don't think Commons Config has introduced with V2, but e.g. Netflix
Archaius built something around it based on a "DeploymentContext".

Spring has the @Profile (probably inspired by e.g. the same term in Maven
builds) which is a pretty lose term but is often used for staging.

DeltaSpike knows a ProjectStage slightly more flexible than e.g. JSF until
now, but that's about it.

However, modern enterprises and projects especially if they practice rapid
development and delivery need more than that.

The Environment or "Profile" dimensions contain at least 3 dimensions:

   - Tenant (not only Customer, can be Project, Service, etc.)
   - Stage (Dev, Test, UAT, Prod,...)
   - Version (can be Sprint, Iteration, Week,...)

Some cases also may have other needs e.g. "architecture", or similar, in a
Web based server
At least a single construct should be there to tell them apart. Whether
it's @Profile("tenantA_v2_uat") I'd say in Spring this can be modeled using
the profile.

A combination of stage and version I guess could be done with DeltaSpike's
ProjectStage, but it would stretch it very far to apply the same to a
tenant, product or service.
Guess a framework, API or standard really capable of multi-tenancy should
find a different term.

Regards,

Werner Keil | JCP Executive Committee Member, JSR 363 Co Spec Lead |
Eclipse UOMo Lead, Babel Language Champion | Apache Committer

Twitter @wernerkeil | @UnitAPI | @JSR354 | @AgoravaProj | @DeviceMap
| #DevOps | #EclipseUOMo
Skype werner.keil | Google+ gplus.to/wernerkeil

Re: Configuration Requirements of most modern Enterprises

Posted by Werner Keil <we...@gmail.com>.
As I came across it in the Microprofile discussion about which other
solutions based on Java (EE) exist and what they're using, Dropwizard is
certainly worth mentioning (on the monitoring side, e.g. Parfait also
offers support for it;-)

The configuration package is fairly compact:
http://www.dropwizard.io/1.0.0/dropwizard-configuration/apidocs/index.html
Most configuration in DropWizard is based on Yaml, and the approach reminds
slightly of JCache. No dedicated "config holder" so <T> build() in
ConfigurationFactory can be anything depending on what each module needs.

ConfigurationSourceProvicer is also extremely small and versatile. It feels
a lot like the Loader in Apache DeviceMap that also allows to retrieve
device definitions from a local file system, archives, a remote URL or
similar.

Regards,

Werner


On Wed, Jul 27, 2016 at 7:00 PM, Werner Keil <we...@gmail.com> wrote:

> Whether you call it "Profile" or "Label" (also quite similar in
> Jenkins/Hudson btw;-) is somewhat secondary, either one would work and be
> flexible enough for pretty much all the necessary dimensions.
>
> Who plans to initiate the hangout today?
>
> Werner
>
>
> On Wed, Jul 27, 2016 at 6:11 PM, Anatole Tresch <at...@gmail.com>
> wrote:
>
>> Selection of the right config is imo wqualky the same problem as selecting
>> the right backend or container. And exactly since orthogonaliy is a big
>> issue their google people came up with a simple but powerful solution:
>> labels. That is why in my current proposal the configprovider also gives
>> access to a static label map....
>>
>> J Anatole
>>
>> Am 27.07.2016 4:24 PM schrieb "Werner Keil" <we...@gmail.com>:
>>
>> > Fully agree on a) everyone who at least observed the EE Umbrella over
>> the
>> > years will understand that;-)
>> >
>> > I can't speak for vendors (whether or not e.g. Pivotal also wants to get
>> > involved, we shall see) interested in a potential JSR.
>> > Looking at JCache it left things out that are handled vendor specific
>> now,
>> > so I would see how far a possible standard wants to specify things.
>> Could
>> > also start smaller and later add more things.
>> >
>> > Cheers,
>> > Werner
>> >
>> >
>> > On Wed, Jul 27, 2016 at 4:15 PM, Mark Struberg
>> <st...@yahoo.de.invalid>
>> > wrote:
>> >
>> > > a.) Oracles 'cloud' and 'multi tenancy' efforts so far has been fully
>> > > fledged bullshit bingo. Hot air, not much else. None of that stuff
>> > remotely
>> > > worked out. And that was clear as glass even back in 2011. You might
>> > > remember a JAX interview from that time where I predicted exactly
>> that.
>> > And
>> > > as predicted it got pulled from EE7...
>> > >
>> > >
>> > > b.) Any 'environment', projectstage etc lookup path can easily be
>> handled
>> > > on top of any core config mechanism.
>> > > It's basically a fallback chain which everyone can wrap into 5 lines
>> of
>> > > custom code.
>> > >
>> > > And the main point: how the fallback chain looks like exactly is
>> > different
>> > > from customer to customer.
>> > >
>> > > We might address this in the tamaya specific api, but I would leave
>> this
>> > > out from the JSR proposal part.
>> > >
>> > > LieGrue,
>> > > strub
>> > >
>> > >
>> > >
>> > >
>> > >
>> > > > On Wednesday, 27 July 2016, 15:57, Werner Keil <
>> werner.keil@gmail.com>
>> > > wrote:
>> > > > > Guys,
>> > > >
>> > > > I briefly mentioned that to Anatole and maybe we get a chance to
>> talk
>> > > about
>> > > > it in today's hangout, but since not many seem to be available
>> today,
>> > let
>> > > > me give you a brief overview here.
>> > > >
>> > > > Java EE 7 already had some high hopes and goals for "multitenancy",
>> so
>> > > > Thomas Kurian's announcement that Java EE 8 should support that to
>> be
>> > > > "fit
>> > > > for the Cloud" isn't entirely new. As other wishes expressed in the
>> EE
>> > > > Umbrella EG like more than just 2 profiles, etc.
>> > > >
>> > > > One comparison of early configuration tools Anatole had in his
>> slides
>> > is
>> > > > remarkable, as it was done in 2004, when even Spring was still in
>> its
>> > > > infancy and Web Services meant either nothing or SOAP. The Agile
>> > > Manifesto
>> > > > also was fairly recent and Agile only started to be discovered.
>> > > >
>> >
>> http://www.mail-archive.com/commons-dev@jakarta.apache.org/msg37597.html
>> > > >
>> > > > It pointed out, JFig as one of the first had the notion of "config"
>> > > >
>> > > > Allowing different config files to be loaded dependent on the
>> > > > environment they are in i.e. development, test, uat or production.
>> > > >
>> > > > I don't think Commons Config has introduced with V2, but e.g.
>> Netflix
>> > > > Archaius built something around it based on a "DeploymentContext".
>> > > >
>> > > > Spring has the @Profile (probably inspired by e.g. the same term in
>> > Maven
>> > > > builds) which is a pretty lose term but is often used for staging.
>> > > >
>> > > > DeltaSpike knows a ProjectStage slightly more flexible than e.g. JSF
>> > > until
>> > > > now, but that's about it.
>> > > >
>> > > > However, modern enterprises and projects especially if they practice
>> > > rapid
>> > > > development and delivery need more than that.
>> > > >
>> > > > The Environment or "Profile" dimensions contain at least 3
>> dimensions:
>> > > >
>> > > >    - Tenant (not only Customer, can be Project, Service, etc.)
>> > > >    - Stage (Dev, Test, UAT, Prod,...)
>> > > >    - Version (can be Sprint, Iteration, Week,...)
>> > > >
>> > > > Some cases also may have other needs e.g. "architecture", or
>> similar,
>> > > > in a
>> > > > Web based server
>> > > > At least a single construct should be there to tell them apart.
>> Whether
>> > > > it's @Profile("tenantA_v2_uat") I'd say in Spring this can be
>> > > > modeled using
>> > > > the profile.
>> > > >
>> > > > A combination of stage and version I guess could be done with
>> > > DeltaSpike's
>> > > > ProjectStage, but it would stretch it very far to apply the same to
>> a
>> > > > tenant, product or service.
>> > > > Guess a framework, API or standard really capable of multi-tenancy
>> > should
>> > > > find a different term.
>> > > >
>> > > > Regards,
>> > > >
>> > > > Werner Keil | JCP Executive Committee Member, JSR 363 Co Spec Lead |
>> > > > Eclipse UOMo Lead, Babel Language Champion | Apache Committer
>> > > >
>> > > > Twitter @wernerkeil | @UnitAPI | @JSR354 | @AgoravaProj | @DeviceMap
>> > > > | #DevOps | #EclipseUOMo
>> > > > Skype werner.keil | Google+ gplus.to/wernerkeil
>> > > >
>> > >
>> >
>>
>
>

Re: Configuration Requirements of most modern Enterprises

Posted by Werner Keil <we...@gmail.com>.
Whether you call it "Profile" or "Label" (also quite similar in
Jenkins/Hudson btw;-) is somewhat secondary, either one would work and be
flexible enough for pretty much all the necessary dimensions.

Who plans to initiate the hangout today?

Werner


On Wed, Jul 27, 2016 at 6:11 PM, Anatole Tresch <at...@gmail.com> wrote:

> Selection of the right config is imo wqualky the same problem as selecting
> the right backend or container. And exactly since orthogonaliy is a big
> issue their google people came up with a simple but powerful solution:
> labels. That is why in my current proposal the configprovider also gives
> access to a static label map....
>
> J Anatole
>
> Am 27.07.2016 4:24 PM schrieb "Werner Keil" <we...@gmail.com>:
>
> > Fully agree on a) everyone who at least observed the EE Umbrella over the
> > years will understand that;-)
> >
> > I can't speak for vendors (whether or not e.g. Pivotal also wants to get
> > involved, we shall see) interested in a potential JSR.
> > Looking at JCache it left things out that are handled vendor specific
> now,
> > so I would see how far a possible standard wants to specify things. Could
> > also start smaller and later add more things.
> >
> > Cheers,
> > Werner
> >
> >
> > On Wed, Jul 27, 2016 at 4:15 PM, Mark Struberg <struberg@yahoo.de.invalid
> >
> > wrote:
> >
> > > a.) Oracles 'cloud' and 'multi tenancy' efforts so far has been fully
> > > fledged bullshit bingo. Hot air, not much else. None of that stuff
> > remotely
> > > worked out. And that was clear as glass even back in 2011. You might
> > > remember a JAX interview from that time where I predicted exactly that.
> > And
> > > as predicted it got pulled from EE7...
> > >
> > >
> > > b.) Any 'environment', projectstage etc lookup path can easily be
> handled
> > > on top of any core config mechanism.
> > > It's basically a fallback chain which everyone can wrap into 5 lines of
> > > custom code.
> > >
> > > And the main point: how the fallback chain looks like exactly is
> > different
> > > from customer to customer.
> > >
> > > We might address this in the tamaya specific api, but I would leave
> this
> > > out from the JSR proposal part.
> > >
> > > LieGrue,
> > > strub
> > >
> > >
> > >
> > >
> > >
> > > > On Wednesday, 27 July 2016, 15:57, Werner Keil <
> werner.keil@gmail.com>
> > > wrote:
> > > > > Guys,
> > > >
> > > > I briefly mentioned that to Anatole and maybe we get a chance to talk
> > > about
> > > > it in today's hangout, but since not many seem to be available today,
> > let
> > > > me give you a brief overview here.
> > > >
> > > > Java EE 7 already had some high hopes and goals for "multitenancy",
> so
> > > > Thomas Kurian's announcement that Java EE 8 should support that to be
> > > > "fit
> > > > for the Cloud" isn't entirely new. As other wishes expressed in the
> EE
> > > > Umbrella EG like more than just 2 profiles, etc.
> > > >
> > > > One comparison of early configuration tools Anatole had in his slides
> > is
> > > > remarkable, as it was done in 2004, when even Spring was still in its
> > > > infancy and Web Services meant either nothing or SOAP. The Agile
> > > Manifesto
> > > > also was fairly recent and Agile only started to be discovered.
> > > >
> > http://www.mail-archive.com/commons-dev@jakarta.apache.org/msg37597.html
> > > >
> > > > It pointed out, JFig as one of the first had the notion of "config"
> > > >
> > > > Allowing different config files to be loaded dependent on the
> > > > environment they are in i.e. development, test, uat or production.
> > > >
> > > > I don't think Commons Config has introduced with V2, but e.g. Netflix
> > > > Archaius built something around it based on a "DeploymentContext".
> > > >
> > > > Spring has the @Profile (probably inspired by e.g. the same term in
> > Maven
> > > > builds) which is a pretty lose term but is often used for staging.
> > > >
> > > > DeltaSpike knows a ProjectStage slightly more flexible than e.g. JSF
> > > until
> > > > now, but that's about it.
> > > >
> > > > However, modern enterprises and projects especially if they practice
> > > rapid
> > > > development and delivery need more than that.
> > > >
> > > > The Environment or "Profile" dimensions contain at least 3
> dimensions:
> > > >
> > > >    - Tenant (not only Customer, can be Project, Service, etc.)
> > > >    - Stage (Dev, Test, UAT, Prod,...)
> > > >    - Version (can be Sprint, Iteration, Week,...)
> > > >
> > > > Some cases also may have other needs e.g. "architecture", or similar,
> > > > in a
> > > > Web based server
> > > > At least a single construct should be there to tell them apart.
> Whether
> > > > it's @Profile("tenantA_v2_uat") I'd say in Spring this can be
> > > > modeled using
> > > > the profile.
> > > >
> > > > A combination of stage and version I guess could be done with
> > > DeltaSpike's
> > > > ProjectStage, but it would stretch it very far to apply the same to a
> > > > tenant, product or service.
> > > > Guess a framework, API or standard really capable of multi-tenancy
> > should
> > > > find a different term.
> > > >
> > > > Regards,
> > > >
> > > > Werner Keil | JCP Executive Committee Member, JSR 363 Co Spec Lead |
> > > > Eclipse UOMo Lead, Babel Language Champion | Apache Committer
> > > >
> > > > Twitter @wernerkeil | @UnitAPI | @JSR354 | @AgoravaProj | @DeviceMap
> > > > | #DevOps | #EclipseUOMo
> > > > Skype werner.keil | Google+ gplus.to/wernerkeil
> > > >
> > >
> >
>

Re: Configuration Requirements of most modern Enterprises

Posted by Anatole Tresch <at...@gmail.com>.
Selection of the right config is imo wqualky the same problem as selecting
the right backend or container. And exactly since orthogonaliy is a big
issue their google people came up with a simple but powerful solution:
labels. That is why in my current proposal the configprovider also gives
access to a static label map....

J Anatole

Am 27.07.2016 4:24 PM schrieb "Werner Keil" <we...@gmail.com>:

> Fully agree on a) everyone who at least observed the EE Umbrella over the
> years will understand that;-)
>
> I can't speak for vendors (whether or not e.g. Pivotal also wants to get
> involved, we shall see) interested in a potential JSR.
> Looking at JCache it left things out that are handled vendor specific now,
> so I would see how far a possible standard wants to specify things. Could
> also start smaller and later add more things.
>
> Cheers,
> Werner
>
>
> On Wed, Jul 27, 2016 at 4:15 PM, Mark Struberg <st...@yahoo.de.invalid>
> wrote:
>
> > a.) Oracles 'cloud' and 'multi tenancy' efforts so far has been fully
> > fledged bullshit bingo. Hot air, not much else. None of that stuff
> remotely
> > worked out. And that was clear as glass even back in 2011. You might
> > remember a JAX interview from that time where I predicted exactly that.
> And
> > as predicted it got pulled from EE7...
> >
> >
> > b.) Any 'environment', projectstage etc lookup path can easily be handled
> > on top of any core config mechanism.
> > It's basically a fallback chain which everyone can wrap into 5 lines of
> > custom code.
> >
> > And the main point: how the fallback chain looks like exactly is
> different
> > from customer to customer.
> >
> > We might address this in the tamaya specific api, but I would leave this
> > out from the JSR proposal part.
> >
> > LieGrue,
> > strub
> >
> >
> >
> >
> >
> > > On Wednesday, 27 July 2016, 15:57, Werner Keil <we...@gmail.com>
> > wrote:
> > > > Guys,
> > >
> > > I briefly mentioned that to Anatole and maybe we get a chance to talk
> > about
> > > it in today's hangout, but since not many seem to be available today,
> let
> > > me give you a brief overview here.
> > >
> > > Java EE 7 already had some high hopes and goals for "multitenancy", so
> > > Thomas Kurian's announcement that Java EE 8 should support that to be
> > > "fit
> > > for the Cloud" isn't entirely new. As other wishes expressed in the EE
> > > Umbrella EG like more than just 2 profiles, etc.
> > >
> > > One comparison of early configuration tools Anatole had in his slides
> is
> > > remarkable, as it was done in 2004, when even Spring was still in its
> > > infancy and Web Services meant either nothing or SOAP. The Agile
> > Manifesto
> > > also was fairly recent and Agile only started to be discovered.
> > >
> http://www.mail-archive.com/commons-dev@jakarta.apache.org/msg37597.html
> > >
> > > It pointed out, JFig as one of the first had the notion of "config"
> > >
> > > Allowing different config files to be loaded dependent on the
> > > environment they are in i.e. development, test, uat or production.
> > >
> > > I don't think Commons Config has introduced with V2, but e.g. Netflix
> > > Archaius built something around it based on a "DeploymentContext".
> > >
> > > Spring has the @Profile (probably inspired by e.g. the same term in
> Maven
> > > builds) which is a pretty lose term but is often used for staging.
> > >
> > > DeltaSpike knows a ProjectStage slightly more flexible than e.g. JSF
> > until
> > > now, but that's about it.
> > >
> > > However, modern enterprises and projects especially if they practice
> > rapid
> > > development and delivery need more than that.
> > >
> > > The Environment or "Profile" dimensions contain at least 3 dimensions:
> > >
> > >    - Tenant (not only Customer, can be Project, Service, etc.)
> > >    - Stage (Dev, Test, UAT, Prod,...)
> > >    - Version (can be Sprint, Iteration, Week,...)
> > >
> > > Some cases also may have other needs e.g. "architecture", or similar,
> > > in a
> > > Web based server
> > > At least a single construct should be there to tell them apart. Whether
> > > it's @Profile("tenantA_v2_uat") I'd say in Spring this can be
> > > modeled using
> > > the profile.
> > >
> > > A combination of stage and version I guess could be done with
> > DeltaSpike's
> > > ProjectStage, but it would stretch it very far to apply the same to a
> > > tenant, product or service.
> > > Guess a framework, API or standard really capable of multi-tenancy
> should
> > > find a different term.
> > >
> > > Regards,
> > >
> > > Werner Keil | JCP Executive Committee Member, JSR 363 Co Spec Lead |
> > > Eclipse UOMo Lead, Babel Language Champion | Apache Committer
> > >
> > > Twitter @wernerkeil | @UnitAPI | @JSR354 | @AgoravaProj | @DeviceMap
> > > | #DevOps | #EclipseUOMo
> > > Skype werner.keil | Google+ gplus.to/wernerkeil
> > >
> >
>

Re: Configuration Requirements of most modern Enterprises

Posted by Werner Keil <we...@gmail.com>.
Fully agree on a) everyone who at least observed the EE Umbrella over the
years will understand that;-)

I can't speak for vendors (whether or not e.g. Pivotal also wants to get
involved, we shall see) interested in a potential JSR.
Looking at JCache it left things out that are handled vendor specific now,
so I would see how far a possible standard wants to specify things. Could
also start smaller and later add more things.

Cheers,
Werner


On Wed, Jul 27, 2016 at 4:15 PM, Mark Struberg <st...@yahoo.de.invalid>
wrote:

> a.) Oracles 'cloud' and 'multi tenancy' efforts so far has been fully
> fledged bullshit bingo. Hot air, not much else. None of that stuff remotely
> worked out. And that was clear as glass even back in 2011. You might
> remember a JAX interview from that time where I predicted exactly that. And
> as predicted it got pulled from EE7...
>
>
> b.) Any 'environment', projectstage etc lookup path can easily be handled
> on top of any core config mechanism.
> It's basically a fallback chain which everyone can wrap into 5 lines of
> custom code.
>
> And the main point: how the fallback chain looks like exactly is different
> from customer to customer.
>
> We might address this in the tamaya specific api, but I would leave this
> out from the JSR proposal part.
>
> LieGrue,
> strub
>
>
>
>
>
> > On Wednesday, 27 July 2016, 15:57, Werner Keil <we...@gmail.com>
> wrote:
> > > Guys,
> >
> > I briefly mentioned that to Anatole and maybe we get a chance to talk
> about
> > it in today's hangout, but since not many seem to be available today, let
> > me give you a brief overview here.
> >
> > Java EE 7 already had some high hopes and goals for "multitenancy", so
> > Thomas Kurian's announcement that Java EE 8 should support that to be
> > "fit
> > for the Cloud" isn't entirely new. As other wishes expressed in the EE
> > Umbrella EG like more than just 2 profiles, etc.
> >
> > One comparison of early configuration tools Anatole had in his slides is
> > remarkable, as it was done in 2004, when even Spring was still in its
> > infancy and Web Services meant either nothing or SOAP. The Agile
> Manifesto
> > also was fairly recent and Agile only started to be discovered.
> > http://www.mail-archive.com/commons-dev@jakarta.apache.org/msg37597.html
> >
> > It pointed out, JFig as one of the first had the notion of "config"
> >
> > Allowing different config files to be loaded dependent on the
> > environment they are in i.e. development, test, uat or production.
> >
> > I don't think Commons Config has introduced with V2, but e.g. Netflix
> > Archaius built something around it based on a "DeploymentContext".
> >
> > Spring has the @Profile (probably inspired by e.g. the same term in Maven
> > builds) which is a pretty lose term but is often used for staging.
> >
> > DeltaSpike knows a ProjectStage slightly more flexible than e.g. JSF
> until
> > now, but that's about it.
> >
> > However, modern enterprises and projects especially if they practice
> rapid
> > development and delivery need more than that.
> >
> > The Environment or "Profile" dimensions contain at least 3 dimensions:
> >
> >    - Tenant (not only Customer, can be Project, Service, etc.)
> >    - Stage (Dev, Test, UAT, Prod,...)
> >    - Version (can be Sprint, Iteration, Week,...)
> >
> > Some cases also may have other needs e.g. "architecture", or similar,
> > in a
> > Web based server
> > At least a single construct should be there to tell them apart. Whether
> > it's @Profile("tenantA_v2_uat") I'd say in Spring this can be
> > modeled using
> > the profile.
> >
> > A combination of stage and version I guess could be done with
> DeltaSpike's
> > ProjectStage, but it would stretch it very far to apply the same to a
> > tenant, product or service.
> > Guess a framework, API or standard really capable of multi-tenancy should
> > find a different term.
> >
> > Regards,
> >
> > Werner Keil | JCP Executive Committee Member, JSR 363 Co Spec Lead |
> > Eclipse UOMo Lead, Babel Language Champion | Apache Committer
> >
> > Twitter @wernerkeil | @UnitAPI | @JSR354 | @AgoravaProj | @DeviceMap
> > | #DevOps | #EclipseUOMo
> > Skype werner.keil | Google+ gplus.to/wernerkeil
> >
>

Re: Configuration Requirements of most modern Enterprises

Posted by Mark Struberg <st...@yahoo.de.INVALID>.
a.) Oracles 'cloud' and 'multi tenancy' efforts so far has been fully fledged bullshit bingo. Hot air, not much else. None of that stuff remotely worked out. And that was clear as glass even back in 2011. You might remember a JAX interview from that time where I predicted exactly that. And as predicted it got pulled from EE7...


b.) Any 'environment', projectstage etc lookup path can easily be handled on top of any core config mechanism.
It's basically a fallback chain which everyone can wrap into 5 lines of custom code. 

And the main point: how the fallback chain looks like exactly is different from customer to customer.

We might address this in the tamaya specific api, but I would leave this out from the JSR proposal part.

LieGrue,
strub





> On Wednesday, 27 July 2016, 15:57, Werner Keil <we...@gmail.com> wrote:
> > Guys,
> 
> I briefly mentioned that to Anatole and maybe we get a chance to talk about
> it in today's hangout, but since not many seem to be available today, let
> me give you a brief overview here.
> 
> Java EE 7 already had some high hopes and goals for "multitenancy", so
> Thomas Kurian's announcement that Java EE 8 should support that to be 
> "fit
> for the Cloud" isn't entirely new. As other wishes expressed in the EE
> Umbrella EG like more than just 2 profiles, etc.
> 
> One comparison of early configuration tools Anatole had in his slides is
> remarkable, as it was done in 2004, when even Spring was still in its
> infancy and Web Services meant either nothing or SOAP. The Agile Manifesto
> also was fairly recent and Agile only started to be discovered.
> http://www.mail-archive.com/commons-dev@jakarta.apache.org/msg37597.html
> 
> It pointed out, JFig as one of the first had the notion of "config"
> 
> Allowing different config files to be loaded dependent on the
> environment they are in i.e. development, test, uat or production.
> 
> I don't think Commons Config has introduced with V2, but e.g. Netflix
> Archaius built something around it based on a "DeploymentContext".
> 
> Spring has the @Profile (probably inspired by e.g. the same term in Maven
> builds) which is a pretty lose term but is often used for staging.
> 
> DeltaSpike knows a ProjectStage slightly more flexible than e.g. JSF until
> now, but that's about it.
> 
> However, modern enterprises and projects especially if they practice rapid
> development and delivery need more than that.
> 
> The Environment or "Profile" dimensions contain at least 3 dimensions:
> 
>    - Tenant (not only Customer, can be Project, Service, etc.)
>    - Stage (Dev, Test, UAT, Prod,...)
>    - Version (can be Sprint, Iteration, Week,...)
> 
> Some cases also may have other needs e.g. "architecture", or similar, 
> in a
> Web based server
> At least a single construct should be there to tell them apart. Whether
> it's @Profile("tenantA_v2_uat") I'd say in Spring this can be 
> modeled using
> the profile.
> 
> A combination of stage and version I guess could be done with DeltaSpike's
> ProjectStage, but it would stretch it very far to apply the same to a
> tenant, product or service.
> Guess a framework, API or standard really capable of multi-tenancy should
> find a different term.
> 
> Regards,
> 
> Werner Keil | JCP Executive Committee Member, JSR 363 Co Spec Lead |
> Eclipse UOMo Lead, Babel Language Champion | Apache Committer
> 
> Twitter @wernerkeil | @UnitAPI | @JSR354 | @AgoravaProj | @DeviceMap
> | #DevOps | #EclipseUOMo
> Skype werner.keil | Google+ gplus.to/wernerkeil
>