Cloud Unit 1
Cloud Unit 1
History of Cloud computing - Cloud Computing Architectural Framework - Types of Clouds - pros and
cons of cloud computing - difference between web 2.0 and cloud - key challenges in cloud
computing - Major Cloud players - Cloud Deployment Models - Virtualization in Cloud Computing -
types of virtualization - Parallelization in Cloud Computing - cloud resource management - dynamic
resource allocation - Optimal allocation of cloud models.
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.
At around in 1961, John MacCharty suggested in a speech at MIT that computing can be sold
like a utility, just like a water or electricity. It was a brilliant idea, but like all brilliant ideas, it
was ahead if its time, as for the next few decades, despite interest in the model, the
technology simply was not ready for it.
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.
In 2009, Google Apps also started to provide cloud computing enterprise applications.same
year 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:
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.
1) Agility
The cloud works in the distributed computing environment. It shares resources among users
and works very fast.
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.
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.
Architectural framework:
A front-end platform that can include fat clients, thin clients, and mobile devices
Back-end platforms, such as servers and storage
Cloud-based delivery
A network (internet, intranet)
At its most basic, cloud architecture can be classified into two sections: front-end and back-
end, connected to each other via a virtual network or the internet. There are other parts of
cloud architecture including middleware, cloud resources, etc., but for now we’ll just review
the basics.
Cloud services can be delivered publicly or privately using the internet and can also
remain within a company’s network when delivered over an intranet. Sometimes,
organizations make use of a combination of both.
No matter where the actual “cloud” is—a company’s own data center or a service
provider’s data center, cloud computing uses networking to enable convenient, on -
demand access to a shared pool of computing resources like networks, storage,
servers, services, and applications. By using virtualization, these assets can be
provisioned and released quickly and easily as necessary.
Types of cloud:
Public Cloud
Public cloud allows the accessibility of systems and services easily to general public.
Eg: Amazon, IBM, Microsoft, Google, Rackspace etc.
1) Low Cost
Public cloud is having low cost as compared to private or hybrid cloud, because it shares
same resources with large number of consumer.
2) Reliable
Public cloud provides large number of resources from different locations, if any of the
resource fail, public cloud can employ another one.
3) Flexible
It is very easy to integrate public cloud with private cloud and hence it gives flexible
approach to consumers.
4) Location Independent
It ensures the independency of location, because public cloud services are delivered
through Internet.
5) High Scalability
Cloud resources are available as per the demand from the pool of resources that means
they can be scaled up or down according to the requirement.
In public cloud model, data is present off-site and resources are shared publicly. Hence it
does not ensure the high level security.
2) Less customizable
Private Cloud
The Private cloud allows the accessibility of systems and services within the organization.
Private cloud is operated only within a particular organization. But it will be managed
internally or by third party.
Advantages of Private Cloud Model
Private cloud resources are shared from distinct pool of resources and hence highly secured.
2) More Control
Private clouds have more control on its resources and hardware than public cloud because it
is accessed only within the boundary of an organization.
1) Restriction
Private cloud is only accessible locally and it is very difficult to deploy globally.
2) More Cost
3) Inflexible price
4) Less Scalability
Private clouds are scaled only within capacity of internal hosted resources.
Hybrid Cloud
The Hybrid cloud is the mixture of public and private cloud. Non-critical activities are
performed by public cloud while critical activities are performed by private cloud.
1) Scalable
It provides secure resources because of private cloud and scalable resources because of public
cloud.
3) Cost effective
1) Networking issues
2) Security Compliance
It is necessary to ensure that cloud services are compliant with the security policies of an
organization.
There are various advantages of cloud computing technology. The important advantages
of cloud computing are given below.
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.
3) Fewer maintenance cost
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.
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.
2) Require High Speed 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
different websites.
The internet as a computing platform Attempt to explore and explain the business
Challenges:
Cloud computing is used for enabling global access to mutual pools of resources such as
services, apps, data, servers, and computer networks. It is done on either a third-party server
located in a data center or a privately owned cloud. This makes data-accessing contrivances
more reliable and efficient, with nominal administration effort.
Because cloud technology depends on the allocation of resources to attain consistency and
economy of scale, similar to a utility, it is also fairly cost-effective, making it the choice for
many small businesses and firms.
But there are also many challenges involved in cloud computing, and if you’re not prepared
to deal with them, you won’t realize the benefits. Here are six common challenges you must
consider before implementing cloud computing technology.
1. Cost
Cloud computing itself is affordable, but tuning the platform according to the company’s
needs can be expensive. Furthermore, the expense of transferring the data to public clouds
can prove to be a problem for short-lived and small-scale projects.
Companies can save some money on system maintenance, management, and acquisitions.
But they also have to invest in additional bandwidth, and the absence of routine control in an
infinitely scalable computing platform can increase costs.
3. Downtime
Downtime is a significant shortcoming of cloud technology. No seller can promise a platform
that is free of possible downtime. Cloud technology makes small companies reliant on their
connectivity, so companies with an untrustworthy internet connection probably want to think
twice before adopting cloud computing.
4. Password Security
Industrious password supervision plays a vital role in cloud security. However, the more
people you have accessing your cloud account, the less secure it is. Anybody aware of your
passwords will be able to access the information you store there.
Businesses should employ multi-factor authentication and make sure that passwords are
protected and altered regularly, particularly when staff members leave. Access rights related
to passwords and usernames should only be allocated to those who require them.
5. Data privacy
Sensitive and personal information that is kept in the cloud should be defined as being for
internal use only, not to be shared with third parties. Businesses must have a plan to securely
and efficiently manage the data they gather.
6. Vendor lock-in
Entering a cloud computing agreement is easier than leaving it. “Vendor lock-in” happens
when altering providers is either excessively expensive or just not possible. It could be that
the service is nonstandard or that there is no viable vendor substitute.
It comes down to buyer carefulness. Guarantee the services you involve are typical and
transportable to other providers, and above all, understand the requirements.
Cloud computing is a good solution for many businesses, but it’s important to know what
you’re getting into. Having plans to address these six prominent challenges first will help
ensure a successful experience.
Cloud players:
Top 5 cloud players
#1 Microsoft remains an absolute lock at the top due to four factors: its deep involvement at
all three layers of the cloud (IaaS, PaaS and SaaS); its unmatched commitment to developing
and helping customers deploy AI, ML and Blockchain in innovative production
environments; its market-leading cloud revenue, which I estimate at about $16.7 billion for
the trailing 12 months (not to be confused with the forward-projected $20.4 billion
annualized run rate the company released on Oct. 26); and the extraordinary vision and
leadership of CEO Satya Nadella.
#2 Amazon might not have the end-to-end software chops of the others in the Top 5 but it
was and continues to be the poster-child for the cloud-computing movement: the first-moving
paradigm-buster and category creator. I believe Amazon will make some big moves to bolster
its position in software, and no matter how you slice it, the $16 billion in trailing-12-month
cloud revenue from AWS is awfully impressive.
#3 IBM has leapfrogged both Salesforce.com (formerly tied with Amazon for #2 and now in
the #4 spot) and SAP (formerly #4) on the strength of its un-trendy but highly successful
emphasis on transforming its vast array of software expertise and technology from the on-
premises world to the cloud. In so doing, IBM has quietly created a $15.8-billion cloud
business (again on trailing-12-month basis) that includes revenue of $7 billion from helping
big global corporations convert legacy systems to cloud or cloud-enabled environments. And
like #1 Microsoft, IBM plays in all three layers of the cloud—IaaS, PaaS and SaaS—which is
hugely important for the elite cloud vendors because it allows them to give customers more
choices, more seamless integration, better cybersecurity, and more reasons for third-party
developers to rally to the IBM Cloud. Plus, its relentless pairing of "cloud and cognitive" is
an excellent approach toward weaving AI and ML deeply into customer-facing solutions.
#4 Salesforce.com falls a couple of spots from its long-time tie with Amazon at #2 but—and
this will be the case as long as founder Marc Benioff is CEO—remains a powerful source of
digital innovation and disruptive strategy. However, to remain in the rarified air near the top
of the Cloud Wars Top 10, Benioff and Salesforce must find a way to extend their market
impact beyond their enormously successful SaaS business and become more of a high-impact
player in the platform or PaaS space. At this stage, it's simply not possible for Salesforce to
become a player in IaaS, so Benioff needs to crank up the genius machine and hammer his
way into top contention as a platform powerhouse.
#5 SAP has what all of the other cloud vendors would kill for: unmatched incumbency within
all of the world's leading corporations as the supplier of mission-critical business applications
that run those companies. It's also fashioned, under CEO Bill McDermott, powerful new
partnerships with Amazon and Google to complement its long-standing relationships with
IBM and Microsoft, all of which give customers a heightened sense of confidence that SAP
will be willing and able to play nice in heterogeneous environments. Plus, SAP's HANA
technology is now in full deployment across thousands of businesses, and as it takes root and
SAP continues to rationalize its massive product portfolio around HANA in the cloud, SAP
has a very bright future ahead of it in the cloud.
Deployment models:
As the 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 the cloud infrastructure to
minimize capital expenditure & regulate operating costs.
The National Institute of Standards and Technology (NIST) is an agency under the scope of
US Department of Commerce which is responsible for expounding & defining standards in
Science and Technology. The Computer Security Division of NISD has provided a formal
definition of Cloud computing. The US government is a major consumer of computer
technology and also one of the major cloud computing network users. According to the NIST
working definition of cloud, deployment model is one of the two categories of model
illustrated by NIST. The NIST model doesn't require a cloud technology to use virtualization
to share resources. Cloud support multi-tenancy; multi-tenancy is the concept of sharing of
resources among two or more clients. The latest NIST model of cloud computing requires
virtualization and utilizes the concept of multi-tenancy.
To know which deployment model matches your requirement and desire, it is necessary for
users as well as learners to understand the four sub-categories of models for deployment.
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 the 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.
The advantages of the Public cloud are:
Flexible
Reliable
High Scalable
Low cost
Place independence
Less Secured
Poor Customizable
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.
Business organizations that have dynamic, critical, secured, management demand based
requirement should adopt Private Cloud.
Highly private and secured: Private cloud resource sharing is highly secured.
Control Oriented: Private clouds provide more control over its resources than public cloud
as it can be accessed within the organization's boundary.
Poor scalability: Private type of clouds is scaled within internal limited hosted resources.
Costly: As it provides secured and more features, so it's more expensive than a public cloud.
Pricing: is inflexible; i.e., purchasing new hardware for up-gradation is more costly.
Hybrid Cloud is another cloud computing type, which is integrated, i.e., it can be a
combination of two or more cloud servers, i.e., private, public or community combined as
one architecture, but remain individual entities. Non-critical tasks such as development and
test workloads can be done using public cloud whereas critical tasks that are sensitive such as
organization data handling are done using a private cloud. Benefits of both deployment
models, as well as community deployment model, are possible in a hybrid cloud hosting. It
can cross isolation and overcome boundaries by the provider; hence, it cannot be simply
categorized into any of the three deployments - public, private or community cloud.
Community Cloud
It is another type of cloud computing in which the setup of the cloud is shared manually
among different organizations that belong to the same community or area. Example of such a
community is where organizations/firms are there along with the financial institutions/banks.
A multi-tenant setup developed using cloud among different organizations that belong to a
particular community or group having similar computing concern.
For joint business organizations, ventures, research organizations and tenders community
cloud is the appropriate solution. Selection of right type of cloud hosting is essential in this
case. Thus, community-based cloud users need to know and analyze the business demand
first.
Virtualization
The term 'Virtualization' can be used in many respect of computer. It is the process of
creating a virtual environment of something which may include hardware platforms, storage
devices, OS, network resources, etc.
Virtualization is the ability which allows sharing the physical instance of a single application
or resource among multiple organizations or users. This technique is done by assigning a
name logically to all those physical resources & provides a pointer to those physical
resources based on demand.
Over an existing operating system & hardware, we generally create a virtual machine which
and above it we run other operating systems or applications. This is called Hardware
Virtualization. The virtual machine provides a separate environment that is logically distinct
from its underlying hardware. Here, the system or the machine is the host & virtual machine
is the guest machine. This virtual environment is managed by a firmware which is termed as
a hypervisor.
These are:
Grid Approach: where the processing workloads are distributed among different physical
servers, and their results are then collected as one.
With hypervisor's virtualization, there are various sub-approaches to fulfill the goal to run
multiple applications & other loads on a single physical host. A technique is used to allow
virtual machines to move from one host to another without any requirement of shutting down.
This technique is termed as "Live Migration". Another technique is used to actively load
balance among multiple hosts to efficiently utilize those resources available in a virtual
machine, and the concept is termed as Distributed Resource Scheduling or Dynamic
Resource Scheduling.
The virtualization of cloud has been categorized into four different types based on their
characteristics. These are:
Hardware Virtualization
Full Virtualization
Emulation Virtualization
Para-virtualization
Software Virtualization
OS Virtualization
Server Virtualization
Storage Virtualization
Virtualization plays a significant role in cloud technology and its working mechanism.
Usually, what happens in the cloud - the users not only share the data that are located in the
cloud like an application but also share their infrastructures with the help of virtualization.
Virtualization is used mainly to provide applications with standard versions for the cloud
customers & with the release of the latest version of an application the providers can
efficiently provide that application to the cloud and its users and it is possible using
virtualization only. By the use of this virtualization concept, all servers & software other
cloud providers require those are maintained by a third-party, and the cloud provider pays
them on a monthly or yearly basis.
In reality, most of the today's hypervisor make use of a combination of different types of
hardware virtualization. Mainly virtualization means running multiple systems on a single
machine but sharing all resources (hardware) & it helps to share IT resources to get benefit in
the business field.
Hardware Virtualization
It is the abstraction of computing resources from the software that uses cloud resources. It
involves embedding virtual machine software into the server's hardware components. That
software is called the hypervisor. The hypervisor manages the shared physical hardware
resources between the guest OS & the host OS. The abstracted hardware is represented as
actual hardware. Virtualization means abstraction & hardware virtualization is achieved by
abstracting the physical hardware part using Virtual Machine Monitor (VMM) or hypervisor.
Hypervisors rely on command set extensions in the processors to accelerate common
virtualization activities for boosting the performance. The term hardware virtualization is
used when VMM or virtual machine software or any hypervisor gets directly installed on the
hardware system. The primary task of the hypervisor is to process monitoring, memory &
hardware controlling. After hardware virtualization is done, different operating systems can
be installed, and various applications can run on it. Hardware virtualization, when done for
server platforms, is also called server virtualization.
Software virtualization
It is also called application virtualization is the practice of running software from a remote
server. Software virtualization is similar to that of virtualization except that it is capable to
abstract the software installation procedure and create virtual software installation. Many
applications & their distributions became typical tasks for IT firms and departments. The
mechanism for installing an application differs. So virtualized software is introduced which is
an application that will be installed into its self-contained unit and provide software
virtualization. Some of the examples are Virtual Box, VMware, etc.
The DLL (Data Link Layer) redirect the entire virtualized program's calls to the file system
of the server. When the software is run from the server in this procedure, no changes are
required to be made on the local system.
Ease of Client Deployment: Virtual software makes it easy to link a file in a network or file
copying to the workstation.
Software Migration: Before the concept of virtualization, shifting from one software
platform to another was time-consuming; and has a significant impact on the end-system
user. The software virtualization environment makes migration easier.
It is the division of physical server into several virtual servers and this division is mainly
done to improvise the utility of server resource. In other word it is the masking of resources
that are located in server which includes the number & identity of processors, physical
servers & the operating system. This division of one physical server into multiple isolated
virtual servers is done by server administrator using software. The virtual environment is
sometimes called the virtual private-servers.
Server virtualization:
In this process, the server resources are kept hidden from the user. This partitioning of
physical server into several virtual environments; result in the dedication of one server to
perform a single application or task.
This technique is mainly used in web-servers which reduces the cost of web-hosting services.
Instead of having separate system for each web-server, multiple virtual servers can run on the
same system/computer.
These are:
Virtual Machine model
Para-virtual Machine model
Virtual Machine model: are based on host-guest paradigm, where each guest runs on a
virtual replica of hardware layer. This technique of virtualization provide guest OS to run
without modification. However it requires real computing resources from the host and for this
a hypervisor or VM is required to coordinate instructions to CPU.
Para-Virtual Machine model: is also based on host-guest paradigm & uses virtual machine
monitor too. In this model the VMM modifies the guest operating system's code which is
called 'porting'. Like that of virtual machine, similarly the Para-virtual machine is also
capable of executing multiple operating systems. The Para-virtual model is used by both Xen
& UML.
Storage virtualization:
It pools the physical storage from different network storage devices and makes it appear to be
a single storage unit that is handled from a single console. As we all know there has been a
strong bond between physical host & locally installed storage device; and with the change in
paradigm, local storage is no longer needed. More advanced storage has come to the market
with an increase in functionality. Storage virtualization is the significant component of
storage servers & facilitates management and monitoring of storage in a virtualized
environment.
Storage virtualization helps the storage administrator to backup, archive and recovery data
more efficiently, in less amount of time by masking the actual complexity of SAN (Storage
Area Network). Through the use of software hybrid appliances, the storage administrator can
implement virtualization.
Storage virtualization is becoming more and more important in different forms such as:
Storage Tiering: Using the storage technique as a bridge or as a stepping stone, this
technique analyzes and select out the most commonly used data & place it on its highest
performing storage pool and the least used data in the weakest performance storage pool.
WAN Environment: Instead of sending multiple copies of the same data over WAN, WAN
accelerator is used to locally cache the data and present it in a LAN speed, and not impacting
the WAN performance.
SAN Storage: SAN technology present the storage as block-level storage & the storage is
presented over the Ethernet network of OS.
File Server: OS writes the data to a remote server location to keep it separate and secure
from local users.
Advantages:
Data is stored in a very convenient location. This is because if the host failure data don't get
compromised necessarily.
By using storage level abstraction, it becomes flexible how storage is provided, protected,
partitioned and used.
Storage Devices are capable of performing advanced functions such as disaster recovery,
duplication
As in cloud technology, virtualization plays an important role to make things easy and
efficiently done, virtualization also need to be done at the OS level also. With the technique
of virtualized OS, nothing is required to be pre-installed or permanently loaded on the local
storage device. Everything runs from network using a virtual; simulation & that virtual disk is
a disk-image (file) that remotely stored on a server i.e. Storage Area Network (SAN) or Non-
Volatile Attached Storage (NAS)
It is also called OS-level virtualization is a type of virtualization technology which work on
OS layer. Here the kernel of an OS allows more than one isolated user-space instances to
exist. Such instances are called containers/software containers or virtualization engines. In
other words, OS kernel will run a single operating system & provide that operating system's
functionality to replicate on each of the isolated partitions.
Used for securely allocation of finite hardware resources among a large number of
distrusting users.
System administrator uses it to integrate server hardware by moving services on
separate hosts.
To improvised security by separating several applications to several containers.
These forms of virtualization don't require hardware to work efficiently.
The steps for how these virtualization works are listed below
Parallel computation can be classified as bit-level, instructional level, data and task
parallelism.
Cloud resource management
O Performance.
O Cost.
O Cloud service providers are faced with large fluctuating loads which
challenge the claim of cloud elasticity
- The strategies for resource management for IaaS, PaaS, and SaaS are
different.
- Cloud resource management (CRM) policies
- Effective and dynamic utilization of the resources in cloud can help to balance
the load and avoid situations like slow run of systems.
- Virtual Machines are allocated to the user based on their job in order to
reduce the number of physical servers in the cloud environment
- If the VM is not available then the algorithm finds a low priority job taking into
account the job’s lease type.
- The low priority job is paused its execution by pre-empting its resource.
- The high priority job is allowed to run on the resources pre-empted from the
low priority.
- When any other job running on VMs are completed, the job which was paused
early can be resumed if the lease type of the job is suspendable.
- If not, the suspended job has to wait for the completion of high priority job
running in its resources, so that it can be resumed.
- The optimal allocation of computing resources is a core part for implementing cloud
computing.
- High heterogeneity, high dynamism, and virtualization make the optimal allocation problem
more complex than the traditional scheduling problems in grid system or cloud computing
system.