Archive for February, 2008

Arjuna’s Agility Infrastructure

February 25, 2008

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’.

‘Internal Utility’

February 14, 2008

At Arjuna, we’ve been believers in the inevitability of ‘Utility Computing’ for many years. I share Nicholas Carr’s views that the case for moving much of an enterprise’s hardware infrastructure, and a considerable amount of its software infrastructure, out of siloed IT Departments and into shared facilities, is economically compelling. Initially, this will occur within the enterprise, or shared between enterprises (which we refer to as ‘Internal Utility’), but ultimately the move will be into an external Utility. The savings to be made by sharing computing load (rather than having to over-provision internally for peak load) are just too significant to be ignored, given that current IT utilisation levels are commonly lower than 25%! Indeed William Fellows (451 Group) wrote late in 2006 that ‘shared, internal utility’ was “today’s hotspot”.

So, whilst the ‘internal utility’ is a concept gaining ground, progress will continue to be gradual. PC applications and data will move into shared servers. Individual IT departments will coalesce into resources capable of being shared across the enterprise. Enterprises closely connected in the supply chain will share facilities, and so on. Enterprises and individuals will also take temporary advantage of third party shared facilities to handle high loads or compensate for failures in their own internal IT.

Therefore, whilst some form of unified ‘Computing Utility’ will eventually appear, once the appropriate technologies and business models have been standardised, there are many years of transition ahead. During that time enterprises will continue to experiment with, and utilise, a wide variety of technologies and business models: all of which will promise some of the benefits of utility computing. In our view the key to managing this process of change, and of being able to exploit emerging opportunities, is the deployment of ‘Agile IT Infrastructure’.

‘Agile IT Infrastructure’ is capable of responding, autonomously, to changing requirements and environments. Clearly, this means that it must be capable of changing (i.e. capable of dynamic reconfiguration). However, it also implies that it is capable of understanding what is meant by change so as to be able to make the right choices.