The promise of cloud computing is the ability to scale to meet any demand level almost instantly, saving money along the way by only ever needing the power available that is required now. To do this it uses a combination of virtualisation and grid-based clustering technology. The potential is enormous. To spice it up further then by using a platform such as Gigaspace it is possible to improve performance and scalability to a degree that thousands of transactions a second are possible, based on in-memory database technology.
So, what’s the catch? According to Gartner’s hype-cycle Cloud Computing is at the peak of its inlated expectations and will take 2 to 5 years to become mainstream after plummeting through a trough of disillusionment. I would agree with them that the technology has significant potential issues, but the presentations of what has been achieved at Gigaspaces’ Cloud Crowd event were significant. There are significant potential issues in adopting the technology, and so strong architectural and project governance will be required but there are solutions to many of the potential issues.
As an example, in many applications the safety of committed data must be paramount. Losing a few transactions because of unforeseen events is just not acceptable. A solution to this is to write to a database, or use a connector to another application out of the cloud. This can, however, decrease performance and increase development complexity. To help in this area NT/e have added to the technology pile a system called CloudTran. The solution provides a database connection mechanism with simplified development and a potential for performance that is much closer to that of the rest of the cloud software. The result should be an acceptable level of data safety without removing the benefits derived from the massive scalability.
Thus, if you have a project that needs this sort of capability then Cloud Computing may be worth consideration. Its potential is significant, but treat it as a leading edge technology. Use strong architectural governance, proof of concepts and consultancy from the supplier to ensure that everything is being used effectively. The result, however, might well be a system with strong capability 2 to 5 years ahead of its time.
People I met recently at Oracle User Group Conference and E-commerce Expo would be interested in this. Shall I connect you with them?
Yes please. Contact from Oracle users considering cloud technology would be very interesting.
The hype-cycle illustration is interesting. The disillusionment will come when we start to flesh out some of the details of cloud technology. As a general rule, a cloud infrastructure will take care of low-level non-functional requirements, such as redundancy and performance, but in no implementation I’ve seen really offers any form of quality of service. Further more, clouds (or more precisely, grids) aren’t big-iron databases like Oracle (or even smaller ones like MySQL). As a programmer, you need to think in almost completely new ways to architect your programs to never use a table JOIN or some other constructs that are commonplace elsewhere.
The point I’m trying to make is that whatever limitations a cloud or grid has have to be understood – and not just because you’ve read the marketing flyers. You actually need to re-architect your application, your developers, the development/test/release process and probably your internal cross-charging models as well. That’s a considerably different proposition to the overly-simplistic “just stick it in the cloud and we’ll save money” approach that the current hype engenders.
As you say, clouds offer some fantastic opportunities. But right now, you need to do quite a bit of your own engineering to really make use of them. Unfortunately though, you’ll be side-tracked by news that some big player or other has cancelled it’s cloud projects because of spiralling costs, or elongated timescales, or poor returns. If you can stick it out through all of that and play your technical cards right, the rewards could be significant.