Tuesday 1 March 2016

Theory, facts and paradigms, or why the cloud and virtualization are not the same but for the API

I had a conversation recently with a very interesting colleague about "traditional" virtualization and cloud. Although we almost agreed on everything, we were recording a webminar, we had severe differences on our points of view, starting with the fact that "traditional" was not a word he liked... he was from another provider.

In science it is necessary to distinguish between facts and theories, although that distinction can not be completely precise. They act as poles of an activity that crystallize in groups relatively autonomous.

Theories are systems of interpretation and explanation of facts that, once discovered and constituted, that is to say, circumscribed by the theory, seem to be independent of the facts.  That is why we can still talk about the Bohr atom and also why many economic books about theories that are known to be false.

On the other hand, we need to take into account that the theory that acts directly to explain the facts comes from the macro-orientation methodological known as paradigm, that only refers to the facts through the theory, whom acts as middle range hypothesis.
Let's say that all of this works together, so scientists can never do science without taking into consideration, actively or not, those paradigms that are active at the moment, and thus being a reflection of their society.

So the question should be whether the cloud is a paradigm or a theory....

And I would say is a paradigm... the discussion we were having was because the cloud is a completely new way of looking at the facts (virtualization). So although you can explain facts with the old paradigm - has anybody read how hard was for Copernicus to demonstrate that all the other were wrong and their models too complex? -,  the reasons to implement a cloud are not in the old ways of thinking... Even if they somehow look almost right, like being the center of the universe once appeared "clearly" to all.

The definition of the cloud by NIST is here, and refer to five essential characteristics:
Reference: http://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf
  • On demand self-service
  • Broad network access
  • Resource pooling
  • Rapid elasticity
  • Measured service
All of them can be met by a system like CloudForms  / ManageIQ, or some other alternative tools in the market, but we can not hide that in order to fully get the power of the cloud there are other things that need to be changed, well beyond the software-defined-everything theory.  The first step into the cloud is economic, not technical, but the next one will be technical.
 
Everything has to be optimized for the cloud, starting from the applications (what about DevOps/CI/CD?), that has to be prepared to be executed in any resource, grow elastically and quickly, adapt themselves to the customer, provide the information needed so decisions can be taken. The network has to be prepared too for the new paradigm, although some technologies seems to cover somehow the new and the old paradigm, virtualizing the network, although it is more than virtual networks, is network as a service what we need, and of course all that elements that a cloud management platform or a cloud broken can deliver today.
 
Let's not confuse the path with the objective, because some times, like with the cloud, they are defined together. This is a continuous effort, so start your cloud automating your environment now, evolve your network to a fully open one, change your applications so they are cloud-ready, make them scalable, start providing the information needed by management, educate your users, and don't try to convince your manager that the Earth is flat, because even you can see that the ship goes round it...


Efa [CC BY-SA 3.0 (http://creativecommons.org/licenses/by-sa/3.0)], via Wikimedia Commons