Since inception as a research group towards the end of the 1980’s and throughout our commercial existence, the Arjuna team has been building support for reliable, large-scale distributed systems (with much of our activity centered on ‘transactioning’ i.e. coordinating distributed activities). Those of you who already know of Arjuna may have been wondering what we’ve been doing since selling the Arjuna JTS to JBoss 18 months ago. Now, I can announce that Arjuna is building a prototype for a future product, to be known as ‘Agility’, capable of supporting agile IT infrastructures.
‘Agility’ will manage all IT resources, software, hardware and data, as virtual resources and (nested) containers which hold those resources. It will support federated organisations (individuals, departments, enterprises or utility computing suppliers) who may each share some part of the total IT infrastructure. Key to the product is a bespoke description language which can be used to express ‘Service Requirements’ in a manner completely decoupled from the underlying IT infrastructure. The language can be transformed through a series of ’Policy-driven’ decisions, potentially across a number of organisations, into an expression (using the same language) of the concrete resources to be utilised in support of the ‘Service Requirements’. Resources will be controlled through ‘Service Agreements’, which can be monitored and modified, and which are created and managed using organisational policies. ‘Agility’ will allow business users to define their requirements in their own terms. It will then allow the IT infrastructure, steered by ‘Policy’, to make dynamic decisions as to how best to support those requirements at any one time – taking into account changing circumstances.
Crucially, unlike other approaches, ‘Agility’ does not force “big bang” changes onto the enterprise’s IT infrastructure and applications. Instead it can be introduced incrementally, as needed. This is because, ‘Agility’ does NOT require:
• new programming models to be introduced
• legacy applications to be modified
• legacy application’s clients to be modified
• existing middleware investments to be written-off
• existing IT infrastructure to be restructured or changed in any way
• infrastructure to be shared – except under conditions as specified and controlled by the owner of the resources
I see ‘Agility’ as a key product for enterprises looking to move towards ‘utility computing’.