Академический Документы
Профессиональный Документы
Культура Документы
Clouds also support non grid environments, such as a three-tier Web architecture
running Standard or Web 2.0 applications. A cloud is more than a collection of computer
resources because a cloud provides a mechanism to manage those resources. Management
includes provisioning, change requests, reimaging, workload rebalancing, deprovisioning,
and monitoring.
A cloud infrastructure can be a cost efficient model for delivering information services,
reducing IT management complexity, promoting innovation, and increasing responsiveness
through real time workload balancing. The Cloud makes it possible. The term cloud is used
as a metaphor for the Internet, based on how the Internet is depicted in computer network
diagrams and is an abstraction for the complex infrastructure it conceals.
1
Figure 1.1 – The cloud
A cloud is a type of parallel and distributed system consisting of a collection of
interconnected and virtualized computers that are dynamically provisioned and presented as
one or more unified computing resources based on service-level agreements established
through negotiation between the service provider and consumers.
At a cursory glance, Clouds appear to be a combination of clusters and Grids. However,
this is not the case. Clouds are clearly next-generation data centers with nodes “virtualized”
through hypervisor technologies such as VMs, dynamically “provisioned” on demand as a
personalized resource collection to meet a specific service-level agreement, which is
established through a “negotiation” and accessible as a compostable service via “Web 2.0”
technologies.
2
1.2 What is computing?
Computing is usually defined as the activity of using and developing computer technology,
computer hardware, and software. It is the computer-specific part of information technology.
Computer science (or computing science) is the study and the science of the theoretical
foundations of information and computation and their implementation and application in
computer systems.
“In a general way, we can define computing to mean any goal-oriented activity requiring,
benefiting from, or creating computers. Thus, computing includes designing and building
hardware and software systems for a wide range of purposes; processing, structuring, and
managing various kinds of information; doing scientific studies using computers; making
computer systems behave intelligently; creating and using communications and entertainment
media; finding and gathering information relevant to any particular purpose, and so on. The
list is virtually endless, and the possibilities are vast.”
3
2.THE CLOUD COMPUTING – AN INTRODUCTION
2.1 Definition
Cloud Computing, which refers to the concept of dynamically provisioning
processing time and storage space from a ubiquitous “cloud” of computational
resources, allows users to acquire and release the resources on demand and provide
access to data from processing elements, while relegating the physical location and
exact parameters of the resources. As the user could see, Cloud Computing means
scalability on demand, flexibility to meet business changes and easy to use and
manage.
According to Wikipedia, Cloud computing is a style of computing in which
dynamically scalable and often virtualized resources are provided service over
the Internet. Users need not have knowledge of, expertise in, or control over the
technology infrastructure in the "cloud" that supports them.
4
vendor and that can be used by a cloud consumer on a ‘pay per use’ basis. These services are
exposed as industry standard interfaces like web services (using service oriented architecture,
SOA [4]) or any proprietary (though rarely) services.
Cloud computing seems to offer some incredible benefits for communicators: the availability
of an incredible array of software applications, access to lightning-quick processing power,
unlimited storage, and the ability to easily share and process information. All of this is available
through your browser any time you can access the Internet. While this might all appear enticing,
there remain issues of reliability, portability, privacy, and security.
5
3. EVOLUTION OF CLOUD COMPUTING
The trend toward cloud computing started in the late 1980s with the concepts of grid
computing when, for the first time, a large number of systems were applied to a single
problem, usually scientific. Many people ask us what the difference is between grid and
cloud computing. The primary difference is how each provides the needed resources to a
workload.
6
• In a cloud environment, computing resources, such as servers, can be
dynamically shaped or carved out from its underlying hardware infrastructure
and made available to a workload. In addition, while a cloud does support grid, a
cloud can also support nongrid environments, such as a three-tier Web
architecture running traditional or Web 2.0 applications.
In the 1990s the concept of virtualization was expanded beyond virtual servers to higher
levels of abstraction, first the virtual platform, and second the virtual application. Utility
computing offered clusters as virtual platforms for computing with a metered business model.
More recently software as a service (SaaS) raised the level of virtualization to the
application, with a business model of charging not by the resources consumed, but by the
value of the application to subscribers.
The concept of cloud computing has evolved from the concepts of grid, utility, and SaaS. It
is an emerging model where users can gain access to their applications from anywhere
through their connected devices. These applications reside in massively-scalable data centers
where compute resources can be dynamically provisioned and shared to achieve significant
economies of scale. The proliferation of smart mobile devices, high speed wireless
connectivity, and rich browser based Web 2.0 interfaces has made the network-based cloud
computing model not only practical but also a source of reduced IT complexity.
7
Figure 3.2 - Computing paradigm shift. (Over six distinct phases, computers
have evolved from dummy terminals to grids and clouds)
8
4 . CLOUD SERVICES OFFERINGS
9
Figure 4.1 – Services at a Glance
4.3 Infrastructure as a Service (IaaS)
a. Infrastructure as a service delivers basic storage and compute capabilities as
standardized services over the network. Servers, storage systems, switches,
routers, and other systems are pooled and made available to handle workloads
that range from application components to high-performance computing
applications.
b. Commercial examples of IaaS include Joyent, whose main product is a line of
virtualized servers that provide a highly available on-demand infrastructure.
10
11
Figure 4.3 – Cloud computing service providers
12
5. WHAT IS INSIDE THE CLOUD – AN ARCHITECTURE MAP
How do we compare and understand these Cloud technologies and services from a
technology, software architectural, and from a business perspective? As a first step towards
answering these questions, we propose a generic Cloud computing stack that classifies Cloud
technologies and services into different layers. We explain each layer through examples and
demonstrate how this model helps in explaining the overall Cloud computing landscape.
13
5.1 Infrastructure as a Service
On the lowest level of the infrastructure closest to the hardware we distinguish two types of
services, Physical Resource Set (PRS) and Virtual Resource Set (VRS) services. Both of these
service types provide a management front-end application for a set or pool of resources in
order to allow higher level services to automate setup and tear-down, demand based scalability,
fail-over, and operating system hosting. Primary functionality includes starting and stopping
individual resources, OS imaging, and network topology setup and capacity configuration.
Moving up to the PaaS level of our integrated stack we categorize the services into
Programming Environments and Execution Environments. Example of the former is Sun’s
project Caroline and the Django framework, and examples of the latter are Google’s App
Engine, Joyent’s Reasonably Smart and Microsoft’s Azure. As seen by these examples an
Execution Environment PaaS typically also encompasses a Programming Environment PaaS.
From a platform point of view, an operating system provides a set of basic interfaces for
applications to use. By far the most well-known example of an operating system in the cloud
today is Amazon’s Elastic Compute Cloud (EC2). EC2 provides customer-specific Linux
instances running in virtual machines (VMs). From a technical perspective, it might be more
accurate to think of EC2 as a platform for VMs rather than operating systems.
14
Figure 5.2 – Cloud stack
All the applications that run on the Cloud and provide a direct service to the customer are
located in the SaaS layer. The application developers can either use the PaaS layer to develop
and run their applications or directly use the IaaS infrastructure. Here we distinguish between
Basic Application Services and Composite Application Services. Examples of Basic
Application Services are the OpenId, Amazon’s EC2 and Google Maps services.
15
6 . SEVEN STANDARDS OF CLOUD COMPUTING SERVICES
16
7. HOW DOES IT WORK? - OPERATING PRINCIPLE
17
8. TYPES OF CLOUD
All of the architectural and organizational considerations mentioned thus far generally apply to
all implementations of a cloud infrastructure. As we focus on building the cloud, a number of
models have been developed for (deploying?) a cloud infrastructure:
In simple terms, public cloud services are characterized as being available to clients from
a third party service provider via the Internet. The term “public” does not always mean
free, even though it can be free or fairly inexpensive to use. A public cloud does not
mean that a user’s data is publically visible; public cloud vendors typically provide an
access control mechanism for their users. Public clouds provide an elastic, cost effective
means to deploy solutions.
A private cloud offers many of the benefits of a public cloud computing environment,
such as being elastic and service based. The difference between a private cloud and a
public cloud is that in a private cloud-based service, data and processes are managed
within the organization without the restrictions of network bandwidth, security exposures
18
and legal requirements that using public cloud services might entail. In addition, private
cloud services offer the provider and the user greater control of the cloud infrastructure,
improving security and resiliency because user access and the networks used are
restricted and designated.
A community cloud is controlled and used by a group of organizations that have shared
interests, such as specific security requirements or a common mission. The members of
the community share access to the data and applications in the cloud.
19
Figure 8.3 – Community cloud
20
9.1 Agility
Agility improves with users able to rapidly and inexpensively re-provision
technological infrastructure resources. The cost of overall computing is unchanged,
however, and the providers will merely absorb up-front costs and spread costs over a
longer period.
9.2 Cost
Cost is claimed to be greatly reduced and capital expenditure is converted to
operational expenditure. This ostensibly lowers barriers to entry, as infrastructure is
typically provided by a third-party and does not need to be purchased for one-time or
infrequent intensive computing tasks. Pricing on a utility computing basis is fine-grained
with usage-based options and fewer IT skills are required for implementation (in-house).
Some would argue that given the low cost of computing resources, that the IT burden
merely shifts the cost from in-house to outsourced providers. Furthermore, any cost
reduction benefit must be weighed against a corresponding loss of control, access, and
security risks.
9.3 Device and location independence
Device and location independence enable users to access systems using a web
browser regardless of their location or what device they are using (e.g., PC, mobile). As
infrastructure is off-site (typically provided by a third-party) and accessed via the
Internet, users can connect from anywhere.
9.4 Multi-tenancy
Multi-tenancy enables sharing of resources and costs across a large pool of users
thus allowing for:
• Centralization of infrastructure in locations with lower costs (such as real estate,
electricity, etc.)
• Peak-load capacity increases (users need not engineer for highest possible load-
levels)
• Utilization and efficiency improvements for systems that are often only 10–20%
utilized.
21
9.5 Reliability
Reliability improves through the use of multiple redundant sites, which makes
cloud computing suitable for business continuity and disaster recovery. Nonetheless,
many major cloud computing services have suffered outages, and IT and business
managers can at times do little when they are affected.
9.6 Scalability
Scalability via dynamic ("on-demand") provisioning of resources on a fine-
grained, self-service basis near real-time, without users having to engineer for peak loads.
Performance is monitored and consistent and loosely-coupled architectures are
constructed using web services as the system interface.
9.7 Security
Security typically improves due to centralization of data, increased security-
focused resources, etc. Providers typically log accesses, but accessing the audit logs
themselves can be difficult or impossible. Ownership, control, and access to data
controlled by "cloud" providers may be made more difficult, just as it is sometimes
difficult to gain access to "live" support with current utilities.. Currently, many
developers are implementing OAuth (open protocol for secure API authorization), as it
allows more granularity of data controls across cloud applications.
9.8 Sustainability
Sustainability comes about through improved resource utilization, more efficient
systems, and carbon neutrality. Nonetheless, computers and associated infrastructure are
major consumers of energy. A given (server-based) computing task will use some amount
of energy whether it is on-site, or off.[
22
10. VIRTUALIZATION IN CLOUD COMPUTING
10.1 Virtualization
Virtualization refers to the abstraction of logical resources away from their underlying
physical resources in order to improve agility and flexibility, reduce costs and thus enhance
business value. In a virtualized environment, computing environments can be dynamically
created, expanded, shrunk, or moved as demand varies. Virtualization is therefore
extremely well suited to a dynamic cloud infrastructure, because it provides important
advantages in sharing, manageability, and isolation (that is, multiple users and applications
can share physical resources without affecting one another). Virtualization allows a set of
underutilized physical servers to be consolidated into a smaller number of more fully
utilized physical servers, contributing to significant cost savings.
23
10.2 Automation
Infrastructure administration is one of the major challenges in a virtualization
environment. Simply building a virtualization environment without the proper approach to
administration can increase complexity and thus generate added costs—costs high enough
to cancel out the cost savings derived from virtualization in the first place. Automation is
the key to managing these problems. It is critical that a cloud be equipped with tools that
facilitate, simplify, and enable management of the physical environment that provides the
virtual server resources.
24
operations cannot be allowed to alter the state of any other virtual machine, the
control program, or the hardware.
• isolating users from each other (and from the control program) and
25
gigabytes or terabytes of data needed is important. But access rates are often more
important.
Being able to only read sixty megabytes per second may limit your processing
capabilities below your computer capabilities. Individual disks have limits on the rate at
which they can process data. A single computer may have multiple disks. So data
placement can be an important factor in achieving high data access rates. Spreading the
data over multiple computer nodes may be desired, or having all the data reside on a single
node may be required for optimal performance.
26
Figure 10.3 - Secure virtual computing
Typically a single machine has both computer power and disks. The ratio of disk
capability to computer capability is fairly static. With the Google file system, the single
node’s computer power can be used against very large data by accessing the data through
the network and staging it on the local disk. Alternatively, if the problem lends itself to
distribution, then many computer nodes can be used allowing their disks to also be
involved.
10.6 Desktop virtualization (Virtual Desktop)
27
Desktop virtualization (or Virtual Desktop Infrastructure) is a server-centric computing
model that borrows from the traditional thin-client model but is designed to give system
administrators and end-users the best of both worlds: the ability to host and centrally
manage desktop virtual machines in the data center while giving end users a full PC
desktop experience. The user experience is intended to be identical to that of a standard PC,
but from a thin client device or similar, from the same office or remotely.
10.6.1 Advantages
a. Instant provisioning of new desktops.
28
Figure 10.5 – Comparison of Traditional & Virtual Desktop Computing
29
11. APPLICATIONS
There will be to many applications of cloud computing, but its most important use is in IT
industry. The other fields where the cloud computing may be used are as follows:
• Aerospace
• Defense
• Telecommunications
• Energy
• Healthcare
• Financial services
• Government
• Non‐profit
• Media
• Manufacturing
30
Figure 11.1 - Global Cloud exchange and market infrastructure for trading
services
In order to benefit the most from cloud computing, developers must be able to refractor
their applications so that they can best use the architectural and deployment paradigms that
cloud computing supports. The benefits of deploying applications using cloud computing
include reducing run time and response time, minimizing the risk of deploying physical
infrastructure, lowering the cost of entry, and increasing the pace of innovation.
31
Figure 12.1 – Cloud Computing Benefits
32
a. Because infrastructure is rented, not purchased, the cost is controlled, and the
capital investment can be zero.
b. Applications are developed more by assembly than programming. This rapid
application development is the norm, helping to reduce the time to market,
33
13 . CHALLENGES & THREATS
The virtualization technologies that underlie the cloud computing infrastructures pose
challenges on enforcing security policy when we have a sense of ambiguity concerning the
actual physical properties of the resources. While the cloud offers several advantages, until
some of the risks are better understood. Some threats & challenges posed to service providers
as follows:
13.1 Challenges
• Data and security: If the organization uses a cloud based solution, it should
maintain its own data backups in addition to those saved by the cloud provider.
Authentication credential management poses another cloud security concern. For
example, Amazon provides IaaS services through its elastic cloud computing (EC2).
These account holders receive public-key credentials for connecting to the servers but
due to only one set of credentials per account. This makes it difficult to run applications
in multiple places.
• SaaS concerns: With SaaS, users must rely heavilyon their cloud providers for
security. the provider must protect the underlying infrastructure from break-ins and
generally has responsibility for all authentication and encryption.
• PaaS concerns: With PaaS, the provider might give some control to the people
building applications atop its platform.
• IaaS concerns: With IaaS, the developer has much better control over the
security environment, primarily because applications run on virtual machines. Backing up
data poses another concern. Even though some providers do their own backups for the
customer, much can still go wrong.
13.2 Threats
• Use of cloud computing means dependence on others and that could possibly limit
flexibility and innovation. Security could prove to be a big issue. It is still unclear how
safe outsourced data is and when using these services ownership of data is not always
clear.
34
• There are also issues relating to policy and access. What happens if the remote server goes
down? How will you then access files?
35
15. BIBLIOGRAPHY / REFERENCES
36
[13]. www.salesforce.com/cloudcomputing
[14]. N. Leavitt, “Is Cloud Computing Really Ready for Prime Time?” Computer,
vol. 42, no. 1, 2009, pp. 15–20.
[15]. IEEE Computer Society, [www.computer.org]
37