What is it?

A service of computing that is demanded by and is provided for clients (usually companies) of the cloud computing service providers (called cloud vendors). Access to the service is provided in a similar fashion to access to the internet in that in both cases the service is provided over a possibly remote physical distance.

History

The idea of cloud computing existed since the dawn of the internet. Internet service providers moderated traffic according to demand. This is technically an adaptation of cloud computing strategies.

However, Cloud Computing as we know it did not become formally present until the end (or beginning, depends on how you look at it) of the melinnium. The first open source software for private clouds was NASA's OpenNebula of 2008.

There are several famous cloud-super-computers, including Microsoft's Azure which was on 2014's TOP500 list.

Types of Cloud Computing Services

There are many levels to this service, with a variety of permissions to the client.

Serverless Computing

At this level, the control of the computing process is fully handled by the service provider. The client only inputs the demand.

Software as a Service

At this level, also called SaaS, the client is allowed direct access to softwares running on the server's machines.

Platform as a Service

At this level, also called PaaS, the clients can open software that is created by the clients themselves, rather than only that running on the machines.

Infrastructure as a Service

This is technically the highest level of permission. Also known as IaaS, this service allows its clients to make full use of the machines. However, the client does not have the permission to alter the infrastructure itself. Can you guess a good demonstrative example of such a service? Yup, VMware Horizon (or virtual.qatar.cmu.edu) is an IaaS.

Mobile Backend as a Service

This is a different type of service than those discussed before and so is worth being noted of seperately. Here, the client is allowed to host other clients to the server. In other words, the server is providing two services at the same time: a permission for the primary clients to edit their own services, and a permission for secondary clients to access the primary client's services. A simple example of this is this website you are reading from. The service provider is qatar.cmu.edu and I am the primary client. You, on the other hand, are the secondary client.

Resource

https://en.wikipedia.org/wiki/Cloud_computing

Useful Links

Cloud100 (for client preferences) http://www.forbes.com/pictures/fhgl45kiml/6-surveymonkey/?ss=inside-the-future#7779bc8313eb

Best Cloud Companies to Work for (for ppl like you an me) http://www.forbes.com/sites/louiscolumbus/2016/02/04/the-best-cloud-computing-companies-and-ceos-to-work-for-in-2016/#51a7a080581b

To know "how Cloud Computing works and why it is better" check the following links:

The short version https://www.ibm.com/cloud-computing/what-is-cloud-computing

The medium version http://computer.howstuffworks.com/cloud-computing/cloud-computing.htm

The long version https://www.coursera.org/learn/cloud-computing

The infinitely long version https://www.qatar.cmu.edu/~mboughou/cc.html

Questions

In FAH, who is the server and who is the client, or is there more than one answer?