This document discusses cloud computing and its applications in education and e-learning systems. It begins with an introduction on the evolution of software and IT needs in education. It then provides definitions and history of e-learning, and discusses how to develop an e-learning system through analysis, design, development, implementation and evaluation. Virtual and personal learning environments are described, including social networks, professional networks, and special learning networks. The benefits of using cloud computing for e-learning systems are discussed.