InfoQ

News

Agile Cloud Computing?

Posted by Mark Little on Jun 25, 2008 11:25 AM

Community
SOA
Topics
Fault Tolerance ,
Governance ,
Cloud Computing
Tags
Grid Computing
Last year we reported that Arjuna Technologies, the original home of transaction technologies from HP and now Red Hat/JBoss, were now working on fault-tolerant grid infrastructures. That article generated a lot of interest at the time, even though there was not a lot available for people to try. However, almost a year later Arjuna has just announced the release of something more concrete: The Arjuna Agility Federated Cloud Platform. There's the mandatory white paper and webinar (which is actually pretty good), but most of what's important about Agility is available to browse. Plus
[Agility] is a 'federated cloud computing platform' designed to improve business agility through a more flexible infrastructure approach. Federated, because Agility™ is constructed from IT resources that are assigned by autonomous, cooperating, business parties within and beyond the enterprise.
The description goes on to say that:
Whilst trust and power are real organizational barriers to resource sharing, Agility™ provides a controlled way for the enterprise to organically grow its 'internal cloud'. Resource owners retain control by attaching policy to the assigned resource which describes the conditions under which it can be shared by Agility™. Once assigned and subject to policy, Agility™ dynamically provisions the resource pool to meet the changing IT demands of the business.
As with some other Cloud-platforms, the services and tools needed to accomplish this provisioning can exit with existing infrastructural investments. However, ultimately Agility needs control over the whole Cloud if it is to deliver on the promised benefits:
Whilst Agility™ can be deployed onto existing infrastructure without compromising it, the power of Agility™ will be realized as IT resources are incrementally assigned under its control.
It would be good to compare and contrast this new platform with existing solutions, but it's obviously still early in its development. However, the updated white paper does give some clues:
Unlike other approaches, Agility does not force “big bang” changes onto the enterprise’s IT infrastructure and applications.
This initially seems at odds with the statements around needing full control, but there does seem to have been a lot of effort put into squaring that circle. In fact, according to the information available, Agility "does not require existing infrastructure to be restructured or changed in any way" and "does not require resources to be shared, except with the permission of the owner". It would seem that this non-invasive approach extends all the way to users, who do not even have to be aware of Agility when utilising services.

The platform appears to be based around an ESB, since there are a lot of references to it being "services-based with protocol gateways for a variety of access protocols". Although there are some of the usual suspects you would expect to see in a Cloud-platform, such as controlled sharing of services across administrative boundaries and dynamic provisioning of services, there are some potentially novel aspects that make this more interesting:
  • Services and resources are made available to Agility through the definition of policies, e.g., a policy that allows some of their resources to be made available to other users in particular circumstances, such as during critical times for the business when the rest of the infrastructure is overloaded. Unfortunately there's no obvious indication of how policies are defined within Agility, e.g., WS-Policy? In fact all relationships are represented as Service Agreements. Could this be a step towards embracing more SOA Governance approaches in Cloud computing in general?
  • Then they have a Virtual Deployment Description Language, which is a high-level language in which to describe services, along with the hardware and software resources they require, and the connections between them. Once again, this has parallels in some aspects of SOA Governance and service dependency graph work. But it appears to be a novel approach for Cloud-computing. If not then this may be a place where standardisation would help to reduce the vendor lock-in problem.
But given Arjuna's background, where does fault tolerance come in?
... dependability can be improved by supporting the dynamic redeployment of resources whenever failures are detected. After failure, as service requirements are decoupled from the IT infrastructure, Agility is able to identify alternative resources that could be used to satisfy the service requirements and then reconfigure the system to use those resources in order to ensure continued fulfillment of service requirements
There's no indication of whether Agility works with existing failure suspector mechanisms or uses its own. Without a more detailed architectural description it's not possible to say either way. But one things does seem certain: it looks like this time round transactions are not in the picture (unless they are a hidden part of the infrastructure.)
  • This article is part of a featured topic series on Governance

No comments

Watch Thread Reply

Educational Content

Bindings, Platforms, and Innovation

This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.

Orchestrating Long Running Activities with JBoss / JBPM

This article explores the use of JBoss and jBPM to implement design solutions that effectively address the issue of orchestrating long running activities.

Neo4j - The Benefits of Graph Databases

This presentation covers the use of graph databases as an optimal solution for data that is difficult to fit in static tables, rapidly evolving data or data that has a lot of optional attributes.

Realistic about Risk: Software development with Real Options

This session introduces Real Options and shows how it can help in running your project. Real Options is a decision-making process that can be used to manage risk.

Communication Flexibility Using Bindings

This article discusses the use of bindings on services and references (including the instance of non-configured bindings) as the means to implement SCA communications in a Web and SOA environment.

Writing DSLs in Groovy

After a short introduction to DSLs, Scott Davis plays with the keyboard showing how to approach the creation of a DSL by typing working snippets of Groovy code that get executed.

Scaling Agile with C/ALM (Collaborative Application Lifecycle Management)

IBM Rational and InfoQ present, Scaling Agile with C/ALM, an eBook showing organizations how to become “finely tuned software delivery machines” by enabling team integration and scaling.

Concurrent Programming with Microsoft F#

Amanda Laucher presents a real life enterprise application written in F#. She shows actual code snippets, explaining design decisions and suggesting how to use some of the F# constructs.