The distributed computing attempts to improve performance in large-scale computing problems by resource sharing. Moreover, rising low-cost computing power coupled with advances in communications/networking and the advent of big data, now enables new distributed computing paradigms such as cloud, and fog computing. Cloud computing provides them a means of accessing the utilities as applications through internet. The users are provided with on-demand resources for their organizations. Although cloud computing increases the performance it also has some downsides like data theft and various attacks.