Wednesday, February 27, 2008

How Will Users Interact With the Cloud?

By Rich Wellner

This is a repost of a reply I wrote to a LinkedIn question



Mark Mathson gave a great answer and blog link in his reply, but it's worth going down one additional level of detail.



A cloud is operated by something. That something is software and people need to be able to interoperate with that software. So the question is twofold.



1) What does that software do.

2) What does the interaction model look like.



Part one is mostly undefined. The term cloud computing is only a few months old at this point and there is no definition that I've seen that describes in detail what the services are and how they work. Since cloud computing is a subset of grid computing we can make some educated guesses as to how this will turn out.



o There will have to be a security model. This model will be complex enough that I'm calling out additional specifics. Currently there is no model specified in any definition of cloud computing.



o That model includes delegation. In the early development of the grid we had a security model without delegation and it was a non-starter. Anytime you need to request something of a service you need to delegate authority to that service.



o That model will have to be multi-institutional. By this I mean that the model must allow people from different communities to be able to access the resources within the cloud without having to join a common security domain. The owner of the resources will have to be able to make local decisions about who is allowed to use his resources.



o Monitoring will be complex, but must run on a common backplane. In the grid community we have hierarchical, distributed monitoring that allows canonical services and a variety of applications to push monitoring information upstream to consumers. No definition of cloud computing currently has any monitoring specification.



o Data handling will be a challenge. In the grid community we discovered early on that moving data between facilities was a bottleneck due to some decisions made in developing TCP decades ago. We worked around these to develop protocols that move data at near theoretical maximum rates even in WAN environments. We also found that people who want to move a lot of data find it cumbersome to manage the processes to do that themselves. We developed 'fire and forget' mechanisms to moving data. A user can make a request, walk away and check the results the next day. As a side note, this behavior requires delegation to work in a secure fashion.



All of the above have to be dealt with before one even begins to contemplate the VM issues that seem to dominate the cloud computing discussions.



The second part is about how the user will interact. That one is much more trivial to answer. Our users already interact in a variety of ways. Some examples include browsers, native applications, java applications, remote desktops and display technologies like x-windows.



All of those will continue to be in play in a cloud based architecture because each has significant structural, administrative and performance advantages that have led to their survival for a long time.



The cloud won't be about what window a user interacts with, it will be about the plumbing that makes that window useful.

1 comment:

  1. Rich,
    Good in-depth thoughts on cloud computing. I appreciate your acknowledgment of my thoughts. Many people are already interacting with the cloud on a daily basis and may not be aware. At least on the consumer, end user level, they are benefiting from cloud storage such as Amazon S3.
    Metrics and monitoring are implemented in some cloud computing and storage systems such as Amazon S3. They monitor the specific bandwidth and storage taken, so they can charge back to the customer.
    Regards,
    Mark

    ReplyDelete