This post is part of our ReadWriteCloud channel, which is dedicated to covering virtualization and cloud computing. The channel is sponsored by Intel and VMware. Read the case study about how Intel Xeon processors and VMware helped virtualize 12 business critical database applications.
As the cloud is getting more players and interfaces, best and worst practices are emerging. As the market grows and more companies try to plug in, the cloud may benefit from guiding principles.
Similar to new technology movements in the past, a natural process is underway to define "what is good", which, for some in the industry, equates to "what is open". Like religion itself, open can be defined in ways that are uplifting, or on the other side of the coin, restricting. Also, we learn again, nothing is free.
If you've been part of a software development project, you know that sometimes it's hard to get the team to all agree on best practices for interface design, database optimization, or even what technology to use. In this analysis, we take a look at some of the movements in cloud computing that start to lay a framework of good as it relates to this technology.
In this context, API designers for cloud applications need to think ahead and avoid common pitfalls. For several reasons, more than ever before. First, because many people will be accessing your one piece of code. Second, is that in this world of open APIs, it's easy to compare your code against another.
We notice that data management practices are at the core, and details matter when provisioning in platforms. At the same time that groups are forming to align practices and forms of virtualization and cloud standards, a voice whispers that perhaps this is a free-market problem. People who benefit at solving it, will; others will ignore it or compete directly. We enjoyed this post from Joyent on where standards matter in a practical sense.
In essence, the question raised: If a vendor makes it easy and bakes in the ability to "just do it", do you know or care about the standards? This seems to mirror an iPhone development paradigm, which is to expect work from the vendor SDK or libraries. The SDK wraps standards implementations, which is done in the way best understood by that vendor.
We know the cloud is big - perhaps it will inevitably be bigger than the Internet itself as it usurps our conception of location, space and time.
Where power forms, rules, groups, and organizations do as well. In information technology there is always tension between open standards and defacto standards. The former are crafted through agreements, the latter through leadership and market dominance.
We asked in a prior series "Will a single company become the dominant provider in the cloud?" Today we look at the more practical side of "who is winning now" - who is setting the rules and who is in the trenches.
Quite a number of the responses to our earlier posts emphasized that "the cloud should be free", meaning that it should have governing principles to avoid one vendor from owning the landscape.
Here are a few groups that have emerged to provide some context in how this may come together, both philosophically and practically. In both, the devil is in the details. A good summary of some of the current combining of forces is by the Open Grid Forum. (In our opinion, grids have given way to clouds as the dominant concept in this technology makeover).
When looking for things to avoid, we found a lot of philosophical questions around data ownership, logging and portability. These discussions are alive and well and seem to be being absorbed into vendor solutions and consortiums like the ones mentioned earlier.
For a more practical view, we turned to a friend of ReadWriteWeb, Thorsten von Eicken, and have summarized his thoughts from a recent post, "Top Cloud API Sins. Bold items are our (loose) mapping to biblical terms.
We plan on keeping up with this list and seeing how it intersects with implementations and standards that evolve.
Torsten goes on to describe a picture of the future. "Now here's what I'd really like to see. This is what we're working on for internal purposes and it's not easy, which is an event based interface instead of a request-reply based interface... "
Smart services in the cloud, rather than resources alone. This starts to get us closer and closer to an object-orientated network. Maybe that's what the cloud will be for platforms, infrastructure and software. The industry has been quick to identify the layers. But perhaps the point is piecing them together in a smart transactional framework.
A way to engineer highly reliable systems around these architecture challenges may sound familiar to those who monitor existing data centers today.
Torsten continues, "We run a good number of machines that do nothing but chew up 100% cpu polling EC2 to detect changes. Fortunately cpu cycles are cheap :-)".
This is practical intervention between vision and get it done.
We find it refreshing to hear this type of dialog in the industry and see a fresh opportunity for defining efficient patterns for this next generation of the cloud infrastructure.
Perhaps a new concept is forming: "Divine Computing".
What buying decisions will be based on the openness of cloud resources and common APIs?
Photo credit: tsarkasim, Amsterdam Esogna
Follow the latest industry discussion here. Click a topic in the tag cloud to focus on it.