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

