posted on 2013-11-29, 16:02authored byAnthony Ventresque, Christina Thorpe, Thomas Cerqueus
Motivation:
The Cloud is a complex and heterogeneous composition of physical machines
and services. It is heterogeneous because capital allocators in companies do not
buy new hardware every year and machines age, and the software on those
machines are not always at the same version. It is complex because of the software
stack on the machines: various kinds of operating systems, web/database/application
servers, and because a large number of the services nowadays are multi-tier, i.e.,
are composed of separated services that can reside on different machines. Consider
for instance a classical e-service with a web interface (e.g., a page in Javascript)
residing on the machine of a datacentre d1, while the logic is situated remotely on
another datacentre d2 and the database in a PaaS provider (e.g., Google Datastore).
The problem is now that there are potentially an infinite number of machines
where to put processes or services, and that the placement of a service on a specific
environment can have an impact on its performance.