After the recent purchase of Sun by Oracle the company behind the most prevalent IoC container and component model in Java has now also been acquired. VMWare and SpringSource have signed an agreement for SpringSource to be taken over by VMWare in Q3 this year. Over the years the community has witnessed a progression in SpringSource from catering for building applications using the Spring Framework and associated projects and tooling to deploying applications using dmServer and tcServer to finally monitoring and managing applications using SpringSource Hyperic in the current day. With this latest move SpringSource are putting forward the idea of the platform as a service (PAAS) by investing their worth in virtualisation and elastic computing.
The purported justifications are theoretically compelling. The operating system layer is now a secondary concern with several layers of mature abstraction over it and deploying to and managing an elastic medium allows rapid startup and relatively easy scaling of resources. Going forward the full stack package of development frameworks, virtualisation and elastic computing along with associated tooling and introspection appears, on the face of it, to offer everything that one could possibly need. So what’s the catch? I’d like to ask the following fleeting questions.
Is the common consumer ready for this? And is this a completely different architectural paradigm to how we currently develop? How will external heterogenous points of contention such as databases, data warehouses and event driven systems respond to being scaled on an elastic medium along with homogenous request-reply systems? Will we see EAI, EIP, CEP and ESB systems playing a much more prominent role in platform architecture for mediation of events across the cloud? Will data fabrics, data protocols and canonical data model design evolve for effective and low latency communication within cloud architectures? Going forward will we design to be cloud ready the first time around for an added dimension to portability? And finally will all this be brought to us in a single cohesive and coherent development model?
Along with the consideration of fine grained parallelism on one hand, that being the multi-core problem, this will be the much broader consideration of how we can design at the platform level to leverage such concepts and scale uniformly. Needless to say this will be an exciting evolution to watch over time and I welcome any movement that accelerates its delivery to the mainstream masses.