Distributed Computing in the 21st Century: Some Aspects of Cloud Computing