This page will contain a list of important terms and concepts related to cloud computing with links for further reading.
Cloud computing can be considered as a business model that delivers resources such as computing and storage, on demand, using technologies such as server virtualization.
Resources shared over the cloud include software, platform and infrastructure. Based on these types, cloud services can be broadly divided into three: SaaS, PaaS, IaaS:
- SaaS stands for Software as a Service
- PaaS stands for Platform as a Service
- IaaS stands for Infrastructure as a Service
The term “On demand” in the previous definition simply refers to using something only when needed. In general, “cloud” or “on demand” refers to using a resource installed on some server over internet when needed, rather than installing and using the software from your machine. Instead of buying a resource paying the complete price, you can now use the resources on cloud, paying only fraction of the price; and the price is based the actual usage.
Opposite of cloud is ‘on premise’. On premise refers to installing the resource on your machine within your premises.
Cloud service examples
Google drive, Amazon S3, AWS and even gmail are all examples of cloud services.
In computing, virtualization refers to the act of creating a virtual (rather than actual) version of something, including virtual computer hardware platforms, operating systems, storage devices, and computer network resources.
The term “Server virtualization” means that the actual physical server on which the software is installed is not shared with the end user, but he is given a virtual address.
In server virtualization, there may be more than one server and might be scaled to include more servers based on requirement. However user sees only his virtual address and hence doesn’t even know about any of these changes.
The term “software multitenancy” refers to a software architecture in which a single instance of software runs on a server and serves multiple tenants. With a multitenant architecture, a software application is designed to provide every tenant a dedicated share of the instance – including its data, configuration, user management, tenant individual functionality and non-functional properties.
A tenant is a group of users who share a common access with specific privileges to the software instance.