Unit 1
Unit 1
Unit 1
Before emerging the cloud computing, there was Client/Server computing which is
basically a centralized storage in which all the software applications, all the data
and all the controls are resided on the server side.
If a single user wants to access specific data or run a program, he/she need to
connect to the server and then gain appropriate access, and then he/she can do
his/her business.
Then after, distributed computing came into picture, where all the computers are
networked together and share their resources when needed.
On the basis of above computing, there was emerged of cloud computing concepts
that later implemented.
But of course time has passed and the technology caught that idea and after few
years we mentioned that:
In 2002, Amazon started Amazon Web Services, providing services like storage,
computation and even human intelligence. However, only starting with the launch
of the Elastic Compute Cloud in 2006 a truly commercial service open to
everybody existed.
Of course, all the big players are present in the cloud computing evolution, some
were earlier, some were later. In 2009, Microsoft launched Windows Azure, and
companies like Oracle and HP have all joined the game. This proves that today,
cloud computing has become mainstream.
Cloud Computing Overview
Cloud Computing is the practice of using large groups of
remote servers, hosted on Internet, to store and access
applications and computer data, instead of saving them on
the local server or personal computer.
Cloud Computing provides easy access to information
technology resources. The cloud customer pays only for
services that are delivered and used by them. There are
models and services that make Cloud Computing
accessible to users.
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 public and private networks, i.e., WAN, LAN or VPN.
Applications such as e-mail, web conferencing, customer
relationship management (CRM) execute on cloud.
Cloud Computing refers to manipulating,
configuring, and accessing the hardware and software
resources remotely. It offers online data storage,
infrastructure, and application.
Cloud computing offers platform independency, as the
software is not required to be installed locally on the PC.
Hence, the Cloud Computing is making our business
applications mobile and collaborative.
What is Cloud Computing
Cloud computing means on demand delivery of IT
resources via the internet with pay-as-you-go pricing. It
provides a solution of IT infrastructure in low cost.
Why Cloud Computing
Actually, Small as well as some large IT companies
follows the traditional methods to provide the IT
infrastructure. That means for any IT company, we need
a Server Room that is the basic need of IT companies.
In that server room, there should be a database
server, mail
server, networking, firewalls, routers, modem, switches, Q
PS (Query Per Second means how much queries or load
will be handled by the server) , configurable system, high
net speed and the maintenance engineers.
To establish such IT infrastructure, we need to spend lots
of money. To overcome all these problems and to reduce
the IT infrastructure cost, Cloud Computing comes into
existence.
Characteristics of Cloud Computing
The characteristics of cloud computing are given below:
1) Agility
The cloud works in the distributed computing
environment. It shares resources among users and works
very fast.
2) High availability and reliability
Availability of servers is high and more reliable,
because chances of infrastructure failure are minimal.
3) High Scalability
Means "on-demand" provisioning of resources on a
large scale, without having engineers for peak loads.
4) Multi-Sharing
With the help of cloud computing, multiple users and
applications can work more efficiently with cost
reductions by sharing common infrastructure.
5) Device and Location Independence
Cloud computing enables the users to access
systems using a web browser regardless of their
location or what device they use e.g. PC, mobile
phone etc. As infrastructure is off-site (typically
provided by a third-party) and accessed via the
Internet, users can connect from anywhere.
6) Maintenance
Maintenance of cloud computing applications is
easier, since they do not need to be installed on each
user's computer and can be accessed from different
places. So, it reduces the cost also.
7) Low Cost
By using cloud computing, the cost will be reduced
because to take the services of cloud computing, IT
company need not to set its own infrastructure and
pay-as-per usage of resources.
8) Services in pay-per-use mode
Application Programming Interfaces (APIs) are
provided to the users so that they can access services
on the cloud by using these APIs and pay the charges
as per the usage of services.
1. On-demand self-service
Cloud computing resources can be provided without
human interaction from the service provider. In other
words, a manufacturing organization can provide
additional computing resources as needed without going
through the cloud service provider. This can be a storage
space, virtual machine instances, database instances, and
so on.
Manufacturing organizations can use a web self-service
portal as an interface to access their cloud accounts to
see their cloud services, their usage, and also to provide
and de-provide services as they need to.
2. Broad network access
Cloud computing resources are available over the network
and can be accessed by diverse customer platforms. It
other words, cloud services are available over a network—
ideally high broadband communication link—such as the
internet, or in the case of a private clouds it could be a
local area network (LAN).
Network bandwidth and latency (amount of time message
need to traverse a system )are very important aspects of
cloud computing and broad network access, because they
relate to the quality of service (QoS) on the network. This
is particularly important for serving time sensitive
manufacturing applications.
3. Multi-tenancy and resource pooling
Cloud computing resources are designed to support a
multi-tenant model. Multi-tenancy allows multiple
customers to share the same applications or the same
physical infrastructure while gaining privacy and security
over their information. It’s similar to people living in an
apartment building, sharing the same building
infrastructure but they still have their own apartments and
privacy within that infrastructure. That is how cloud multi-
tenancy works.
Resource pooling means that multiple customers are
serviced from the same -=physical resources. Providers’
resource pool should be very large and flexible enough to
service multiple client requirements and to provide for
economy of scale. When it comes to resource pooling,
resource allocation must not impact performances of
critical manufacturing applications.
4. Rapid elasticity and scalability
One of the great things about cloud computing is the
ability to quickly provide resources in the cloud as
manufacturing organizations need them. And then to
remove them when they don’t need them. Cloud
computing resources can scale up or down rapidly and, in
some cases, automatically, in response to business
demands. It is a key feature of cloud computing. The
usage, capacity, and therefore cost, can be scaled up or
down with no additional contract or penalties.
Elasticity is a landmark of cloud computing and it implies
that manufacturing organizations can rapidly provision and
de-provision any of the cloud computing resources. Rapid
provisioning and de-provisioning might apply to storage or
virtual machines or customer applications.
With cloud computing scalability, there is less capital
expenditure on the cloud customer side. This is because
as the cloud customer needs additional computing
resources, they can simply provision them as needed, and
they are available right away. Scalability is more planned
and gradual. For instance, scalability means that
manufacturing organizations are gradually planning for
more capacity and of course the cloud can handle that
scaling up or scaling down.
Just-in-time (JIT) service is the notion of requiring cloud
elasticity either to provision more resources in the cloud or
less. For example, if a manufacturing organization all of a
sudden needs more computing power to perform some
kind of complex calculation, this would be cloud elasticity
that would be a just-in-time service. On the other hand, if
the manufacturing organization needs to provision human-
machine interface (HMI) tags in the database for a
manufacturing project, that is not really just-in-time
service, it is planned ahead of time. So it is more on the
scalability side than elasticity.
Another feature available for rapid elasticity and scalability
in the cloud is related to testing of manufacturing
applications. If a manufacturing organization needs, for
example, a few virtual machines to test a supervisory
control and data acquisition (SCADA) system before they
roll it out in production, they can have it up and running in
minutes instead of physically ordering and waiting for
hardware to be shipped.
In terms of the bottom line, when manufacturing
organizations need to test something in the cloud, they are
paying for what they use as they use it. As long as they
remember to de-provision it, they will no longer be paying
for it. There is no capital expense here for computer
resources. Manufacturing organizations are using the
cloud provider’s investment in cloud computing resources
instead. This is really useful for testing smart
manufacturing solutions.
5. Measured service
Cloud computing resources usage is metered and
manufacturing organizations pay accordingly for what they
have used. Resource utilization can be optimized by
leveraging charge-per-use capabilities. This means that
cloud resource usage—whether virtual server instances
that are running or storage in the cloud—gets monitored,
measured and reported by the cloud service provider. The
cost model is based on "pay for what you use"—
the payment is variable based on the actual consumption
by the manufacturing organization.
In cloud, you don't require a high-powered (and accordingly high-priced) computer to run cloud
computing's web based applications because applications run on cloud not on desktop PC or laptop.
By using cloud computing, you need not to invest in larger numbers of more powerful servers, you
also need not to require the IT staff for handling such powerful servers.
The maintenance cost in cloud computing greatly reduces both hardware and software maintenance
for organizations of all sizes.
It reduces the software cost because you don't need to purchase separate software packages for each
computer in the organization.
Another software-related advantage in cloud computing is that users don't need to face with the
choice between obsolete software and high upgrade costs. If the app is web-based, updates happen
automatically and are available next time when the user logs in to the cloud.
6) Increased computing Power
The execution capacity of cloud servers are very high. It processes the application very fast.
Cloud offers you a huge amount of storage capacity like 2000 GB or more than that if required.
Cloud computing is impossible without Internet connection. To access any applications and documents
you need a constant Internet connection.
Similarly, a low-speed Internet connection makes cloud computing painful at best and often
impossible. Web based apps often require a lot of bandwidth to download, as need to download large
documents.
With cloud computing, all your data is stored in the cloud. That's all well and good, but how secure is
the cloud? Can't unauthorized users gain access to your confidential data?
CLOUD ARCHITECHTURE
Cloud Computing architecture comprises of many cloud
components, which are loosely coupled. We can broadly
divide the cloud architecture into two parts:
Front End
Back End
Front End
The front end refers to the client part of cloud computing
system. It consists of interfaces and applications that are
required to access the cloud computing platforms,
Example - Web Browser.
Back End
The back End refers to the cloud itself. It consists of all
the resources required to provide cloud computing
services. It comprises of huge data storage, virtual
machines, security mechanism, services, deployment
models, servers, etc.
Note
It is the responsibility of the back end to provide built-
CLOUD INFRASTRUCTURE
Cloud infrastructure consists of servers, storage
devices, network, cloud management software,
deployment software, and platform virtualization.
Hypervisor
Hypervisor is a firmware or low-level program that acts
as a Virtual Machine Manager. It allows to share the
single physical instance of cloud resources between
several tenants.
Management Software
It helps to maintain and configure the infrastructure.
Deployment Software
It helps to deploy and integrate the application on the
cloud.
Network
It is the key component of cloud infrastructure. It allows to
connect cloud services over the Internet. It is also
possible to deliver network as a utility over the Internet,
which means, the customer can customize the network
route and protocol.
Server
The server helps to compute the resource sharing and
offers other services such as resource allocation and de-
allocation, monitoring the resources, providing security
etc.
Storage
Cloud keeps multiple replicas of storage. If one of the
storage resources fails, then it can be extracted from
another one, which makes cloud computing more reliable.
Infrastructural Constraints
Fundamental constraints that cloud infrastructure should
implement are shown in the following diagram:
Transparency
Virtualization is the key to share resources in cloud
environment. But it is not possible to satisfy the demand
with single resource or server. Therefore, there must be
transparency in resources, load balancing and
application, so that we can scale them on demand.
Scalability
Scaling up an application delivery solution is not that easy
as scaling up an application because it involves
configuration overhead or even re-architecting the
network. So, application delivery solution is need to be
scalable which will require the virtual infrastructure such
that resource can be provisioned and de-provisioned
easily.
Intelligent Monitoring
To achieve transparency and scalability, application
solution delivery will need to be capable of intelligent
monitoring.
Security
The mega data center in the cloud should be securely
architected. Also the control node, an entry point in mega
data center, also needs to be secure.
CLOUD SERVICES
Cloud services provide many IT services traditionally hosted in-house, including
providing an application/database server from the cloud, replacing in-house
storage/backup with cloud storage and accessing software and applications directly
from a web browser without prior installation
Cloud services are built, operated and managed by a cloud service provider, which
works to ensure end-to-end availability, reliability and security of the cloud
The cloud computing service models are categorized into three different types:
1. Software as a Service (SaaS)
2. Platform as a Service (PaaS)
3. Infrastructure as a Service (IaaS)
Two other services don't fall under the major categories of the service model.
These are:
In SaaS, software and associated data are centrally hosted on the cloud server.
SaaS is accessed by users using a thin client via a web browser.
Characteristics
Here are the characteristics of SaaS service model:
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.
SaaS offers shared 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 run the same version of the software.
Benefits
Using SaaS has proved to be beneficial in terms of scalability, efficiency and
performance. Some of the benefits are listed below:
Multitenant solutions
SaaS pricing is based on a monthly fee or annual fee, SaaS allows organizations to access business
functionality at a low cost which is less than licensed applications.
Unlike traditional software which is sold as a licensed based with an up-front cost (and often an
optional ongoing support fee), SaaS providers generally pricing the applications using a subscription
fee, most commonly a monthly or annually fee.
The software is hosted remotely, so organizations don't need to invest in additional hardware.
Software as a service removes the necessity of installation, set-up, and often daily unkeep and
maintenance for organizations. Initial set-up cost for SaaS is typically less than the enterprise
software. SaaS vendors actually pricing their applications based on some usage parameters, such
as number of users using the application. So SaaS does easy to monitor and automatic updates.
All users will have the same version of software and typically access it through the web browser.
SaaS reduces IT support costs by outsourcing hardware and software maintenance and support to
the IaaS provider.
Actually data is stored in cloud, so security may be an issue for some users. However, cloud
computing is not more secure than in-house deployment. Learn more cloud security.
2) Latency issue
Because the data and application are stored in cloud at a variable distance from the end user, so
there is a possibility that there may be more latency while interacting with the application than a
local deployment. So, SaaS model is not suitable for applications whose demand response times
are in milliseconds.
Switching SaaS vendors involves the difficult and slow task of transferring the very large data
files over the Internet and then converting and importing them into another SaaS also.
No License Required
A developer is able to write the application as well as deploy it directly into this
layer easily.
In PaaS cloud computing platform, back end scalability is handled by the cloud
service provider and the end user does not have to worry about to manage the
infrastructure.
Developers can focus on development and innovation without worrying about the
infrastructure.
2) Lower risk
Some PaaS vendors also provide already defined business functionality so that
users can avoid building everything from very scratch and hence can directly start
the projects only.
4) Instant community
PaaS vendors frequently provides online communities where developer can get the
ideas, share experiences and seek advice from others.
5) Scalability
Applications deployed can scale from one to thousands of users without any
changes to the applications.
One have to write the applications according to the platform provided by PaaS
vendor so migration of an application to another PaaS vendor would be a problem.
2) Data Privacy
It may happen that some applications are local and some are in cloud. So there will
be chances of increased complexity when we want to use data which in the cloud
with the local data.
IaaS, as the name suggests, is a way of providing Cloud computing infrastructure such as virtual
machines, storage drives, servers, operating systems & networks, which is also an on-demand
service like that of SaaS. Rather than purchasing servers or developing software, clients buy those
resources as a fully outsourced service based on their requirement. "Public cloud" is considered as
an infrastructure that consists of shared resources, based on a self-service over the Internet. In one
word, it is the only layer of the cloud where the customer gets the platform for their organization to
outsource IT infrastructure on a pay-per-use basis.
In traditional hosting services, IT infrastructure was rented out for a specific periods of time,
with pre-determined hardware configuration. The client paid for the configuration and time,
regardless of the actual use. With the help of IaaS cloud computing platform layer, clients can
dynamically scale the configuration to meet changing requires, and are billed only for the
services actually used.
IaaS cloud computing platform layer eliminates the need for every organization to maintain the
IT infrastructure.
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.
2) You easily access the vast computing power available on IaaS cloud platform.
4) IaaS cloud computing platform can limit the user privacy and customization
options.
As cloud technology is providing users with so many benefits, these benefits must have to be
categorized based on users requirement. Cloud deployment model represents the exact category of
cloud environment based on proprietorship, size, and access and also describes the nature and
purpose of the cloud. Most organizations implement cloud infrastructure to minimize capital
expenditure & regulate operating costs.
Public Cloud
Public cloud allows the accessibility of systems and
services easily to general public. Eg: Amazon, IBM,
Microsoft, Google, Rackspace etc.
Public Cloud is a type of cloud hosting that allows the accessibility of systems & its services to its
clients/users easily. Some of the examples of those companies which provide public cloud facilities
are IBM, Google, Amazon, Microsoft, etc. This cloud service is open for use. This type of cloud
computing is a true specimen of cloud hosting where the service providers render services to various
clients. From the technical point of view, there is the least difference between private clouds and
public clouds along with the structural design. Only the security level depends based on the service
providers and the type of cloud clients use. Public cloud is better suited for business purposes for
managing the load. This type of cloud is economical due to the decrease in capital overheads.
3) Flexible
4) Location Independent
5) High Scalability
2) Less customizable
PRIVATE CLOUD
Private Cloud allows systems and services to be
accessible within an organization. The Private Cloud is
operated only within a single organization. However, it
may be managed internally by the organization itself or by
third-party. The private cloud model is shown in the
diagram below.
Private Cloud also termed as 'Internal Cloud'; which allows the accessibility of systems and
services within a specific boundary or organization. The cloud platform is implemented in a
cloud-based secure environment that is guarded by advanced firewalls under the
surveillance of the IT department that belongs to a particular organization. Private clouds
permit only authorized users, providing the organizations greater control over data and its
security.
Benefits
There are many benefits of deploying cloud as private
cloud model. The following diagram shows some of those
benefits:
High Security and Privacy
Private cloud operations are not available to general
public and resources are shared from distinct pool of
resources. Therefore, it ensures
high security and privacy.
More Control
The private cloud has more control on its resources and
hardware than public cloud because it is accessed only
within an organization.
Cost and Energy Efficiency
The private cloud resources are not as cost effective as
resources in public clouds but they offer more efficiency
than public cloud resources.
Disadvantages
Here are the disadvantages of using private cloud model:
Restricted Area of Operation
The private cloud is only accessible locally and is very
difficult to deploy globally.
High Priced
Purchasing new hardware in order to fulfill the demand is
a costly transaction.
Limited Scalability
The private cloud can be scaled only within capacity of
internal hosted resources.
Additional Skills
In order to maintain cloud deployment, organization
requires skilled expertise.
Scalability
It offers features of both, the public cloud scalability and
the private cloud scalability.
Flexibility
It offers secure resources and scalable public resources.
Cost Efficiency
Public clouds are more cost effective than private ones.
Therefore, hybrid clouds can be cost saving.
Security
The private cloud in hybrid cloud ensures higher degree
of security.
Disadvantages
Networking Issues
Networking becomes complex due to presence of private
and public cloud.
Security Compliance
It is necessary to ensure that cloud services are compliant
with security policies of the organization.
Infrastructure Dependency
The hybrid cloud model is dependent on internal IT
infrastructure, therefore it is necessary to ensure
redundancy across data centers.
COMMUNITY CLOUD
Community Cloud allows system and services to be
accessible by group of organizations. It shares the
infrastructure between several organizations from a
specific community. It may be managed internally by
organizations or by the third-party. The Community Cloud
Model is shown in the diagram below.
Benefits
There are many benefits of deploying cloud
as community cloud model.
Cost Effective
Community cloud offers same advantages as that of
private cloud at low cost.
Sharing Among Organizations
Community cloud provides an infrastructure to share
cloud resources and capabilities among several
organizations.
Security
The community cloud is comparatively more secure than
the public cloud but less secured than the private cloud.
Issues
Since all data is located at one place, one must be