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.

Presentation

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.

Client-server model

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

Servers, servers everywhere…

File server

Database server

Web server

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

Hybrid cloud

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

SETI@home

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.