Hello Bram,

On 8 Nov 2010, at 17:04 , Bram de Kruijff wrote:

> just dropped some thoughts on the application architecture on the
> wiki. I'd love to get your feedback on this!

About the infrastructure layer. I mentioned this before, but I do not see why 
Amdatu should even target "unmanaged" IaaS so I would myself leave out the 
"bare metal" option and always assume there is some API available to talk to a 
cloud (even if that cloud in the end is just one fixed machine).

The layers you present make sense to me. What I do like about OSGi is that you 
can pick the exact set of components you need, so I would de-emphasize the need 
to have all the components that make up a specific layer present. What I 
actually dislike about Spring, JEE and other more traditional enterprise stacks 
is that they are extremely monolithic (modules that have so many dependencies 
that you have to deploy them all are just as bad here) and contain all kinds of 
stuff you don't really need.

What I'm not quite sure about is the right most column, dealing with mostly 
management. I see why you position it as a vertical, but for example, I cannot 
explain why "topology management" in the service fabric layer would not be part 
of that same vertical. Also, the foundation services seem to contain a 
"management" component.

Logging does not make sense as a foundation service to me as it would imply 
that any component below that cannot log anything.

I do not believe that we can have a single "caching" component that can 
implement all kinds of caches. First of all I think caches should always be 
optional: you only deploy them if you actually need them. Secondly, I think 
they heavily depend on the service they operate upon. I do think you might be 
able to provide some kind of library with "popular caching algorithms" but the 
actual cache implementation would mostly be very specific to the service it 
caches.

Greetings, Marcel


Reply via email to