Table of Contents
What is Cloud Computing?
Cloud computing allows resources located at remote locations to be made available to anyone anywhere. Cloud computing is an emerging trend in the field of information technology, where computer-based services are delivered over the Internet or the cloud, and it is accessible to the user from anywhere using any device.
Table of Contents
Definition of Cloud Computing
[su_quote cite=”The National Institute of Standards and Technology (NIST)”]Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g. networks, servers, storage application and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction[/su_quote]
Characteristics of Cloud Computing
These five characteristics of cloud computing specified by NIST:
On Demand Self Service
Computing capabilities can be provided to a customer according to the requirement of the user. Capabilities like storage and server time are allocated without human interaction.
Broad Network Access
Using standard mechanisms, the cloud can be accessed through network using thick or thin clients. Examples of the clients are tablets, laptops, mobile phones, and workstations.
Resource Pooling
In the multitenant model, the computing resources are pooled to provide service to multiple consumers. The computing resources can be present anywhere geographically and the exact location of resources is not known to the user.
Rapid Elasticity
Depending on the user requirement, the capabilities and resources in the cloud can be released and provided automatically.
Measured Service
The services provided to the user are measured by the cloud system and are reported to the user and the provider. Based on the type of service, the cloud system optimizes and controls the resource use by a metering capability.
Classification of Cloud Computing
Let’s discuss the classification of cloud computing:
Public Cloud
In this deployment model services and infrastructures are made available to different types of customers and used publicly by general people/users. This type of cloud is managed by cloud services provider offering services to the consumers on pay-per- use basis.
Consumers are considered authorized by default, so security and privacy are big issues in it. Examples of public cloud are Amazon EC2, Google App Engine etc.
Private Cloud
In this type of cloud the computing resources are used and operated exclusively by one organization owing that cloud. It is more secured than public clouds because their users are trusted users inside the organization. Examples of private cloud are IBM cloud, Microsoft cloud, any private institutional cloud etc.
Community Cloud
In community model the infrastructure is shared by several organizations with the same policy and compliance considerations. This helps to further reduce cost as compared to a private cloud, as it is shared by large groups.
Various state level government departments requiring access to the same data relating to roads, hospitals, electrical stations infrastructures use community model for gathering information.
Hybrid Cloud
This deployment model helps business to take advantage of secured applications and data hosting on private cloud, while still enjoying cost benefits.
An organization may store sensitive client data in house on a private cloud application, but inter-connect that application to a billing application provided on a public cloud as a software service.
Principles of Cloud Computing
These are the principles of cloud computing which are:
Resource Pooling
Cloud computing providers harness large economies of scale through resources pooling. They put together a vast network of servers and hard drives and apply the same set of configurations, protection and the works for them.
Virtualization
Users do not have to care about the physical states of their hardware nor worry about hardware compatibility.
Elasticity
Addition of more hard disk space or server bandwidth can be done with just a few clicks of the mouse on-demand. Geographical scalability is also available in cloud computing – one can choose to replicate data to several data centres around the world.
Automatic
The user only needs to choose the types and specifications of the resources he require and the cloud computing provider will configure and set them up automatically.
Metered Billing
Users are charged for only what they use.
Types of Cloud Providers
These are some important types of cloud providers:
- Software as a Service (SaaS)
- Platform as a Service (PaaS)
- Infrastructure as a Service (IaaS)
- Storage as a Service (STaaS)
- Security as a Service (SECaaS)
- Data as a Service (DaaS)
- Test Environment as a Service (TEaaS)
- Backend as a Service (BaaS)
Software as a Service (SaaS)
SaaS clients rent usage of applications running within the Cloud‟s provider infrastructure, for example SalesForce. The applications are typically offered to the clients via the Internet and are managed completely by the Cloud provider.
That means that the administration of these services such as updating and patching are in the provider‟s responsibility.
One big benefit of SaaS is that all clients are running the same software version and new functionality can be easily integrated by the provider and is therefore available to all clients.
Platform as a Service (PaaS)
PaaS Cloud providers offer an application platform as a service, for example Google App Engine. This enables clients to deploy custom software using the tools and programming languages offered by the provider. Clients have control over the deployed applications and environment-related settings.
As with SaaS, the management of the underlying infrastructure lies within the responsibility of the provider.
Infrastructure as a Service (IaaS)
IaaS delivers hardware resources such as CPU, disk space or network components as a service. These resources are usually delivered as a virtualization platform by the Cloud provider and can be accessed across the Internet by the client.
The client has full control of the virtualized platform and is not responsible for managing the underlying infrastructure.
Storage as a Service (STaaS)
Storage as a service (STaaS) is a business model in which a large service provider rents space in their storage infrastructure on a subscription basis.
The economy of scale in the service provider’s infrastructure allows them to provide storage much more cost effectively than most individuals or corporations can provide their own storage, when total cost of ownership is considered.
Storage as a Service is often used to solve offsite backup challenges. Critics of storage as a service point to the large amount of network bandwidth required to conduct their storage utilizing an internet-based service.
Security as a Service (SECaaS)
Security as a service (SECaaS) is a business model in which a large service provider integrates their security services into a corporate infrastructure on a subscription basis more cost effectively than most individuals or corporations can provide on their own, when total cost of ownership is considered.
These security services often include authentication, anti-virus, anti-malware/spyware, intrusion detection, and security event management, among others.
Data as a Service (DaaS)
Data as a service, or DaaS, is a cousin of software as a service. Like all members of the “as a Service” (aaS) family, DaaS is based on the concept that the product, data in this case, can be provided on demand to the user regardless of geographic or organizational separation of provider and consumer.
Additionally, the emergence of service-oriented architecture (SOA) has rendered the actual platform on which the data resides also irrelevant.
This development has enabled the recent emergence of the relatively new concept of DaaS. Data provided as a service was at first primarily used in web mashups, but now is being increasingly employed both commercially and, less commonly, within organisations such as the UN.
Test Environment as a Service (TEaaS)
Test Environment as a service (TEaaS), sometimes referred to as “on-demand test environment,” is a test environment delivery model in which software and its associated data are hosted centrally (typically in the (Internet) cloud) and are typically accessed by users using a thin client, normally using a web browser over the Internet.
Backend as a Service (BaaS)
Backend as a service (BaaS), also known as “mobile backend as a service” (MBaaS), is a model for providing web and mobile app developers with a way to link their applications to backend cloud storage while also providing features such as user management, push notifications, and integration with social networking services.
These services are provided via the use of custom software development kits (SDKs) and application programming interfaces (APIs). BaaS is a relatively recent development in cloud computing, with most BaaS startups dating from 2011 or later. The global BaaS market had an estimated value of $216.5 million in 2012.
Difference between Cloud Computing and Grid Computing
Basis | Grid Computing | Cloud Computing |
Business Model | Adopts project-oriented business model. The participating parties agree to share a certain amount of resources with others and gain the opportunity of using all other grids’ resources. | Uses Pay-as-you-go model. |
Resource Management | Schedules dedicated resources by a queuing service. Un- til all the resources are available as specialed by the LRM (Local Resource Manager) the job waits in the queue. Thus interactive and latency intensive applications are not executed effciently in grid. | Share all resources simultaneously to all the users at the same time. This allows latency-intensive and interactive applications to run natively in cloud. |
Virtualization | No virtualization, as the data centers are handled by the in- dividual organizations of their own. So they generally manage those usually physically but not by virtualization. Although there are some eorts being given by some companies like Nimbus for virtualization to make dynamic deployment and abstraction available. | For cloud computing one of the essential components is virtualization. This is for pro- viding abstraction and encapsulation to the users of the cloud. |
Application Model | Executing tasks may be small or large, loosely coupled or tightly coupled, compute in- tensive or data-intensive. | Supports only loosely coupled and transaction-oriented, mostly interactive jobs. |
Security Model | Grids build on the assumption that resources are hetero- generous and dynamic. Thus security is engineered in fundamental grid infrastructure. | Cloud security is now in its infancy. |