Programming Abstractions for Clouds
Source: Louisiana State University
Clouds seem like 'Grids done right', including scalability, transparency, and ease of management. Virtual Machines are the dominant application environments for compute Clouds, however, that does not make application programming any less relevant than "Non-virtualized" environments. The limited set of successful Cloud applications show that distributed programming patterns of the type of MapReduce and All-Pairs are required to make Cloud infrastructure a viable compute environment for a large class of problems. The existence of multiple implementations of these programming paradigms also makes clear, that application portability is, even for Clouds an emerging problem which needs addressing beyond the level of system virtualization. This paper discusses these and other challenges around cloud applications programming and development, and through a discussion of several applications, demonstrates potential solutions.