2. *
*The idea of cloud computing is almost as old as
the computer itself. The concept was born in
the 1960s from the ideas of pioneers like J.C.R.
Licklider (instrumental in the development of
ARPANET) envisioning computation in the form
of a global network and John McCarthy (who
coined the term “artificial intelligence”)
framing computation as a public utility. Some
of the first uses included the processing of
financial transactions and census data.
3. *
1. First Age: In the beginning of the first age the focus
was on big infrastructure mainframes, big point-to-
point networks, and centralized databases.
2. Second Age: The second age of computing is really
the story of the rise of the Internet, Sun, Cisco,
Mosaic, web 1.0, eBay, Yahoo, baby.com, and the
first Internet Bubble.
3. Third Age: Revealing individual services, even select
customer data as callable services one of the key
application lessons that is leading to the third age
such as Amazon.
4. *
*Software as a Service (SaaS),
*Platform as a Service (PaaS),
*Infrastructure as a Service (IaaS)
5. *
*Include the delivery of computer hardware
(servers, storage, networking technology, and
data center space) as a service. It may also
include the delivery of virtualization and
operating systems technology to manage the
resources
6. *
*Is the delivery of more than just infrastructure.
It delivers what you might call a solution stack
an integrated set of software that provides
everything a developer needs to build an
application for both software development and
runtime.
7. *
Delivering of business applications designed for a
specific purpose. Software as a Service comes in two
distinct modes:
*Simple multi-tenancy: Each customer has its own
resources that are segregated from those of other
customers. It amounts to a relatively unproductive
form of multi-tenancy.
*Fine-grain multi-tenancy: propose the same level
of segregation but is far more efficient. All
resources are common, but customer data and
access capabilities are segregated through the
application.
9. *
Parallel computing allows us to solve large
problems by splitting them into smaller ones and
solving them concurrently. Parallel hardware and
software systems allow us to solve problems
demanding more resources than those provided
by a single system and, at the same time, to
reduce the time required to obtain a solution.
10. *
1. Bit level parallelism. The number of bits processed per clock
cycle, often called a word size, has increased gradually from
4-bit processors to 8-bit, 16-bit, 32-bit, and since 2004 to 64-
bit. This has reduced the number of instructions required to
process larger size operands and allowed a significant
performance improvement.
2. Instruction-level parallelism. Today’s computers use multi-
stage processing pipelines to speed up execution. Once an n-
stage pipeline is full, an instruction is completed at every
clock cycle. A “classic” pipeline of a RISC (Reduced
Instruction Set Computing) architecture consists of five stages
: instruction fetch, instruction decode, instruction execution,
memory access, and write back. A CISC (Complex Instruction
Set Computing) architecture could have a much large number
of pipelines stages, e.g., an Intel Pentium 4 processor has a
35-stage pipeline.
11. *
3. Data parallelism or loop parallelism. The
program loops can be processed in parallel.
4. Task parallelism. The problem can be
decomposed into tasks that can be carried out
concurrently. A widely used type of task
parallelism is the SPMD (Same Program
Multiple Data) paradigm. As the name
suggests individual processors run the same
program but on different segments of the
input-data. Data dependencies cause
different flows of control in individual
tasks.
12. *
*A distributed system is a collection of
autonomous computers, connected through a
network and distribution software called
middleware, which enables computers to
coordinate their activities and to share the
resources of the system; the users perceive the
system as a single, integrated computing
facility.
13. *
*Concurrency means that several activities are
executed simultaneously. Concurrency is
exploited by application software to speed up
a computation and to allow a number of clients
to access a service. Parallel applications
partition the workload and distribute it to
multiple threads running concurrently. The
Message Passing Interface (MPI) supports both
synchronous and asynchronous communication
and it is often used by parallel and distributed
applications.
14. *
* Cloud interoperability and integration standards, covering cloud to-
cloud (C2C) integration, hybrid-to-private cloud integration, and
interoperability of various cloud patterns with one another.
* Cloud interface standards and application programmer interfaces
(APIs) to facilitate the consumption of cloud to support specific
business requirements, standardize the access to and invocation of
cloud computing, and more.
* Cloud discovery, portability, onboarding and off boarding models, and
cloud provider abstraction to enable seamless switching of cloud
providers without disrupting business operations.
* Cloud performance benchmarks to guide consumers on how cloud can
increase asset utilization, resource optimization, and other
performance guides, as well as pricing model standardization of
various a la carte cloud models (e.g., comparing Amazon’s web
services to other cloud service and solution providers).
15. *
*Cloud governance standards for design-time planning,
architecture, modeling, and deployment, as well as
run-time standards for management, monitoring,
operations and support, quality of service (QoS), and
service level agreements (SLAs).
*Cloud security and privacy concerns, such as data
integrity, physical and logical security, and all other
related security requirements for services,
applications, and interactions in a cloud ecosystem.
*Cloud standards for various tiers of cloud enablement,
such as virtualization standards for physical resources,
as well as virtualization of applications, application
infrastructure and containers, and more.
18. *
1. Cloud Physical Tier. Provides the physical computing,
storage, network, and security resources that are
virtualized and cloud enabled to support cloud
requirements. The cloud physical tier has nothing to do
with cloud, specifically. The physical tier provides the
substrate on which cloud virtualization technologies and
cloud operating systems platforms build to enable higher
order cloud patterns to be realized. While we identify the
Cloud Physical Tier in this discussion, we will not
reference it further in the Cloud computing reference
model.
2. Cloud Virtualization Tier. Provides core physical
hardware virtualization and provides a potentially useful
(in certain situations) foundation for cloud computing.
19. *
4. Cloud Operating System Tier. Provides the cloud computing
‘‘fabric,’’ as well as application virtualization, core cloud
provisioning, metering, billing, load balancing,
workflow, and related functionality typical of cloud
platforms. The Cloud OS tier is represented by a wide variety
of new cloud platforms and cloud enablement technologies.
5. Cloud Platform Tier. Provides the technical solutions, application
and messaging middleware, application servers, et cetera
that comprise cloud- and/or application platforms, as well as
pre-integrated cloud- and application platforms themselves,
offered via PaaS delivery models.
6. Cloud Business Tier. Comprises the business or mission
exploitation of cloud-enabled business applications, software,
data, content, knowledge, and associated analysis
frameworks, and other cloud consumption models that
facilitate and enable end-user business value from cloud
consumers’ ability to access, bind, and consume cloud
capabilities.
20. *
*Cloud computing at Amazon
*Cloud computing, the Google.
*Microsoft Windows Azure
*Open-source software platforms for private
clouds
21. *
There are several risks involved when a large
organization relies solely on a single cloud provider:
1. Cloud services may be unavailable for a short, or
even for an extended period of time.
2. The single vendor may decide to increase the
prices for service and charge more for computing
cycles, memory, storage space, and network
bandwidth than other cloud service providers.
22. *
Another solution
could be based on an
extension of the
design principle of a
RAID-5 system used
for reliable data
storage
23. *
Cloud interoperability could alleviate the concerns that users
become hopelessly dependent on a single cloud service
provider
* First, we need a set of standards for interoperability
covering items such as: naming, addressing, identity, trust,
presence, messaging, multicast, and time. Indeed, we need
common standards for identifying all the objects involved,
the means to transfer, store, and process information, and
we also need a common clock to measure the time between
two events.
* Security is a major concern for cloud users and an Intercloud
could only create new threats. The primary concern is that
tasks will cross from one administrative domain to another
and that sensitive information about the tasks and user could
be disclosed during this migration.
24. *
*Identify and define the customer’s needs and
constraints including the level of resources, security,
timing, and quality of service.
*Provide a framework for understanding; a critical
aspect of this framework is a clear definition of
classes of service and the costs.
*Simplify complex issues; for example, clarify the
boundaries between the responsibilities of the clients
and those of the provider of service in case of failures.
*Reduce areas of conflict.
*Encourage dialog in the event of disputes.
*Eliminate unrealistic expectations.
25. *
*An agreement usually covers: services to be
delivered, performance, tracking and
reporting, problem management, legal
compliance and resolution of disputes,
customer duties and responsibilities, security,
handling of confidential information, and
termination.
26. *
*Software licensing for cloud computing is an
enduring problem without a universally accepted
solution at this time
*When a user requests a license from the license
service, the terms of the license usage are
negotiated and they are part of a Service Level
Agreement document
*The SLA describes all aspects of resource usage,
including the Id of application, duration, number of
processors, and guarantees, such as the maximum
cost and deadlines.
27. *
*To understand the complexity of the issues related
to software licensing, we point out some of the
difficulties related to authorization. To verify the
authorization to use a license, an application must
have the certificate of an authority. This certificate
must be available locally to the application because
the application may be executed in an environment
with restricted network access; this opens the
possibility for an administrator to hijack the license
mechanism by exchanging the local certificate.