My missives

August 21, 2008

The Standard Cloud

Filed under: Cloud Computing — ksankar @ 3:57 pm

I have been thinking about this for sometime. We can draw parallels of the current state of cloud computing to the early days of networking – independent islands of clouds with little interoperability, no standards to speak of and proprietary management interfaces. Naturally as the domain matures (or in other words, for the domain to mature) it will follow a path that will unify the control and management plane.

Reuven in his blog has an excellent discussion. So has William.

I have a few more to add to Reuven’s list:

  • Application
    • Load Balancing
  • Security
    • Firewall provisioning
    • VLAN provisioning (or some form of security domain at the network level)
    • Authentication (OpenID et al exist)
    • Authorization (OAUth comes to mind)
    • Identity Federation
    • Policy Federation
    • Data Access Policies
  • Compliance
    • Policy Definition
    • Policy Enforcement
    • Audit
    • Exception monitoring and reporting
  • Cloud Federation
    • VM migration
    • Data migration

In most of these cases, what we need is a declarative deployment and programmable model. How the underlying infrastructure implements them is out of the cloud consumers’ hands. For example we might say I need round robin between these instances and the load balancer figures out how. And when we add more instances or delete an instance, the load balancer should know what to do, without doing a CLI for every change. Most probably this iis what we mean by Cloud standards.

Also would the locus and trajectory of the cloud computing take us through things like inter-cloud IM(XMPP, anyone?), peering standards, gossip and P2P protocols, facilities for classless VM migration across a hierarchy consisting of VMs-Clouds-Cloud Federation and so forth ? Time will tell.

Cheers

August 3, 2008

Cloud Computing And Grids

Filed under: Cloud Computing, Technology and Software, Web 2.0 — ksankar @ 7:14 pm


Sam, in his thoughtful blog, says “The Cloud is what The Grid could have been”. Made me think a little bit – actually a lot. IMHO, “Cloud is the next evolution of virtualization” – let me iterate …

  1. Grid is about distributed processing – either task parallelism or data parallelism – i.e. break a problem into small tasks and run them in parallel (task parallelism) or  run the same task on as many data sets as possible & then coordinate the results (data parallelism). Cloud computing is neither. The confusion could be because cloud can be used for HPCC but that is an after effect.
  2. Virtualization, OTOH, is making computation free of spatial and temporal constraints. In fact it also has the property of making computing independent of the hardware and software stack, which is another aspect of cloud computing
  3. Even licensing models become different in the virtualization world, not so in grid models
  4. The most important difference, in my opinion, is the evolution of the VM to support the cloud model. As I had written in an e-mail thread, “while VMWare cannot introduce southbound APIs, they can add Northbound APIs; even some east-west i.e. between VMs for coordination, state et al. IMHO, we have virtualization 2.0 ;o) While hardware mediation and partition layer were the original virtualization propositions – with consolidation and utilization as business value propositions, the charter of the domain has evolved a lot since the advent of “cloud computing”. Mobility of VMs (static or dynamic), the various aspects of HA, management, locality et al plus just plain old resource balancing will necessitate a bigger role (and hence more interfaces, programming models et al) for the lowly VM layer !”
  5. As Sam mentions, Cloud and grid are about location independence (i.e. where the actual computing happen), locality (execute code where data is) as well as mobility (of code and data). Moreover,both have on-demand characteristics – i.e. computing resources can expand (within limits, of course) and more importantly, contact (but less so in the world of grids and more so in the cloud world)
  6. But in many ways, grid is about maximizing the resources, i.e. run in as much (and as many) instances as possible, while the cloud focuses on acquiring just enough resources to perform a computing function, at any point in time, and releasing excess resources – a just-in-time philosophy.
  7. In short, we cannot see Cloud as an extension of grids (because of the similarities in locality – actually non-locality – and elastic nature) but we should look at cloud computing as the evolution of virtualization. This distinction is not theoretical, but there are pragmatic implications – the architecture (the data, control and management planes) and the artifacts thereof, will reflect our conceptual view of the domain. So it is important that we get the conceptual underpinning right.
  8. Grids act on local resources and their predominant problem is scheduling. The focus of cloud computing is resources, processes, systems and data. We can see this from a  simple conceptual view of the cloud domain (shown below)
  9. …even if monkeys are running my data center, I want to make sure they are managed and monitored uniformly (by open standards) and there are lots of bananas for them ;o) And we shouldn’t need to feed different types of bananas for monkeys from different herds …

Blog at WordPress.com.