What is Cloud?

Cloud computing is a model for enabling ubiquitous, convenient, on-demand
network access to a shared pool of configurable computing resources (e.g.,
networks, servers, storage, applications, and services) that can be rapidly provisioned
and released with minimal management effort or service provider interaction. Definition By NIST

Types of Clouds

Types of Clouds are also referred to as cloud deployment models. In 2006, Amazon Web
Services made available the first public cloud.Since then the industry
has evolved to meet the specific legal/audit requirements and
specialized needs of various industry sectors.
Primary features of the different types of clouds are summarized below:

Private Cloud

Private cloud is suitable for large organisations that have significant investment in IT assets and infrastructure. It is provisioned for a single organisation made up of multiple business units. It may be owned, managed and operated by the organisation itself, outsourced to a third party cloud provider or a combination of both. The cloud infrastructure may be hosted on premises or in specialized data centers.

Public Cloud

 By far the most commonly available, public cloud infrastructure is  provisioned for use by the general public, including most businesses. It is owned, operated and managed by a business, academic or government organisation or a combination of the three. The cloud infrastructure is hosted either on premises or in specialized data centers, usually in highly secret locations for security reasons.

Community Cloud

 Community cloud infrastructure is provisioned for the exclusive use of consumers from industry verticals that share a common interest such as compliance, security requirements, policy etc. US government cloud, GovCloud, is a widely known example of such a cloud. It may be owned, managed and operated by one or more organisations, a third party cloud provider or a combination of both, including multiple cloud providers. The cloud infrastructure may be hosted on premises or in specialised data centres, usually in highly secret locations.

Hybrid Cloud

 Hybrid cloud leverages private, public and community clouds as a combination of two or all three bound together by standard or proprietary technology that enables application portability. For example, an organisation can store its data in an MS SQL Server database in the private cloud but store backups in the cloud or do “cloud bursting” by storing archived data in the cloud. SQL Server seamlessly combines data from the local database and cloud and presents the query results to the user, without them having to worry about where the data is located and thus avoid issuing separate queries.

Cloud Subscription Options

A decade ago, Amazon Web Services started offering IaaS option as EC2 (Elastic Compute Cloud) instances.
That has been refined over time, so that now there are three well-known acronyms in the industry viz. SaaS, PaaS and IaaS.
Below is a summary of which option is suitable in different use cases:

Software as a Service (SaaS)

In this model, the cloud service provider makes available an application on a subscription basis in a device independent manner. The universal user interface is a web browser, but there may be custom user interfaces for specialised applications. The best known example of this is Office 365 and CRM (Customer Relationship Management) applications. SaaS is hosted on the cloud infrastructure of the host and the business that consumes it does not have to worry at all about the underlying network, servers, operating systems, databases, licences, storage  or specific application features and upgrades. Consumers have limited control over specific application configuration settings, meaning all the other IT specific work including software development, maintenance, security patching etc. is outsourced to the cloud service provider. Leasing costs are treated as cost of doing business, therefore the expenses can be treated as tax deductions.

Platform as a Service (PaaS)

When a business wants to retain some control while outsourcing the operational aspects of IT, PaaS is more suitable. In this model, either in-house or commercially developed applications, leveraging APIs (Application Programming Interfaces) supported by the cloud provider, are deployed to cloud infrastructure. Consumer outsources management of the infrastructure such as network, operating systems, storage and associated licences to the cloud provider but retains control over the deployed applications and partial control over configuration settings for the application environment. Examples are Amazon RDS (that supports database platforms by major database vendors such as Oracle and Microsoft, as well as open source MySQL) or Microsoft Azure SQL Database. Cloud provider takes care of the licencing cost of the database platform as well as upgrades, security patching and maintenance, so the consumer avoids major capital costs.

Infrastructure as a Service (IaaS)

This option is suitable when a business wishes to retain full control to deploy and run arbitrary software in the cloud. The role of the cloud provider is to provide processing cycles, storage, networks and other fundamental computing resources. The business has to purchase its own licences for operating systems, database systems and all required software, which involves significant capital expenditure. Consumer is responsible for ongoing security patching, upgrades and maintenance of operating system, database systems and all dependent software. This is an attractive option for businesses that already have significant investments in IT infrastructure and wish to do a “lift-and-shift” of the workload to the cloud. Existing IT teams then take on the role of brokers between cloud service providers and business stake holders that require a specific IT functionality.