Informatics Practices · Ch 2 — Emerging Trends
Cloud Services
Cloud Services
The clearest way to understand the cloud is to treat everything as a service. A service is simply any facility the cloud provides — a machine, a ready-made environment, or a finished application. Computing services delivered through the cloud are grouped into three standard models, shown in Figure 2.12: Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS). The difference between them is how much the provider manages and how much is left to you.
(A) Infrastructure as a Service (IaaS)
IaaS providers offer the raw building blocks of computing — different kinds of computing infrastructure such as:
- servers,
- virtual machines (VM),
- storage and backup facilities,
- network components,
- operating systems, or any other hardware or software.
With IaaS, a user takes hardware infrastructure that physically sits at a remote location and uses it to configure, deploy and execute any software application of their choice on that cloud infrastructure. Hardware and software are outsourced on a demand basis and paid for as per usage. The savings are substantial: the user avoids not only the cost of buying software, hardware and other infrastructure, but also the recurring costs of setting it up, maintaining it and securing it.
(B) Platform as a Service (PaaS)
PaaS goes one step further: the user can install and execute an application without worrying about the underlying infrastructure and its setup. PaaS provides a ready platform or environment to develop, test and deliver software applications.
A concrete situation makes this clear. Suppose you have built a web application using MySQL and Python. To run it online, you can avail a pre-configured Apache server from the cloud that already has MySQL and Python installed. You neither install MySQL and Python on the cloud yourself, nor configure the web server (Apache, nginx) — all of that comes ready. What remains in your hands is what matters to you: in PaaS, the user keeps complete control over the deployed application and its configuration.
For developers this is a deployment environment at a much reduced cost, stripping away the complexity of buying and managing the hardware and system software underneath.
(C) Software as a Service (SaaS)
SaaS sits at the top of the stack: it provides on-demand access to application software itself, usually through a licence or a subscription taken by the user. Editing a document online with Google Docs, Microsoft Office 365 or Dropbox is using SaaS from the cloud.
Here the user is not concerned with installing or configuring the software at all — what matters is only that the required software is accessible. As in PaaS, the user still gets access to the configuration settings of the application software they are currently using (its preferences and options), even though everything beneath it is the provider's responsibility.
What all three models share
Across IaaS, PaaS and SaaS, the pattern is the same: the user consumes on-demand infrastructure, platform or software and is charged as per usage. This eliminates the need for a huge upfront investment — which is precisely why cloud services are so attractive to a new or evolving organisation that cannot afford to buy its own servers and software licences on day one.
India's government cloud: MeghRaj …
The figure is built around one large cloud shape, which stands for the cloud itself — the pool of computing facilities delivered over the Internet. Inside the cloud sit three horizontal bars stacked one above the other, each naming one of the three standard service models: "SaaS - Software as a Service", "PaaS - Platform as a Service" and "IaaS - Infrastructure as a Service". Placing all three bars inside the same cloud makes the central point of the section visual: these are not three different clouds but three kinds of service that the one cloud offers, differing in how much of the computing stack the provider manages for you.
Arranged around the outside of the cloud are icons of everyday computing devices — servers, desktops, laptops, phones and tablets — and each one is drawn with a connection running to the cloud. This half of the diagram illustrates accessibility: any smart device, whether a heavyweight server or a phone in your pocket, can reach the same cloud services as long as it is connected. …