What is Cloud?
The term Cloud refers to a Network
or Internet. In other words, we can say that Cloud is something, which
is present at remote location. Cloud can provide services over network, i.e.,
on public networks or on private networks, i.e., WAN, LAN or VPN.
Applications
such as e-mail, web conferencing, customer relationship management (CRM),all
run in cloudWhat is Cloud Computing?
Cloud Computing refers
to manipulating, configuring, and accessing the applications
online. It offers online data storage, infrastructure and application.
Basic Concepts?
There are certain services and models working behind
the scene making the cloud computing feasible and accessible to end users.
Following are the working models for cloud computing:
·
Deployment
Models
·
Service
Models
Deployment Models Are-
Deployment Models Are-
PUBLIC CLOUD-
The Public Cloud allows systems and services
to be easily accessible to the general public. Public cloud may be less secure
because of its openness, e.g., e-mail.
PRIVATE CLOUD-
The Private Cloud allows systems and services
to be accessible within an organization. It offers increased security because
of its private nature.
COMMUNITY CLOUD-
The Community
Cloud allows systems and services to be accessible by group of organizations.
HYBRID CLOUD-
The Hybrid Cloud is mixture of public and
private cloud. However, the critical activities are performed using private
cloud while the non-critical activities are performed using public cloud.
SERVICE MODELS-
Service
Models are the reference models on which the Cloud Computing
is based. These can be categorized into three basic service models as
listed below:
1.
Infrastructure as a Service (IaaS)
2.
Platform as a Service (PaaS)
3.
Software as a Service (SaaS)
Cloud Computing-Technologies?
There is a certain
technologies that are
working behind the
cloud computing platforms
making cloud computing flexible, reliable,
usable. These technologies are listed below:
·
Virtualization
·
Service-Oriented
Architecture (SOA)
·
Grid
Computing
·
Utility
Computing
Virtualization-
Virtualization is
a technique, which allows to share single physical instance of an application
or resource among multiple organizations or tenants (customers). It does
so by assigning a logical name to a physical resource and providing a pointer
to that physical resource when demanded.
Service-Oriented Architecture(SOA)-
Service-Oriented
Architecture helps to use applications as a service
for other applications regardless the type of vendor, product or
technology. Therefore, it is possible to exchange of data between applications
of different vendors without additional programming or making changes to
services.
Grid Computing-
Grid
Computing refers to distributed computing in which a group of
computers from multiple locations are connected with each other to
achieve common objective. These computer resources are heterogeneous and
geographically dispersed.
Grid
Computing breaks complex task into smaller pieces. These smaller pieces are
distributed to
CPUs that reside within the grid.
Utility Computing-
Utility computing is
based on Pay per Use model. It offers computational resources on demand
as a metered service. Cloud computing, grid computing, and managed IT
services are based on the concept of Utility computing.
Infrastructure-as-a-service-
IAASprovides
access to fundamental resources such as physical machines, virtual machines,
virtual storage,
etc., Apart from these resources, the
IaaS also offers:
·
Virtual
machine disk storage
·
Virtual
local area network (VLANs)
·
Load
balancers
·
IP
addresses
·
Software
bundles
All
of the above resources are made available to end user via server
virtualization. Moreover, these resources are accessed by the customers as
if they own them.
Benefits-
IaaS allows the cloud
provider to freely locate the infrastructure over the Internet in a
cost-effective manner. Some of the key benefits of IaaS are listed
below:
·
Full
Control of the computing resources through Administrative Access to VMs.
·
Flexible
and Efficient renting of Computer Hardware.
·
Portability,
Interoperability with Legacy Applications.
Platform-as-a-Service-
PaaS offers the runtime environment for
applications. It also offers development & deployment tools, required to develop applications. PaaS has a
feature of point-and-click tools that enables non-developers to create
web applications.
Google's
App Engine, Force.com are examples of PaaS offering vendors.
Developer may log on to these websites and use the built-in API
to create web-based applications.
But the disadvantage of using PaaS is
that the developer lock-in with a particular vendor. For example, an
application written in Python against Google's API using Google's App Engine is
likely to work only in that environment. Therefore, the vendor lock-in is the
biggest problem in PaaS.
Benefits-
Lower administrative overhead.
Lower total cost of ownership.
Scable solution.
More current system software.
Software as a service(SaaS )model allows to provide software application
as a service to the end users. It
refers
to a software that is deployed on a hosted service and is accessible via
Internet.
There are several SaaS applications, some of them are listed below:
·
Billing
and Invoicing System
·
Customer
Relationship Management (CRM) applications
·
Help
Desk Applications
·
Human
Resource (HR) Solutions
Some
of the SaaS applications are not customizable such as an Office Suite.
But SaaS provides us Application Programming Interface (API),
which allows the developer to develop a customized application.
Characteristics-
Here are the characteristics of SaaS
service model:
· SaaS
makes the software available over the Internet.
· The Software are maintained by the vendor
rather than where they are running.
· The
license to the software may be subscription based or usage based. And it is
billed on recurring basis.
· SaaS
applications are cost effective since they do not require any maintenance at
end user side.
· They
are available on demand.
· They
can be scaled up or down on demand.
· They
are automatically upgraded and updated.
· SaaS offers share data model. Therefore,
multiple users can share single instance of infrastructure. It is not required
to hard code the functionality for individual users.
· All
users are running same version of the software.
Benefits-
Using SaaS has proved to be beneficial in terms of
scalability, efficiency, performance
and much more. Some of the benefits are
listed below:
· Modest
Software Tools
· Efficient
use of Software Licenses
· Centralized
Management & Data
· Platform
responsibilities managed by provider
· Multitenant
solutions
Network-as-a-Service-
Network as a service allows us to
access to network infrastructure directly and securely. NaaS makes it possible to deploy custom
routing protocols.
NaaS uses virtualized network
infrastructure to provide network services to the consumer. It is the
responsibility of NaaS provider to maintain and manage the network resources
which decreases the workload from the consumer. Moreover, NaaS offers network
as a utility.
NaaS is also based on pay-per-use
model.
How NaaS is delivered?
To use NaaS model, the consumer is
required to logon to the web portal, where he can get online API. Here, the
consumer can customize the route.
Mobile NaaS-
Mobile NaaS offers more efficient and
flexible control over mobile devices.
It uses virtualization to simplify the
architecture to create more efficient processes.