Cloud Computing
Learn what cloud computing is, the common service models available today, and where the Linux operating system your cloud server runs comes from.
The client-server model
The client-server model is one of the main ways distributed and networked computer systems are organized today. In this model, servers share their resources with clients, who request a server’s content or services.

The communication is not only one way. In modern web applications, servers may also push data to their clients.
Servers, servers everywhere…



A server can provide many different kinds of content or services:
- A file server provides shared disk access accessible over the network (using protocols such as FTP or AFP), to store files such as text, image, sound or video.
- A database server houses an application that provides database services to other computer programs.
- A web server can serve contents over the Internet (using HTTP).
These are just a few examples. There are many types of servers depending on the scenario and the resources you want to provide. One computer may fulfill one or several of these roles.
Service models
Cloud providers offer their resources at different levels of abstraction. These are some of the most common service models:
| Model | Acronym | What is provided | Examples |
|---|---|---|---|
| Infrastructure as a Service | IaaS |
Virtual machines, servers, storage, load balancers, network | Amazon Web Services, Google Cloud, Microsoft Azure |
| Platform as a Service | PaaS |
Execution runtime, database, web server, development tools | Cloud Foundry, Heroku, OpenShift, Render |
| Function as a Service | FaaS |
Event-based hosting of individual functions | AWS Lambda, Azure Functions, Cloud Functions |
| Software as a Service | SaaS |
Web applications such as CMS, email, games | Dropbox, Gmail, Slack, WordPress |
Appendix: cloud deployment models
This appendix describes who a cloud is operated for, and by whom.
Private and public clouds
Cloud infrastructure operated solely for a single organization
Cloud services open for public use, provided over the Internet
A private cloud is cloud infrastructure operated solely for a single organization, managed and hosted internally or by a third party. These clouds are very capital-intensive (they require physical space, hardware, etc) but are usually more customizable and secure.
Providers: Microsoft, IBM, Dell, VMWare, HP, Cisco, Red Hat
A public cloud provides cloud services open for public use, over the Internet.
Infrastructure is often shared through virtualization. Security guarantees are not as strong. However, costs are low and the solution is highly flexible.
Platforms: Amazon Web Services, Google Cloud Platform, Microsoft Azure
Hybrid clouds

There are also hybrid clouds composed of two or more clouds bound together to benefit from the advantages of multiple deployment models. For example, a platform may store sensitive data on a private cloud, but connect to other applications on a public cloud for greater flexibility.
Distributed clouds

There also are a few other deployment models, for example distributed clouds where computing power can be provided by volunteers donating the idle processing resources of their computers.
For example, SETI@home uses volunteers’ computers to analyze radio signals with the aim of searching for signs of extraterrestrial intelligence. Also see Science United for more recent projects.