CC Document
CC Document
CC Document
Introduction
Cloud computing is a paradigm shift following the shift from mainframe to client–server in the
early 1980s. Details are abstracted from the users, who no longer have need for expertise in, or
control over, the technology infrastructure "in the Cloud" that supports them. Cloud computing
describes a new supplement, consumption, and delivery model for IT services based on the
Internet, and it typically involves over-the-Internet provision of dynamically scalable and often
virtualized resources. It is a byproduct and consequence of the ease-of-access to remote
computing sites provided by the Internet. This frequently takes the form of web-based tools or
applications that users can access and use through a web browser as if it were a program installed
locally on their own computer.
The term "Cloud" is used as a metaphor for the Internet, based on the Cloud drawing used in the
past to represent the telephone network and later to depict the Internet in computer network
diagrams as an abstraction of the underlying infrastructure it represents. Typical Cloud
computing providers deliver common business applications online that are accessed from another
Web service or software like a Web browser, while the software and data are stored on servers.
Comparisons
Cloud computing derives characteristics from, but should not be confused with:
Architecture
Reliability is improved if multiple redundant sites are used, which makes well designed
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
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. One of the most important new methods for overcoming
performance bottlenecks for a large class of applications is data parallel programming on
a distributed data grid
Security could improve due to centralization of data, increased security-focused
resources, etc., but concerns can persist about loss of control over certain sensitive data,
and the lack of security for stored kernels. Security is often as good as or better than
under traditional systems, in part because providers are able to devote resources to
solving security issues that many customers cannot afford. Providers typically log
accesses, but accessing the audit logs themselves can be difficult or impossible.
Furthermore, the complexity of security is greatly increased when data is distributed over
a wider area and / or number of devices.
Maintenance Cloud computing applications are easier to maintain, since they don't have
to be installed on each user's computer. They are easier to support and to improve since
the changes reach the clients instantly.
Metering Cloud computing resources usage should be measurable and should be metered
per client and application on daily, weekly, monthly, and annual basis. This will enable
clients on choosing the vendor Cloud on cost and reliability (QoS)
Layers
Client
Application
Network-based access to, and management of, commercially available (i.e., not
custom) software
Activities that are managed from central locations rather than at each customer's
site, enabling customers to access applications remotely via the Web
Application delivery that typically is closer to a one-to-many model (single
instance, multi-tenant architecture) than to a one-to-one model, including
architecture, pricing, partnering, and management characteristics
Centralized feature updating, which obviates the need for downloadable patches
and upgrades.
Platform
Cloud platform services or "Platform as a Service (PaaS)" deliver a computing platform and/or
solution stack as a service, often consuming Cloud infrastructure and sustaining Cloud
applications. It facilitates deployment of applications without the cost and complexity of buying
and managing the underlying hardware and software layers
Infrastructure
Server
The server layer consists of computer hardware and/or computer software products that are
specifically designed for the delivery of Cloud services, including multi-core processors, Cloud-
specific operating systems and combined offerings
Deployment models
Public Cloud
Public Cloud or external Cloud
describes Cloud computing in the
traditional mainstream sense, whereby
resources are dynamically provisioned
on a fine-grained, self-service basis
over the Internet, via web
applications/web services, from an
off-site third-party provider who shares resources and bills on a fine-grained utility computing
basis
Community Cloud
A community Cloud may be established where several organizations have similar requirements
and seek to share infrastructure so as to realize some of the benefits of Cloud computing. With
the costs spread over fewer users than a public Cloud (but more than a single tenant) this option
is more expensive but may offer a higher level of privacy, security and/or policy compliance.
Examples of community Cloud include Google's "Gov Cloud".
Hybrid Cloud
A hybrid Cloud environment consisting of multiple internal and/or external providers "will be
typical for most enterprises". By integrating multiple Cloud services users may be able to ease
the transition to public Cloud services while avoiding issues such as PCI compliance.
Another perspective on deploying a web application in the Cloud is using Hybrid Web Hosting,
where the hosting infrastructure is a mix between Cloud Hosting for the web server, and
Managed dedicated server for the database server.
Private Cloud
The concept of a Private Computer Utility was first described by Douglas Park hill in his 1966
and the idea was based upon direct comparison with other industries (e.g. the electricity industry)
and the extensive use of hybrid supply models to balance and mitigate risks.
Private Cloud and internal Cloud have been described as neologisms, however the concepts itself
pre-dates the term Cloud by 40 years. Even within modern utility industries, hybrid models still
exist despite the formation of reasonably well functioning markets and the ability to combine
multiple providers.
Cloud Storage
Cloud storage is a model of networked online storage where data is stored on multiple virtual
servers, generally hosted by third parties, rather than being hosted on dedicated servers. Hosting
companies operate large data centers; and people who require their data to be hosted buy or lease
storage capacity from them and use it for their storage needs. The data center operators, in the
background, virtualizes the resources according to the requirements of the customer and expose
them as storage pools, which the customers can themselves use to store files or data objects.
Physically, the resource may span across multiple servers.
The Intercloud
The Intercloud is an interconnected global "cloud of clouds" and an extension of the Internet
"network of networks" on which it is based. The term was first used in the context of cloud
computing in 2007 when Kevin Kelly opined that "eventually we'll have the intercloud, the cloud
of clouds. This Intercloud will have the dimensions of one machine comprising all servers and
attendant cloudbooks on the planet." It became popular in 2009 and has also been used to
describe the datacenter of the future
The Intercloud scenario is based on the key concept that each single cloud does not have infinite
physical resources. If a cloud saturates the computational and storage resources of its
virtualization infrastructure, it could not be able to satisfy further requests for service allocations
sent from its clients. The Intercloud scenario aims to address such situation, in fact, each cloud
can use the computational and storage resources of the virtualization infrastructures of other
clouds. Such form of pay-for-use introduces new business opportunities among cloud providers.
Nevertheless, the Intercloud raises many challenges concerning cloud federation, security,
interoperability, QoS, monitoring and billing
Challenges
Major Challenges
Availability of a Service
Users expect availability from new services, which is hard to do. Just as
large Internet service providers use multiple network providers so that
failure by a single company will not take them off the air, the only
possible solution to very high availability is multiple Cloud Computing
providers. The high-availability computing community has long followed
the mantra “no single source of failure,”
Data Lock-In
Software stacks have improved interoperability among platforms, but the
APIs for Cloud Computing have not been the subject of active
standardization. Thus, customers cannot easily extract their data and
programs from one site to run on another. Concern about the difficult of
extracting data from the cloud is preventing some organizations from
adopting Cloud Computing
Data Confidentiality and Audit ability
Current cloud offerings are essentially public (rather than private)
networks, exposing the system to more attacks. We believe that there are
no fundamental obstacles to making a cloud-computing environment as
secure as the vast majority of in-house IT environments, and that many of
the obstacles can be overcome immediately with well understood
technologies such as encrypted storage, Virtual Local Area Networks, and
network middle boxes (e.g. firewalls, packet filters).
Performance Unpredictability
Multiple Virtual Machines can share CPUs and main memory surprisingly
well in Cloud Computing, but that I/O sharing is more problematic. One
opportunity is to improve architectures and operating systems to
efficiently virtualize interrupts and I/O channels. Technologies such as
PCI express are difficult to virtualize, but they are critical to the cloud.
Another possibility is that flash memory will decrease I/O interference.
Flash memory can sustain many more I/Os per second per gigabyte of
storage than disks, so multiple virtual machines with conflicting random
I/O workloads could coexist better on the same physical computer without
the interference we see with mechanical disks. Another unpredictability
obstacle concerns the scheduling of virtual machines for some classes of
batch processing programs, specifically for high performance computing.
Scalable Storage
Three properties whose combination gives Cloud Computing its appeal:
short-term usage (which implies scaling down as well as up when
resources are no longer needed), no up-front cost, and infinite capacity on-
demand. While it’s straightforward what this means when applied to
computation, it’s less obvious how to apply it to persistent storage.
Software Licensing
Current software licenses commonly restrict the computers on which the
software can run. Users pay for the software and then pay an annual
maintenance fee. Hence, many cloud computing providers originally relied
on open source software in part because the licensing model for
commercial software is not a good match to Utility Computing
Customer Perspective
Data Security
Many customers don’t wish to trust their data to “the
cloud”
Data must be locally retained for regulatory reasons
Latency
The cloud can be many milliseconds away
Not suitable for real-time applications
Application Availability
Cannot switch from existing legacy applications
Equivalent cloud applications do not exist
Not all applications work on public clouds
Vendor Perspective
Service Level Agreements
What if something goes wrong?
What is the true cost of providing SLAs?
Business Models
SaaS/PaaS models are challenging
Much lower upfront revenue
Customer Lock-in
Customers want open/standard APIs
Need to continuously add value
Each applications is unique
Security
The relative security of cloud computing services is a contentious issue which may be delaying
its adoption. Some argue that customer data is more secure when managed internally, while
others argue that cloud providers have a strong incentive to maintain trust and as such employ a
higher level of security.
The Cloud Security Alliance is a non-profit organization formed to promote the use of best
practices for providing security assurance within Cloud Computing
There are also concerns about a cloud provider shutting down for financial or legal reasons,
which has happened in a number of cases
Sustainability
Although cloud computing is often assumed to be a form of "green computing", there is as of yet
no published study to substantiate this assumption.
Conclusion