From a Computation Machine to a Coordination Machine

Today there is a huge amount of technology for dealing with different aspects of cloud computing. In particular, containerization and microservices lead us to think of software applications as distributed applications whose components can be easily deployed and moved in the cloud. In my opinion, what we are facing today is a revolution that is not only a matter of technologies, it is something so profound that it can alter the way we conceive software and software infrastructures.

My idea is that we need new abstractions and concepts for dealing with such a revolution. In science, we are always looking for the best model which captures the essence of reality. We are doing this because on top of that model we can build the right technologies for satisfying our human needs. The same happened in computer science from the beginning when researchers started to automatize the ability of the mind: calculation. From that moment, the calculation machine has been always used as the basic reference for dealing with automatic calculation, and on top of this model, different technologies have been developed.
In this article, I start to reason about the usage of a new reference idea for dealing with computational resources which best fit with the reality of cloud computing, instead of the traditional computing machine model: the communication machine.