Cloud computing is an extension of the object-oriented programming concept of abstraction. Abstraction, as explained earlier, removes the complex working details from visibility. All that is visible is an interface, which receives inputs and provides outputs. How these outputs are computed is completely hidden.
For example, a car driver knows that a steering wheel with turn the car in the direction they want to go; or that pressing the accelerator will cause the car to speed up. The driver is usually unconcerned about how the directions of the steering wheel and the accelerator pedal are translated into the actual motion of the car. Therefore, these details are abstracted from the driver.
A cloud is similar; it applies the concept of abstraction in a physical computing environment, by hiding the true processes from a user. In a cloud computing environment, data can exist on multiple servers, details of network connections are hidden and the user is none the wiser. In fact, cloud computing is so named because a cloud is often used to depict inexact knowledge of inner workings.
Cloud computing derives heavily from the Unix paradigm of having multiple elements, each excellent at one particular task, rather than have one massive element which isn’t as good.