SOLUTION: SP 800 Bellevue University Cloud Characteristics Discussion


Special Publication 800-146
Cloud Computing Synopsis
and Recommendations
Recommendations of the National Institute
of Standards and Technology
Lee Badger
Tim Grance
Robert Patt-Corner
Jeff Voas
NIST Special Publication 800-146
Cloud Computing Synopsis and
Recommendations
Recommendations of the National
Institute of Standards and Technology
Lee Badger
Tim Grance
Robert Patt-Corner
Jeff Voas
C O M P U T E R
S E C U R I T Y
Computer Security Division
Information Technology Laboratory
National Institute of Standards and Technology
Gaithersburg, MD 20899-8930
May 2012
U.S. Department of Commerce
John Bryson, Secretary
National Institute of Standards and Technology
Patrick D. Gallagher, Under Secretary of Commerce for
Standards and Technology and Director
CLOUD COMPUTING SYNOPSIS AND RECOMMENDATIONS
Reports on Computer Systems Technology
The Information Technology Laboratory (ITL) at the National Institute of Standards and Technology
(NIST) promotes the U.S. economy and public welfare by providing technical leadership for the nation’s
measurement and standards infrastructure. ITL develops tests, test methods, reference data, proof of
concept implementations, and technical analysis to advance the development and productive use of
information technology. ITL’s responsibilities include the development of management, administrative,
technical, and physical standards and guidelines for the cost-effective security and privacy of other than
national security-related information in Federal information systems. This Special Publication 800-series
reports on ITL’s research, guidance, and outreach efforts in computer security and its collaborative
activities with industry, government, and academic organizations.
National Institute of Standards and Technology Special Publication 800-146
Natl. Inst. Stand. Technol. Spec. Publ. 800-146, 81 pages (May 2012)
Certain commercial entities, equipment, or materials may be identified in this
document in order to describe an experimental procedure or concept adequately.
Such identification is not intended to imply recommendation or endorsement by the
National Institute of Standards and Technology, nor is it intended to imply that the
entities, materials, or equipment are necessarily the best available for the purpose.
ii
CLOUD COMPUTING SYNOPSIS AND RECOMMENDATIONS
Acknowledgments
The authors, Lee Badger of the National Institute of Standards and Technology (NIST), Tim Grance, of
the National Institute of Standards and Technology (NIST), Robert Patt-Corner of Global Tech, Inc., and
Jeff Voas of the National Institute of Standards and Technology (NIST), wish to thank their colleagues
who reviewed drafts of this document and contributed to its technical content. The authors gratefully
acknowledge and appreciate the contributions from individuals and organizations whose comments
improved the overall quality of this publication.
Trademark Information
All names are trademarks or registered trademarks of their respective owners.
iii
CLOUD COMPUTING SYNOPSIS AND RECOMMENDATIONS
Table of Contents
Executive Summary ………………………………………………………………………………………………….. 1
1.
Introduction …………………………………………………………………………………………………….. 1-1
1.1
1.2
1.3
1.4
Authority …………………………………………………………………………………………………..1-1
Purpose and Scope ……………………………………………………………………………………1-1
Audience ………………………………………………………………………………………………….1-1
Document Structure……………………………………………………………………………………1-1
2.
Cloud Computing Definition ……………………………………………………………………………… 2-1
3.
Typical Commercial Terms of Service ……………………………………………………………….. 3-1
3.1
3.2
3.3
3.4
4.
General Cloud Environments ……………………………………………………………………………. 4-1
4.1
4.2
4.3
4.4
4.5
4.6
4.7
5.
Understanding Who Controls Resources in a Cloud ………………………………………..4-3
The On-site Private Cloud Scenario ……………………………………………………………..4-4
The Outsourced Private Cloud Scenario………………………………………………………..4-7
The On-site Community Cloud Scenario ………………………………………………………..4-9
The Outsourced Community Cloud Scenario ………………………………………………..4-12
The Public Cloud Scenario ………………………………………………………………………..4-13
The Hybrid Cloud Scenario………………………………………………………………………..4-15
Software-as-a-Service Environments ………………………………………………………………… 5-1
5.1
5.2
5.3
5.4
5.5
5.6
6.
Promises ………………………………………………………………………………………………….3-1
Limitations ………………………………………………………………………………………………..3-2
Obligations ……………………………………………………………………………………………….3-3
Recommendations……………………………………………………………………………………..3-3
Abstract Interaction Dynamics ……………………………………………………………………..5-2
Software Stack and Provider/Consumer Scope of Control ………………………………..5-3
Benefits ……………………………………………………………………………………………………5-3
5.3.1 Very Modest Software Tool Footprint ………………………………………………… 5-4
5.3.2 Efficient Use of Software Licenses ……………………………………………………. 5-4
5.3.3 Centralized Management and Data …………………………………………………… 5-4
5.3.4 Platform Responsibilities Managed by Providers…………………………………. 5-4
5.3.5 Savings in Up-front Costs ……………………………………………………………….. 5-5
Issues and Concerns ………………………………………………………………………………….5-5
5.4.1 Browser-based Risks and Risk Remediation………………………………………. 5-5
5.4.2 Network Dependence……………………………………………………………………… 5-6
5.4.3 Lack of Portability between SaaS Clouds …………………………………………… 5-6
5.4.4 Isolation vs. Efficiency (Security vs. Cost Tradeoffs) ……………………………. 5-6
Candidate Application Classes …………………………………………………………………….5-7
Recommendations for Software as a Service …………………………………………………5-8
Platform-as-a-Service Cloud Environments ……………………………………………………….. 6-1
6.1
6.2
6.3
6.4
Abstract Interaction Dynamics ……………………………………………………………………..6-1
Software Stack and Provider/Consumer Scope of Control ………………………………..6-3
Benefits ……………………………………………………………………………………………………6-3
6.3.1 Facilitated Scalable Application Development and Deployment …………….. 6-4
Issues and Concerns ………………………………………………………………………………….6-4
iv
CLOUD COMPUTING SYNOPSIS AND RECOMMENDATIONS
6.5
6.6
7.
Infrastructure-as-a-Service Cloud Environments ……………………………………………….. 7-1
7.1
7.2
7.3
7.4
7.5
7.6
8.
6.4.1 Lack of Portability between PaaS Clouds …………………………………………… 6-4
6.4.2 Event-based Processor Scheduling ………………………………………………….. 6-4
6.4.3 Security Engineering of PaaS Applications ………………………………………… 6-5
Candidate Application Classes …………………………………………………………………….6-5
Recommendations for Platform as a Service ………………………………………………….6-5
Abstract Interaction Dynamics ……………………………………………………………………..7-1
Software Stack and Provider/Consumer Scope of Control ………………………………..7-2
Operational View ……………………………………………………………………………………….7-3
7.3.1 Operation of the Cloud Manager ………………………………………………………. 7-4
7.3.2 Operation of the Cluster Managers …………………………………………………… 7-4
7.3.3 Operation of the Computer Managers ……………………………………………….. 7-5
Benefits ……………………………………………………………………………………………………7-5
7.4.1 Full Control of the Computing Resource Through Administrative Access to
VMs 7-6
7.4.2 Flexible, Efficient Renting of Computing Hardware ……………………………… 7-6
7.4.3 Portability, Interoperability with Legacy Applications ……………………………. 7-6
Issues and Concerns ………………………………………………………………………………….7-6
7.5.1 Compatibility with Legacy Security Vulnerabilities ……………………………….. 7-7
7.5.2 Virtual Machine Sprawl …………………………………………………………………… 7-7
7.5.3 Verifying Authenticity of an IaaS Cloud Provider Web Site ……………………. 7-7
7.5.4 Robustness of VM-level Isolation ……………………………………………………… 7-7
7.5.5 Features for Dynamic Network Configuration for Providing Isolation ………. 7-7
7.5.6 Data Erase Practices ……………………………………………………………………… 7-8
Recommendations for Infrastructure as a Service …………………………………………..7-8
Open Issues …………………………………………………………………………………………………….. 8-1
8.1
8.2
8.3
8.4
8.5
Computing Performance ……………………………………………………………………………..8-1
8.1.1 Latency ………………………………………………………………………………………… 8-1
8.1.2 Off-line Data Synchronization…………………………………………………………… 8-2
8.1.3 Scalable Programming ……………………………………………………………………. 8-2
8.1.4 Data Storage Management ……………………………………………………………… 8-2
Cloud Reliability …………………………………………………………………………………………8-2
8.2.1 Network Dependence……………………………………………………………………… 8-3
8.2.2 Cloud Provider Outages ………………………………………………………………….. 8-3
8.2.3 Safety-Critical Processing ……………………………………………………………….. 8-3
Economic Goals ………………………………………………………………………………………..8-4
8.3.1 Risk of Business Continuity ……………………………………………………………… 8-4
8.3.2 Service Agreement Evaluation …………………………………………………………. 8-4
8.3.3 Portability of Workloads ………………………………………………………………….. 8-5
8.3.4 Interoperability between Cloud Providers …………………………………………… 8-5
8.3.5 Disaster Recovery………………………………………………………………………….. 8-5
Compliance ………………………………………………………………………………………………8-5
8.4.1 Lack of Visibility …………………………………………………………………………….. 8-6
8.4.2 Physical Data Location……………………………………………………………………. 8-6
8.4.3 Jurisdiction and Regulation ……………………………………………………………… 8-6
8.4.4 Support for Forensics ……………………………………………………………………… 8-6
Information Security……………………………………………………………………………………8-7
8.5.1 Risk of Unintended Data Disclosure ………………………………………………….. 8-8
8.5.2 Data Privacy …………………………………………………………………………………. 8-8
v
CLOUD COMPUTING SYNOPSIS AND RECOMMENDATIONS
8.5.3
8.5.4
8.5.5
8.5.6
8.5.7
9.
System Integrity …………………………………………………………………………….. 8-8
Multi-tenancy ………………………………………………………………………………… 8-8
Browsers ………………………………………………………………………………………. 8-9
Hardware Support for Trust ……………………………………………………………… 8-9
Key Management …………………………………………………………………………… 8-9
General Recommendations ………………………………………………………………………………. 9-1
9.1
9.2
9.3
9.4
9.5
Management …………………………………………………………………………………………….9-1
Data Governance ………………………………………………………………………………………9-2
Security and Reliability ……………………………………………………………………………….9-3
Virtual Machines ………………………………………………………………………………………..9-3
Software and Applications …………………………………………………………………………..9-3
List of Figures
Figure 1: General Cloud and Consumer View ………………………………………………………………. 4-1
Figure 2: The Security Perimeter………………………………………………………………………………… 4-4
Figure 3: On-site Private Cloud ………………………………………………………………………………….. 4-4
Figure 4: Outsourced Private Cloud ……………………………………………………………………………. 4-8
Figure 5: On-site Community Cloud ………………………………………………………………………….. 4-10
Figure 6: Outsourced Community Cloud ……………………………………………………………………. 4-12
Figure 7: Public Cloud …………………………………………………………………………………………….. 4-13
Figure 8: Hybrid Cloud ……………………………………………………………………………………………. 4-15
Figure 9: SaaS Consumer/Provider Interaction Dynamics ………………………………………………. 5-2
Figure 10: SaaS Provider/Consumer Scope of Control ………………………………………………….. 5-3
Figure 11: SaaS Isolation vs. Efficiency Favoring Isolation……………………………………………… 5-6
Figure 12: SaaS Isolation vs. Efficiency Favoring Efficiency……………………………………………. 5-7
Figure 13: PaaS Consumer/Provider Interaction Dynamics …………………………………………….. 6-2
Figure 14: PaaS Component Stack and Scope of Control ………………………………………………. 6-3
Figure 15: IaaS Provider/Consumer Interaction Dynamics ……………………………………………… 7-2
Figure 16: IaaS Component Stack and Scope of Control ……………………………………………….. 7-2
Figure 17: Local IaaS Cloud Architecture …………………………………………………………………….. 7-3
List of Tables
Table 1: Scope Modifiers for Statements Asserted About Clouds ……………………………………. 4-2
Table 2: 800-53 Control Families and Classes ……………………………………………………………… A-2
vi
CLOUD COMPUTING SYNOPSIS AND RECOMMENDATIONS
List of Appendices
Appendix A— Roles and Responsibilities ……………………………………………………………….. A-1
Appendix B— Acronyms ………………………………………………………………………………………… B-1
Appendix C— Glossary ………………………………………………………………………………………….. C-1
Appendix D— References ………………………………………………………………………………………. D-1
Appendix E— NIST Publications……………………………………………………………………………… E-1
vii
CLOUD COMPUTING SYNOPSIS AND RECOMMENDATIONS
Executive Summary
Cloud computing allows computer users to conveniently rent access to fully featured applications, to
software development and deployment environments, and to computing infrastructure assets such as
network-accessible data storage and processing.
This document reprises the NIST-established definition of cloud computing, describes cloud computing
benefits and open issues, presents an overview of major classes of cloud technology, and provides
guidelines and recommendations on how organizations should consider the relative opportunities and
risks of cloud computing. Cloud computing has been the subject of a great deal of commentary.
Attempts to describe cloud computing in general terms, however, have been problematic because cloud
computing is not a single kind of system, but instead spans a spectrum of underlying technologies,
configuration possibilities, service models, and deployment models. This document describes cloud
systems and discusses their strengths and weaknesses.
Depending on an organization’s requirements, different technologies and configurations are appropriate.
To understand which part of the spectrum of cloud systems is most appropriate for a given need, an
organization should consider how clouds can be deployed (deployment models), what kinds of services
can be provided to customers (service models), the economic opportunities and risks of using cloud
services (economic considerations), the technical characteristics of cloud services such as performance
and reliability (operational characteristics), typical terms of service (service level agreements), and the
security opportunities and risks (security).
Deployment Models. A cloud computing system may be deployed privately or hosted on the premises of
a cloud customer, may be shared among a limited number of trusted partners, may be hosted by a third
party, or may be a publically accessible service, i.e., a public cloud. Depending on the kind of cloud
deployment, the cloud may have limited private computing resources, or may have access to large
quantities of remotely accessed resources. The different deployment models present a number of
tradeoffs in how customers can control their resources, and the scale, cost, and availability of resources.
Service Models. A cloud can provide access to software applications such as email or office productivity
tools (the Software as a Service, or SaaS, service model), or can provide an environment for customers to
use to build and operate their own software (the Platform as a Service, or PaaS, service model), or can
provide network access to traditional computing resources such as processing power and storage (the
Infrastructure as a Service, or IaaS, service model). The different service models have different strengths
and are suitable for different customers and business objectives. Generally, interoperability and
portability of customer workloads is more achievable in the IaaS service model because the building
blocks of IaaS offerings are relatively well-defined, e.g., network protocols, CPU instruction sets, and
legacy device interfaces.
Economic Considerations. In outsourced and public deployment models, cloud computing provides
convenient rental of computing resources: users pay service charges while using a service but need not
pay large up-front acquisition costs to build a computing infrastructure. The reduction of up-front costs
reduces the risks for pilot projects and experimental efforts, thus reducing a barrier to organizational
flexibility, or agility. In outsourced and public deployment models, cloud computing also can provide
elasticity, that is, the ability for customers to quickly request, receive, and later release as many resources
as needed. By using an elastic cloud, customers may be able to avoid excessive costs from overprovisioning, i.e., building enough capacity for peak demand and then not using the capacity in non-peak
periods. Whether or not cloud computing reduces overall costs for an organization depends on a careful
analysis of all the costs of operation, compliance, and security, including costs to migrate to and, if
necessary, migrate from a cloud.
ES-1
CLOUD COMPUTING SYNOPSIS AND RECOMMENDATIONS
Operational Characteristics. Cloud computing favors applications that can be broken up into small
independent parts. Cloud systems generally depend on networking and hence any limitations on
networking, such as data import/export bottlenecks or service disruptions, reduce cloud utility, especially
for applications that are not tolerant of disruptions.
Service Agreements, including Service Level Agreements. Organizations should understand the terms
of the service agreements that define the legal relationships between cloud customers and cloud providers.
An organization should understand customer responsibilities, and those of the service provider, before
using a cloud service.
Security. Organizations should be aware of the security issues that exist in cloud computing and of
applicable NIST publications such as NIST Special Publication (SP) 800-53 “Recommended Security
Controls For Federal Information Systems and Organizations.” As complex networked systems, clouds
are affected by traditional computer and network security issues such as the needs to provide data
confidentiality, data integrity, and system availability. By imposing uniform management practices,
clouds may be able to improve on some security update and response issues. Clouds, however, also have
potential to aggregate an unprecedented quantity and variety of customer data in cloud data centers. This
potential vulnerability requires a high degree of confidence and transparency that cloud providers can
keep customer data isolated and protected. Also, cloud users and administrators rely heavily on Web
browsers, so browser security failures can lead to cloud security breaches. The privacy and security of
cloud computing depend primarily on whether the cloud service provider has implemented robust security
controls and a sound privacy policy desired by their customers, the visibility that customers have into its
performance, and how well it is managed.
Inherently, the move to cloud computing is a business decision in which the business case should consider
the relevant factors, some of which include readiness of existing applications for cloud deployment,
transition costs and life-cycle costs, maturity of service orientation in existing infrastructure, and other
factors including security and privacy requirements.
ES-2
CLOUD COMPUTING SYNOPSIS AND RECOMMENDATIONS
1.
Introduction
1.1
Authority
The National Institute of Standards and Technology (NIST) developed this document in furtherance of its
statutory responsibilities under the Federal Information Security Management Act (FISMA) of 2002,
Public Law 107-347.
NIST is responsible for developing standards and guidelines, including minimum requirements, for
providing adequate information security for all agency operations and assets; but such standards and
guidelines shall not apply to national security systems. This guideline is consistent with the requirements
of the Office of Management and Budget (OMB) Circular A-130, Section 8b(3), “Securing Agency
Information Systems,” as analyzed in A-130, Appendix IV: Analysis of Key Sections. Supplemental
information is provided in A-130, Appendix III.
This guideline has been prepared for use by Federal agencies. It may be used by nongovernmental
organizations on a voluntary basis and is not subject to copyright, though attribution is desired.
Nothing in this document should be taken to contradict standards and guidelines made mandatory and
binding on Federal agencies by the Secretary of Commerce under statutory authority, nor should these
guidelines be interpreted as altering or superseding the existing authorities of the Secretary of Commerce,
Director of the OMB, or any other Federal official.
1.2
Purpose and Scope
The purpose of this document is to explain the cloud computing technology area in plain terms, and to
provide recommendations for information technology decision makers.
Cloud computing is a developing area and its ultimate strengths and weakness are not yet fully
researched, documented and tested. This document gives recommendations on how and when cloud
computing is an appropriate tool, and indicates the limits of current knowledge and areas for future
analysis.
1.3
Audience
This publication is intended to serve a diverse enterprise audience of information systems professionals
including chief information officers, information systems developers, project managers, system designers,
systems programmers, application programmers, system and network administrators, information system
security officers, and system owners.
1.4
Document Structure
The remainder of this document is organized into the following major sections:
 Section 2 reprises the NIST definition of cloud computing.
 Section 3 surveys typical commercial terms of usage for cloud computing systems.
 Section 4 provides a breakdown of how cloud computing solutions may be deployed and describes
general implications for different deployment options.
 Section 5 provides a high-level view of how Software as a Service (SaaS) clouds work.
1-1
CLOUD COMPUTING SYNOPSIS AND RECOMMENDATIONS
 Section 6 provides a high-level view of how Platform as a Service (PaaS) clouds work.
 Section 7 provides a high-level view of how Infrastructure as a Service (IaaS) clouds work.
 Section 8 presents open issues.
 Section 9 gives recommendations.
The document also contains appendices with supporting material.
 Appendix A discusses the sharing of responsibilities between providers and consumers for the
implementation of security controls.
 Appendix B lists acronyms used in this document.
 Appendix C contains a glossary of terms used in this document.
 Appendix D lists external resources referenced in this document.
 Appendix E lists NIST publications referenced in this document.
1-2
CLOUD COMPUTING SYNOPSIS AND RECOMMENDATIONS
2.
Cloud Computing Definition
This document uses the NIST Cloud Computing Definition, NIST SP 800-145, to explain characteristics
of cloud computing. For the convenience of the reader, the following is excerpted from NIST SP 800145:
“Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of
configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be
rapidly provisioned and released with minimal management effort or service provider interaction. This
cloud model is composed of five essential characteristics, three service models, and four deployment
models.
Essential Characteristics:
On-demand self-service. A consumer can unilaterally provision computing capabilities, such as server
time and network storage, as needed automatically without requiring human interaction with each
service’s provider.
Broad network access. Capabilities are available over the network and accessed through standard
mechanisms that promote use by heterogeneous thin or thick client platforms (e.g., mobile phones,
tablets, laptops, and workstations).
Resource pooling. The provider’s computing resources are pooled to serve multiple consumers using a
multi-tenant model, with different physical and virtual resources dynamically assigned and reassigned
according to consumer demand. There is a sense of location independence in that the customer generally
has no control or knowledge over the exact location of the provided resources but may be able to specify
location at a higher level of abstraction (e.g., country, state, or datacenter). Examples of resources include
storage, processing, memory, and network bandwidth.
Rapid elasticity. Capabilities can be rapidly and elastically provisioned, in some cases automatically, to
scale rapidly outward and inward commensurate with demand. To the consumer, the capabilities available
for provisioning often appear to be unlimited and can be appropriated in any quantity at any time.
Measured Service. Cloud systems automatically control and optimize resource use by leveraging a
metering capability1 at some level of abstraction appropriate to the type of service (e.g., storage,
processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and
reported, providing transparency for both the provider and consumer of the utilized service.
Service Models:
Cloud Software as a Service (SaaS). The capability provided to the consumer is to use the provider’s
applications running on a cloud infrastructure. 2 The applications are accessible from various client
devices through a thin client interface such as a Web browser (e.g., Web-based email), or a program
interface. The consumer does not manage or control the underlying cloud infrastructure including
1
2
Typically this is done on a pay-per-use or charge-per-use basis.
A cloud infrastructure is the collection of hardware and software that enables the five essential characteristics of cloud
computing. The cloud infrastructure can be viewed as containing both a physical layer and an abstraction layer. The physical
layer consists of the hardware resources that are necessary to support the cloud services being provided, and typically
includes server, storage and network components. The abstraction layer consists of the software deployed across the
physical layer, which manifests the essential cloud characteristics. Conceptually the abstraction layer sits above the physical
layer.
2-1
CLOUD COMPUTING SYNOPSIS AND RECOMMENDATIONS
network, servers, operating systems, storage, or even individual application capabilities, with the possible
exception of limited user-specific application configuration settings.
Cloud Platform as a Service (PaaS). The capability provided to the consumer is to deploy onto the cloud
infrastructure consumer-created or -acquired applications created using programming languages and tools
supported by the provider. 3 The consumer does not manage or control the underlying cloud infrastructure
including network, servers, operating systems, or storage, but has control over the deployed applications
and possibly application hosting environment configurations.
Cloud Infrastructure as a Service (IaaS). The capability provided to the consumer is to provision
processing, storage, networks, and other fundamental computing resources where the consumer is able to
deploy and run arbitrary software, which can include operating systems and applications. The consumer
does not manage or control the underlying cloud infrastructure but has control over operating systems,
storage, deployed applications; and possibly limited control of select networking components (e.g., host
firewalls).
Deployment Models:
Private cloud. The cloud infrastructure is provisioned for exclusive use by a single organization
comprising multiple consumers (e.g., business units). It may be owned, managed, and operated by the
organization, a third party, or some combination of them, and it may exist on or off premises.
Community cloud. The cloud infrastructure is provisioned for exclusive use by a specific community of
consumers from organizations that have shared concerns (e.g., mission, security requirements, policy, and
compliance considerations). It may be owned, managed, and operated by one or more of the organizations
in the community, a third party, or some combination of them, and it may exist on or off premises.
Public cloud. The cloud infrastructure is provisioned for open use by the general public. It may be owned,
managed, and operated by a business, academic, or government organization, or some combination of
them. It exists on the premises of the cloud provider.
Hybrid cloud. The cloud infrastructure is a composition of two or more distinct cloud infrastructures
(private, community, or public) that remain unique entities, but are bound together by standardized or
proprietary technology that enables data and application portability (e.g., cloud bursting for load
balancing between clouds).”
Throughout this document, any general use of the term “cloud” or “cloud system” should be assumed to
apply to each of the four deployment models. Care is taken to specify a specific deployment model when
a statement is not applicable to all four models.
To add clarity, this document uses the following terms consistently:
cloud consumer or customer: a person or organization that is a customer of a cloud; note that a
cloud customer may itself be a cloud and that clouds may offer services to one another;
client: a machine or software application that accesses a cloud over a network connection,
perhaps on behalf of a consumer; and
cloud provider or provider: an organization that provides cloud services.
3
This capability does not necessarily preclude the use of compatible programming languages, libraries, services, and tools from
other sources.
2-2
CLOUD COMPUTING SYNOPSIS AND RECOMMENDATIONS
3.
Typical Commercial Terms of Service
A consumer’s terms of service for a cloud are determined by a legally binding agreement between the two
parties often contained in two parts: (1) a service agreement, and (2) a Service Level Agreement (SLA).
Generally, the service agreement is a legal document specifying the rules of the legal contract between a
consumer and provider, and the SLA is a shorter document stating the technical performance promises
made by a provider including remedies for performance failures. For simplicity, this publication refers to
the combination of these two documents as a service agreement. 4
Service Agreements of various types exist. Service agreements are sometimes used internally between
the information systems units and other organizational units of an enterprise to ensure that the information
technology services provided are aligned with the mission objectives of the organization. Service
agreements are normally not used in agreements for services acquired by one government organization
from another. Instead, a Memorandum of Understanding (MOU) or Inter-Agency Agreement (IAA) is
typically used to codify the terms of service.
Section 3 discusses certain elements of typical commercial cloud service agreements that directly express
the quality of service and security that providers offer. Although the self-service aspect of clouds as
defined in the Section 2 implies that a consumer either: (1) accepts a provider’s pricing and other terms,
or (2) finds a provider with more acceptable terms, potential consumers anticipating heavy use of cloud
resources may be able to negotiate more favorable terms. For the typical consumer, however, a cloud’s
pricing policy and service agreement are nonnegotiable.
Published service agreements between consumers and providers can typically be terminated at any time
by either party, either “for cause” such as a consumer’s violation of a cloud’s acceptable use policies, or
for failure of a consumer to pay in a timely manner. Further, an agreement can be terminated for no
reason at all. Consumers should analyze provider termination and data retention policies.
Provider promises, including explicit statements regarding limitations, are codified in their service
agreements. A provider’s service agreement has three basic parts: (1) a collection of promises made to
consumers, (2) a collection of promises explicitly not made to consumers, i.e., limitations, and (3) a set of
obligations that consumers must accept.
3.1
Promises
Generally, providers make four key promises to consumers:
 Availability. Providers typically advertise availability promises as uptime percentages ranging from
99.5% to 100.0%. These are strong claims, and care is needed to understand how these percentages
are calculated. Often, the percentage applies to the number of time intervals within a billing cycle (or
longer periods such as a year) in which services are not “up” for the entire interval. Examples of time
intervals used by prominent providers are 5 minutes, 15 minutes, and 1 hour. For example, if a
provider specifies an availability interval of 15 minutes, and the service is not functional for 14
minutes, 100% availability is preserved using this metric. Generally, the definition of “up” is
intuitively defined as service responsiveness, but in some cases, multiple cloud subsystems must fail
before the service is judged as unavailable. Providers may also limit availability promises if failures
are specific to particular functions or Virtual Machines (VMs).
4
Some cloud providers historically have not provided service agreements, or have provided them only to large or persistent
users. An service agreement is extremely important to understand a cloud provider’s promises.
3-1
CLOUD COMPUTING SYNOPSIS AND RECOMMENDATIONS
 Remedies for Failure to Perform. If a provider fails to give the promised availability, a provider
should compensate consumers in good faith with a service credit for future use of cloud services.
Service credits can be computed in different ways, but are usually determined by how long the service
was unavailable within a specific billing period. Service credits are generally capped not to exceed a
percentage of a consumer’s costs in the billing period in which downtime occurred. Typical caps
range from 10% to 100% of a consumer’s current costs, depending on the provider. Responsibility
for obtaining a service credit is generally placed on the consumer, who must provide timely
information about the nature of the outage and the time length of the outage. It is unclear whether a
provider will voluntarily inform a consumer of a service disruption. None of the providers recently
surveyed (in their standard service agreements) offer a refund or any other remedy for failure to
perform; however, all providers should understand that a poor reputation to perform offers few longterm business benefits.
 Data Preservation. If a consumer’s access to cloud services is terminated “for cause,” i.e., because
the consumer has violated the clouds’ acceptable use policies or for nonpayment, most providers state
that they have no obligation to preserve any consumer data remaining in cloud storage. Further, after
a consumer voluntarily stops using a cloud, providers generally state that they will not intentionally
erase the consumer’s data for a period of 30 days. Some providers preserve only a snapshot of
consumer data, or recommend that consumers: (1) backup their data outside that provider’s cloud
inside another provider’s cloud, or (2) back it up locally.
 Legal Care of Consumer Information. Generally, providers promise not to sell, license, or disclose
consumer data except in response to legal requests. Providers, however, usually reserve the right to
monitor consumer actions in a cloud, and they may even demand a copy of consumer software to
assist in that monitoring.
3.2
Limitations
Generally, provider policies include five key limitations:
 Scheduled Outages. If a provider announces a scheduled service outage, the outage does not count
as failure to perform. For some providers, outages must be announced in advance, or must be
bounded in duration.
 Force majeure events. Providers generally disclaim responsibility for events outside their realistic
control. Examples include power failures, natural disasters, and failures in network connectivity
between consumers and providers.
 Service Agreement Changes. Providers generally reserve the right to change the terms of the
service agreement at any time, and to change pricing with limited advanced notice. For standard
service agreement changes, notice is generally given by a provider by posting the change to a Web
site. It is then the consumer’s responsibility to periodically check the Web site for changes. Changes
may take effect immediately or after a delay of several weeks. For changes that affect an individual
consumer’s account, notice may be delivered via email or a delivery service.
 Security. Providers generally assert that they are not responsible for the impacts of security breaches
or for security in general, i.e., unauthorized modification or disclosure of consumer data, or service
interruptions caused by malicious activity. Generally, service agreements are explicit about placing
security risks on consumers. In some cases, providers promise to use best efforts to protect consumer
data, but all of the providers surveyed disclaim security responsibility for data breach, data loss, or
service interruptions by limiting remedies to service credits for failure to meet availability promises.
Further, it is unclear how easy it would be for a consumer to determine that a service disruption was
maliciously induced versus induction from another source.
3-2
CLOUD COMPUTING SYNOPSIS AND RECOMMENDATIONS
 Service API Changes. Providers generally reserve the right to change or delete service Application
Programming Interfaces (APIs) at any time.
3.3
Obligations
Generally, consumers must agree to three key obligations:
 Acceptable Use Polices. Consumers generally must agree to refrain from storing illegal content,
such as child pornography, and from conducting illegal activities such as: (1) gambling, (2) sending
spam, (3) conducting security attacks (e.g., denial of service or hacking), (4) distributing spyware, (5)
intrusive monitoring, and (6) attempting to subvert cloud system infrastructures. Acceptable use
policies vary among providers.
 Licensed Software. All providers state that third-party software running in their clouds must
conform to the software’s license terms. In some cases, providers bundle such software and include
monitoring to ensure that license restrictions are enforced.
 Timely Payments. Cloud service costs are generally incurred gradually over a billing period, with
the fee due to the provider at the period’s end. Failure to pay, after a grace period, usually subjects a
consumer to suspension or termination “for cause” which can result in loss of consumer data.
3.4
Recommendations
 Terminology. Consumers should pay close attention to the terms that are used in service agreements.
Common terms may be redefined by a cloud provider in ways that are specific to that provider’s
offerings.
 Remedies. Unless a specific service agreement has been negotiated with a provider, remedies for any
failures are likely to be extremely limited; consumers may wish to formulate and negotiate remedies
that are commensurate with damage that might be sustained.
 Compliance. Consumers should carefully assess whether the service agreement specifies compliance
with appropriate laws and regulations governing consumer data.
 Security, Criticality, and Backup. Consumers should carefully examine the service agreement for
any disclaimers relating to security or critical processing, and should also search for any comment on
whether the provider recommends independent backup of data stored in their cloud.
 Negotiated Service Agreement. If the terms of the default service agreement do not address all
consumer needs, the consumer should discuss modifications of the service agreement with the
provider prior to use.
 Service Agreement Changes. Be aware that, depending on the details of the service agreement, a
provider may change the terms of service with a specified level of advance notice. Changes may
affect both price and quality of service. It is prudent to develop a plan to migrate workloads to
alternate cloud providers, or back on-premise, in the event that a change in service terms is
unacceptable.
3-3
CLOUD COMPUTING SYNOPSIS AND RECOMMENDATIONS
4.
General Cloud Environments
At the time of this writing, many individuals and organizations have made general statements about cloud
computing, its advantages, and its weaknesses. It is important to understand, however, that the term
“cloud computing” encompasses a variety of systems and technologies as well as service and deployment
models, and business models. A number of claims that are sometimes made about cloud computing, e.g.,
that it “scales,” or that it converts capital expenses to operational expenses, are only true for some kinds of
cloud systems. The goal of this section is to clearly describe a division of cloud computing systems into
five significant scenarios and, for each scenario, to explain general issues about cloud computing, such as
scalability, and how those issues apply in that scenario. 5
As implied by the NIST cloud computing definition, a cloud system is a collection of network-accessible
computing resources that customers (i.e., cloud consumers) can access over a network. In general terms,
a cloud system and its consumers employ the client-server model [Com88], which means that consumers
(the clients) send messages over a network to server computers, which then perform work in response to
the messages received.
Figure 1: General Cloud and Consumer View
Figure 1 gives a general view of a cloud and its clients: the cloud’s computing resources are depicted as a
grid of computer systems where clients access a cloud over network connections. As shown in the
figure, new clients may arrive, existing clients may depart, and the number of clients using a cloud at any
one time is variable. Similarly, a cloud maintains a pool of hardware resources that it manages to
maximize service and minimize costs. To maintain highly available services despite expected component
failures and service life expirations, a cloud incorporates new hardware components as needed and retires
old or failing components. To provide services cost-effectively, a cloud will manage the pool of hardware
resources for resource efficiency; one of the strategies that a cloud provider employs during periods of
reduced consumer demand is to power off unused components. Whether for power management, or for
5
This section presents a physical, network-oriented view of how cloud systems can be connected with consumers. An
understanding of cloud software and of which parts of the traditional software “stack” are made available to consumers is
also important, and is presented in Sections 5, 6, and 7.
4-1
CLOUD COMPUTING SYNOPSIS AND RECOMMENDATIONS
hardware refresh, migration of customer workloads (data storage and processing) from one physical
computer to another physical computer [Chr05, Shr10, VMw11, Mic10, Red99] is a key strategy that
allows a provider to refresh hardware or consolidate workloads without inconveniencing consumers.
From Figure 1, a small number of general statements about cloud computing (e.g., strengths and
limitations, performance characteristics) can be inferred; organizations considering the use of cloud
computing should consider these general statements (listed below). Many statements commonly made
about clouds (e.g., that clouds scale for very large workloads or that clouds replace capital expenses with
operational expenses), however, are true only for certain types of clouds. To avoid confusion, this
document explicitly qualifies each such statement with the type of cloud to which it applies; i.e., each
statement has a “scope.” The scopes used in this document are listed in Table 1.
Table 1: Scope Modifiers for Statements Asserted About Clouds
Scope Name
general
on-site-private
outsourced-private
on-site-community
outsourced-community
public
Applicability
Applies to all cloud deployment models.
Applies to private clouds implemented at a customer’s
premises.
Applies to private clouds where the server side is outsourced to
a hosting company.
Applies to community clouds implemented on the premises of
the customers composing a community cloud.
Applies to community clouds where the server side is
outsourced to a hosting company.
Applies to public clouds.
Each of the scopes is explained below. The following statements are general in their scope, i.e., they
apply regardless of the deployment model or service model:
 Network dependency (general). The consumers, being clients, need a working and secure network
to access a cloud. If the network is not reliable, the cloud will not be reliable from the consumer’s
point of view.
 Consumers still need IT skills (general). By operating the server computers, a provider may reduce
the need for IT staff in consumer organizations, but consumers will still access the cloud from on-site
consumer-managed client systems that must be maintained, secure, etc.
 Workload locations are dynamically assigned and are thus hidden from clients (general). To
manage a cloud’s hardware resources efficiently, providers must be able to migrate consumer
workloads between machines without inconveniencing the clients, i.e., without the clients being
required to track and adapt to changes and therefore without the clients being aware. 6
 Risks from multi-tenancy (general). The workloads of different clients may reside concurrently on
the same system and local network, separated only by access policies implemented by a provider’s
software. A flaw in the implementation or in the provider’s management and operational policies and
procedures could compromise the security of consumers.
6
In some cases (e.g., the IaaS service model described in Section 7 below) a workload may exist in a particular location for a
specific time before it migrates; in other cases (e.g., for the PaaS service model described in Section 6 below) a workload
may exist as a fundamentally distributed entity with sequential operations performed for a consumer potentially executing in
different servers, and data existing in a geographically distributed data store.
4-2
CLOUD COMPUTING SYNOPSIS AND RECOMMENDATIONS
 Data import/export, and performance limitations (general). Because consumers access a cloud
over a network, on-demand bulk data import or export may exceed the network’s ability to carry the
data in a timely manner. Additionally, real-time or critical processing may be problematic because of
networking latency or other limitations.
Organizations contemplating the use of cloud computing should consider these general statements and
their possible consequences for an organization’s mission and business model. Considering only the
general statements, however, is not sufficient. Clouds are also described by one or more of the other (i.e.,
not “general”) scopes listed in Table 1; organizations contemplating the use of cloud computing should
consider the detailed statements made for the kinds of clouds they contemplate using. Each of the
alternatives is broken out below in a separate section focusing on a specific scope. 7
4.1
Understanding Who Controls Resources in a Cloud
It is sometimes asserted that when compared to traditional on premises computing, cloud computing
requires consumers to give up (to providers) two important capabilities:
 Control: the ability to decide, with high confidence, who and what is allowed to access consumer
data and programs, and the ability to perform actions (such as erasing data or disconnecting a
network) with high confidence both that the actions have been taken and that no additional actions
were taken that would subvert the consumer’s intent (e.g., a consumer request to erase a data object
should not be subverted by the silent generation of a copy).
 Visibility: the ability to monitor, with high confidence, the status of a consumer’s data and programs
and how consumer data and programs are being accessed by others.
The extent, however, to which consumers may need to relinquish control or visibility depends on a
number of factors including physical possession and the ability to configure (with high confidence)
protective access boundary mechanisms around a consumer’s computing resources.
This document uses the concept of access boundaries to organize and characterize the different cloud
deployment models. Figure 2 illustrates a key concept from computer security relating to boundaries and
control, the security perimeter [TIS94, Gas88]. As shown in the figure, a security perimeter is a barrier to
access: entities that are inside the perimeter may freely access resources inside the perimeter; however
entities that are located outside the perimeter may access the resources inside only if allowed by a
boundary controller that enforces a policy over access. Although the term is often used to discuss
firewalls and networks, the concept of the security perimeter is actually more generic and can be used, for
instance, to describe the boundaries between different privilege levels of running software, e.g., between
applications and operating systems. By itself, a security perimeter is NOT an adequate security
mechanism; however, perimeter controls are an important building block for secure systems.
Typical boundary controllers include firewalls [TIS94, Che94], guards [Eps99], and Virtual Private
Networks [Ros99]. By implementing a security perimeter around its important resources, an organization
can achieve both a measure of control over the use of those resources and a means for monitoring access
to them. 8 Furthermore, via reconfiguration, an organization can adapt a security perimeter to changing
needs (e.g., blocking or allowing protocols or data formats based on changing business circumstances).
7
This document does not generally repeat text. However, for specific types of clouds, more can be said about them; in this case,
the name of a general statement may be used again but with an explanation specific to that type of cloud.
8
When uncontrolled paths to computing resources exist, a security perimeter is weakened or may not even exist. Pervasive
wireless communications, e.g., are a threat to security perimeters since there may be no reliable way to interpose a boundary
controller between external entities and internal entities. Similarly, many organizations use mobile devices that are
sometimes connected within an organization’s security perimeter, and sometimes exposed directly, e.g., when on travel.
4-3
CLOUD COMPUTING SYNOPSIS AND RECOMMENDATIONS
The various cloud deployment models in the NIST cloud definition have implications for the locations of
consumer-controlled security perimeters and hence for the level of control that consumers can exercise
over resources that they entrust to a cloud.
Figure 2: The Security Perimeter
The NIST cloud definition lists four deployment models: private, community, public, and hybrid. The
private and community deployment models, however, admit of two variants that should be discussed
separately because they affect the security perimeter: on-site, and outsourced. The hybrid deployment
model is a combination of the others and therefore a hybrid deployment may be subject to the
implications of all of its building blocks as well as unique implications that arise when multiple systems
are composed into more complex integrated systems.
4.2
The On-site Private Cloud Scenario
Figure 3 presents a simple view of an on-site private cloud. As shown in the figure, the security perimeter
extends around both the consumer’s on-site resources and the private cloud’s resources. The private cloud
may be centralized at a single consumer site or may be distributed over several consumer sites. The
security perimeter will exist only if the consumer implements it. If implemented, the security perimeter
will not guarantee control over the private cloud’s resources, but its existence gives an opportunity for a
consumer to exercise control over resources entrusted to the on-site private cloud.
Figure 3: On-site Private Cloud
4-4
CLOUD COMPUTING SYNOPSIS AND RECOMMENDATIONS
Although the general implications remain true with an on-site private cloud, the on-site-private scenario
allows for additional and more detailed implications that organizations considering the use of an on-site
private cloud should consider:
 Network dependency (on-site-private). Depending on the configuration (e.g., single physical site,
protected cloud network), the network dependency for an on-site private cloud may be limited to
dependence on networking resources over which a consumer has control (e.g., local area networking).
In this scenario, larger-scale network problems, such as Internet congestion or communications with
remote Internet Domain Name Servers (DNS) [Moc87-1, Moc87-2] may be avoided.
If a consumer organization spans multiple physical sites and wishes different sites to access the same
private cloud, however, the consumer must either provision a controlled inter-site communications
media, such as an encrypted leased line, or must use cryptography (e.g., with a VPN) over less
controlled communications media such as the public Internet. Both of these options introduce risks to
a private cloud’s networking availability and security because performance dependencies are
established to resources that exist off of the consumer’s site and that are not directly under the
consumer’s control, and because any failure to implement and configure cryptographic mechanisms
could allow outsiders access. The consumer organization must also ensure that remote sites are
maintained at an appropriate security level for the private cloud or that boundary devices are installed
to prevent inconsistencies in security levels.
 Consumers still need IT skills (on-site-private). Consumer organizations will need the traditional
IT skills required to manage user devices that access the private cloud, and will require cloud IT skills
as well. Early in the rollout of an on-site private cloud, consumer organizations may wish to maintain
parallel cloud and non-cloud operations for an evaluation period. During any such evaluation period,
traditional IT skills will be required. Even after an evaluation period, however, traditional IT staff
will be needed (perhaps at reduced levels) to manage legacy licensing agreements, special hardware
or system requirements, unique security needs for special projects, and legacy investments in
equipment and training.
In addition, new skills for working in clouds may be required. For example, an organization that
performs compute-intensive jobs may need to eventually reorganize those jobs so that they can run
using a higher level of parallelism on the cloud’s resources [Dea04]; an organization that processes
large data sets in the cloud will need to develop skills with cloud-based storage [Cha06, Ghe03,
Ama06, SNI10, Msf11]. 9
 Workload locations are hidden from clients (on-site-private). As in the general case, to manage a
cloud’s hardware resources, a private cloud must be able to migrate workloads between machines
without inconveniencing clients, i.e., without the clients being aware. In some situations, to avoid
creating a single point of failure, it may also be necessary to provision and operate redundant cloud
facilities at geographically diverse locations. With an on-site private cloud, however, a consumer
organization chooses the physical infrastructure in which the private cloud operates, and hence
determines the possible geographical locations of workloads. While individual clients still may not
know where their workloads physically exist within the consumer organization’s infrastructure at any
given time, the consumer organization has both visibility and control over where workloads are
allowed to reside.
 Risks from multi-tenancy (on-site-private). As in the general case, the workloads of different
clients may reside concurrently on the same systems and local networks, separated only by access
policies implemented by a cloud provider’s software. A flaw in the implementation or in the
9
Note: this is not a comprehensive list of cloud storage systems.
4-5
CLOUD COMPUTING SYNOPSIS AND RECOMMENDATIONS
provider’s management and operational policies and procedures could compromise the security of a
consumer organization by exposing client workloads to one another contrary to the consumer’s
security policy. Logical segregation techniques at the network layer, such as VPN Routing and
Forwarding (VRF), can help mitigate risks. An on-site private cloud mitigates these risks somewhat
further by restricting the number of possible attackers; all of the clients would typically be members
of the consumer organization or authorized guests or partners, but the on-site private cloud is still
vulnerable to attack conducted by authorized but also malicious insiders. Different organizational
functions, such as payroll, storage of sensitive personally identifiable information, or the generation
of intellectual property may be merged as a consequence of such security failures, which can provide
access to users who are not authorized to access specific classes of data and who then may disclose
data from the on-site private cloud.
 Data import/export, and performance limitations (on-site-private). As with the general case, ondemand bulk data import/export is limited by the on-site private cloud’s network capacity, and realtime or critical processing may be problematic because of networking limitations. In the on-site
private cloud scenario, however, these limits may be adjusted, although not eliminated, by
provisioning high-performance and/or high-reliability networking within the consumer’s
infrastructure. Particularly if a consumer has only one site that requires access to the on-site private
cloud, a consumer may be able to provision local networks that provide higher performance than can
practically be achieved via wide area networks.
 Potentially strong security from external threats (on-site-private). In an on-site private cloud, a
consumer has the option of implementing an appropriately strong security perimeter to protect private
cloud resources against external threats to the same level of security as can be achieved for non-cloud
resources. For low-impact data and processing, the security perimeter may consist of commercial
firewall rule sets and VPNs. For higher-impact data, security perimeters can be constructed via more
restrictive firewall policies [Zwi00, Ran99], multi-factor authentication [SP-800-63], encryption
[Sch94, Ros99], intrusion detection and prevention, and even physical isolation.
 Significant-to-high up-front costs to migrate into the cloud (on-site-private). An on-site private
cloud requires that cloud management software be installed on computer systems within a consumer
organization. If the cloud is intended to support process-intensive or data-intensive workloads, the
software will need to be installed on numerous commodity systems or on a more limited number of
high-performance systems. Installing cloud software and managing the installations will incur
significant up-front costs, even if the cloud software itself is free, and even if much of the hardware
already exists within a consumer organization. Three potential approaches to accomplish this are:
New Data Center: The most direct approach is for a consumer to provision a data center in which
to deploy the cloud software. In this case, the on-site private cloud incurs up-front costs that are
similar to those of a typical data center and the consumer can provision the data center for
anticipated workloads.
Converted Data Center: As an alternative to provisioning a new data center, a consumer may
convert part or all of an existing data center to support the on-site private cloud. This approach,
however, may not be compatible with running parallel cloud and non-cloud systems during the
initial evaluation period.
Scavenged Resources: Another alternative approach, supported by [Nur-08, Nur-08-2], is for
cloud software to be installed primarily on computers that already exist within an organization.
In this scenario, cloud systems share hardware resources with other uses of the hardware and
essentially can harvest cycles that might otherwise be wasted. This approach offers the advantage
that cloud services can be made available on an experimental basis without a large hardware
4-6
CLOUD COMPUTING SYNOPSIS AND RECOMMENDATIONS
investment; however, the resources available to such a configuration will be limited to the
previously-surplus resources in the organization’s infrastructure (unless the former uses of the
hardware are reduced in favor of the cloud). Additional limitations are that: (1) hardware
resources must be incorporated into the on-site private cloud from wherever they exist in a
consumer organization’s infrastructure (via networking) rather than being co-located for
efficiency, and (2) the available hardware may not be homogeneous and thus may be somewhat
more difficult to administer.
 Limited resources (on-site-private). An on-site private cloud, at any specific time, has a fixed
computing and storage capacity that has been sized to correspond to anticipated workloads and cost
restrictions. If an organization is large enough and supports a sufficient diversity of workloads, an
on-site private cloud may be able to provide elasticity to clients within the consumer organization.
Smaller on-site private clouds will, however, exhibit maximum capacity limits similar to those of
traditional data centers. An on-site private cloud also requires that some costs, e.g., for equipment, be
paid up-front.
4.3
The Outsourced Private Cloud Scenario
Figure 4 depicts an outsourced private cloud. As shown in the figure, an outsourced private cloud has two
security perimeters, one implemented by a cloud consumer (on the right) and one implemented by a
provider 10 (left). The two security perimeters are joined by a protected communications link. As is
apparent from the figure, the security of data and processing conducted in the outsourced private cloud
depends on the strength and availability of both security perimeters and of the protected communication
link. The provider thus accepts a responsibility to enforce the provider-implemented security perimeter
and to prevent mingling of private cloud resources with other cloud resources that are outside the
provider-controlled security perimeter. The suitability of various mechanisms for achieving an
appropriate strength of separation between private cloud resources and other cloud resources depends on
the consumer’s security requirements. A number of possible mechanisms could be used with various
tradeoffs between separation strength and cost/convenience (e.g., Virtual Local Area Network (VLAN),
VPN, separate network segments or clusters). This scenario, however, should, not merely employ
separation mechanisms that are identical to the normal mechanisms (e.g., hardware virtualization,
VLANs) that separate customers in a public cloud. If those mechanisms alone were used, this scenario
would essentially become the public cloud scenario.
10
But perhaps configured by the consumer.
4-7
CLOUD COMPUTING SYNOPSIS AND RECOMMENDATIONS
Figure 4: Outsourced Private Cloud
Although the general statements remain true for the outsourced private scenario, the outsourced private
scenario also allows for a more detailed understanding of some of the general statements plus additional
statements that organizations considering the use of an outsourced private cloud should consider:
 Network Dependency (outsourced-private). In the outsourced private scenario, consumers may
have an option to provision dedicated protected and reliable communication links with the provider.
Although network dependence does not appear to be avoidable, in this scenario the impact of the
network dependency may be ameliorated at a negotiated price (e.g., dedicated leased network
connections supporting enhanced performance, reliability, and security).
 Workload locations are hidden from clients (outsourced-private). As in the general case, to
manage a cloud’s hardware resources, an outsourced private cloud must be able to migrate workloads
between machines without inconveniencing the clients, i.e., without the clients being aware of the
migrations. The outsourced private cloud scenario, however, provides an opportunity for the
consumer’s organization to have some visibility and control regarding workload locations. Assuming
that the provider faithfully implements the security perimeter agreed upon with the consumer, the
consumer organization workloads move only within the agreed-upon security perimeter. Depending
on the mechanisms chosen to implement the perimeter, the consumer may know the physical location
(e.g., cluster, network segments) of the resources devoted to the outsourced private cloud even though
the clients are unaware.
 Risks from multi-tenancy (outsourced-private). The implications are the same as those for an onsite private cloud. FISMA and OMB policy require that external cloud providers handling federal
information or operating information systems on behalf of the federal government meet the same
security requirements as federal agencies.
 Data import/export, and performance limitations (outsourced-private). As with the general case,
on-demand bulk data import/export is limited by the network capacity between a provider and
consumer, and real-time or critical processing may be problematic because of networking limitations.
4-8
CLOUD COMPUTING SYNOPSIS AND RECOMMENDATIONS
In the outsourced private cloud scenario, however, these limits may be adjusted, although not
eliminated, by provisioning high-performance and/or high-reliability networking between the
provider and consumer. This provisioning, however, would require a special contract and incur
significant costs.
 Potentially strong security from external threats (outsourced-private). As with the on-site
private cloud scenario, a variety of techniques exist to harden a security perimeter. The main
difference with the outsourced private cloud is that the techniques need to be applied both to a
consumer’s perimeter and to a provider’s perimeter, and that the communications link needs to be
protected.
 Modest-to-significant up-front costs to migrate into the cloud (outsourced-private). Unlike the
case of an on-site private cloud, where physical computing resources need to be provisioned or
scavenged by a consumer before the cloud can start operating, in the outsourced private cloud
scenario, the resources are provisioned by the provider, and the main startup costs for the consumer
relate to: (1) negotiating the terms of the service level agreement (e.g., agreeing on suitable protection
mechanisms), (2) possibly upgrading the consumer’s network to connect to the outsourced private
cloud, (3) switching from traditional applications to cloud-hosted applications, (4) porting existing
non-cloud operations to the cloud, and (5) training. Although these costs may be significant, they do
not include server-side equipment and its supporting infrastructure.
 Extensive resources available (outsourced-private). Unlike the case of an on-site private cloud, in
which the resources must be provisioned by a consumer up front, in the case of the outsourced private
cloud, a consumer can rent resources in any quantity offered by the provider. Provisioning and
operating computing equipment at scale is a core competency of providers. Hence it is likely that a
provider can provision relatively large private clouds as needed. As with the on-site private cloud, an
outsourced private cloud has a fixed capacity at any given time, and providing elasticity for clients is
achievable only if the cloud is large enough and there is sufficient diversity of workloads. As with an
on-site private cloud, an outsourced private cloud will exhibit maximum capacity limits similar to
those of traditional data centers.
4.4
The On-site Community Cloud Scenario
Figure 5 depicts an on-site community cloud. The community depicted in the figure is made up of a set
of participant organizations. Each participant organization may provide cloud services, consume cloud
services, or both. It is necessary for at least one community member to provide cloud services for a
community cloud to be functional. The figure depicts members that provide cloud services (and possibly
consume them also) on the left and those that consume-only on the right. Assuming that each
organization implements a security perimeter, the participant organizations are connected via links
between the boundary controllers that allow access through their security perimeters. Optionally,
organizations may implement extra security perimeters to isolate the local cloud resources from other
local resources. Many network configurations are possible; the figure shows the extra security perimeter
as being inside an organization’s “non-cloud” security perimeter although it could be located outside as
well. The boundary controllers in any configuration should grant appropriate access to the cloud
resources both to local clients and to clients of other participant organizations. Importantly, providing
access to local cloud resources should not grant access to non-cloud resources unless granting such access
is a specific policy goal.
4-9
CLOUD COMPUTING SYNOPSIS AND RECOMMENDATIONS
Figure 5: On-site Community Cloud
In Figure 5 it is easy to see that the access policy of a community cloud may be complex: if there are N
community members, a decision must be made, either implicitly or explicitly, on how to share a member’s
local cloud resources with each of the other members. A number of policy specification techniques (e.g.,
discretionary access control using a standard such as XACML [Mos05], or following a security model
such as role-based access control [Fer92] or attribute-based access control [Kar09]) might be used to
express sharing policies. Besides controlling access to resources, identity management [Oid11, Rag08,
Oix10] is important in this scenario since clients from multiple participant organizations access a common
pool of resources.
As with the on-site private cloud and the outsourced private cloud, although the general statements remain
true for the on-site community scenario, the on-site community cloud scenario also allows for a more
detailed understanding of some of the general statements as well as additional statements that
organizations considering the use of an on-site community cloud should consider:
 Network Dependency (on-site community). As with the on-site private scenario, where the
organization spans multiple sites, the consumers in an on-site community cloud need to either
provision controlled inter-site communication links or use cryptography over a less controlled
communications media (such as the public Internet). The reliability and security of the community
cloud will depend on the reliability and security of the communication links. Dedicated leased
network connections can also be used to support enhanced performance, reliability, and security. In
the on-site community case, in addition, care should be taken to understand the actual dependencies
between member organizations since there are multiple organizations participating and any subset of
them could suffer a cloud infrastructure failure (e.g., going offline). Additionally, local clouds will
4-10
CLOUD COMPUTING SYNOPSIS AND RECOMMENDATIONS
probably need to be taken offline for maintenance at various times and therefore two-way
communication in advance among the community members is essential to achieving a clear
understanding of the service levels that they offer to one another and require from one another.
 Consumers still need IT skills (on-site-community). In an on-site community cloud, there are
potentially two classes of participant organizations: those who provide cloud services to the
community, and those who only consume cloud resources. For the participant organizations that
provide cloud resources, the IT skills required are similar to those required for the on-site private
cloud scenario except that the overall cloud configuration may be more complex and hence require a
higher skill level. If any participant organizations are consumers only, the IT skills required are
similar to those of the general case except that if there are multiple participant organizations
providing cloud services, the configuration from the consuming side may be more complex, e.g.,
forcing clients to maintain multiple authentication credentials or to commit to an identity management
framework.
Identity and access control configurations among the participant organizations may be complex;
organizations considering a community cloud should ensure that the IT staff from the participant
organizations negotiate and clearly document the access policies that are planned within the
community cloud.
 Workload locations are hidden from clients (on-site-community). As with the outsourced private
cloud scenario, assuming that participant organizations faithfully implement their security perimeters
and have policies to keep workloads onsite, workloads should remain within participant
organizations. Variations on this scenario are possible, however. For example, a participant
organization providing cloud services to the community cloud may wish to employ an outsourced
private cloud as a part of its implementation strategy. An organization that is concerned with
knowing workload locations should discuss potential outsourcing configurations prior to joining a
community cloud, and should ensure that the outsourcing policies are clearly documented for the
participant organizations.
 Risks from multi-tenancy (on-site-community). As with the on-site private scenario, the on-site
community scenario mitigates some of the multi-tenancy risks by restricting the number of possible
attackers. In the on-site community scenario, however, the cloud encompasses more organizations
and hence may restrict the set of potential attackers less than in the case of the on-site private
scenario.
 Data import/export, and performance limitations (on-site-community). The communication links
between the various participant organizations in a community cloud can be provisioned to various
levels of performance, security and reliability, based on the needs of the participant organizations.
The network-based limitations are thus similar to those of the outsourced-private cloud scenario.
 Potentially strong security from external threats (on-site-community). The security of a
community cloud from external threats depends on the security of all the security perimeters of the
participant organizations and the strength of the communications links. These dependencies are
essentially similar to those of the outsourced private cloud scenario, but with possibly more links and
security perimeters and greater configuration complexity.
 Highly variable up-front costs to migrate into the cloud (on-site-community). The up-front costs
of an on-site community cloud for a participant organization depend greatly on whether the
organization plans to consume cloud services only or also to provide cloud services. For the
consume-only scenario, the up-front costs appear to be similar to those for an outsourced private
cloud (i.e., modest-to-significant). For a participant organization that intends to provide cloud
4-11
CLOUD COMPUTING SYNOPSIS AND RECOMMENDATIONS
services within the community cloud, the costs appear to be similar to those for the on-site private
cloud scenario (i.e., significant-to-high).
 Limited resources (on-site community). As with the on-site private cloud scenario, resources for an
on-site community cloud must be provisioned or scavenged locally. Therefore the resource limitations
appear to be similar to those of the on-site private cloud, i.e., relatively limited.
4.5
The Outsourced Community Cloud Scenario
Figure 6: Outsourced Community Cloud
Figure 6 depicts an outsourced community cloud. The community depicted in the figure is made up of a
set of participant organizations that consume cloud services. This scenario is very similar to the
outsourced private cloud scenario: server-side responsibilities are managed by a cloud provider that
implements a security perimeter and that prevents mingling of community cloud resources with other
cloud resources that are outside the provider-controlled security perimeter. A significant difference is that
the cloud provider may need to enforce a sharing policy among participant organizations in the
community cloud.
Although the general statements remain true for the outsourced community cloud scenario, the outsourced
community cloud scenario also allows for a more detailed view of some of the general statements as
follows:
 Network dependency (outsourced-community). As can be seen from Figure 6, the network
dependency of the outsourced community cloud is similar to that of the outsourced private cloud.
The primary difference is that multiple protected communications links are likely from the
community members to the provider’s facility.
4-12
CLOUD COMPUTING SYNOPSIS AND RECOMMENDATIONS
 Workload locations are hidden from clients (outsourced-community). The implications appear to
be the same as for the outsourced private cloud scenario.
 Risks from multi-tenancy (outsourced-community). The implications appear to be the same as for
the on-site community cloud scenario.
 Data import/export, and performance limitations (outsourced-community). The implications
appear to be the same as for the outsourced private cloud scenario.
 Potentially strong security from external threats (outsourced-community). The implications
appear to be the similar to those for the on-site community cloud scenario.
 Modest-to-significant up-front costs to migrate into the cloud (outsourced-community). The
implications appear to be the same as for the outsourced private cloud scenario.
 Extensive resources available (outsourced-community). The implications appear to be the same as
for the outsourced private cloud scenario.
4.6
The Public Cloud Scenario
Figure 7 depicts a public cloud. This diagram is essentially similar to Figure 1 except that a consumer
facility implementing a security perimeter is shown. In the case of a public cloud, however, more
statements can be made based on the diagram than could be made based on Figure 1. For example, in the
public setting, the provider’s computing and storage resources are potentially large; the communication
links can be assumed to be implemented over the public Internet; and the cloud serves a diverse pool of
clients (and possibly attackers).
Figure 7: Public Cloud
As with the other scenarios, although the general statements remain true for the public cloud scenario, the
public cloud scenario also allows for a more detailed view of some of the general statements:
4-13
CLOUD COMPUTING SYNOPSIS AND RECOMMENDATIONS
 Network dependency (public). In the public scenario, consumers connect to providers via the public
Internet. The dependability of connections thus depends on the Internet’s infrastructure of Domain
Name System (DNS) servers, the router infrastructure, and the inter-router links. The reliability of
connections can thus be affected by misconfiguration [Opp03] or failure of these components as well
as network congestion or attack. Additionally, consumers require a connection via an Internet
Service Provider, often designated the “last mile.” This connection must also be functional for the
cloud to be accessible.
 Workload locations are hidden from clients (public). In the public scenario, a provider may
migrate a consumer’s workload, whether processing or data, at any time. One of the central
arguments for cost efficiency in public cloud computing is that data centers (and hence workloads)
can be located where costs are low. Generally, workloads in a public cloud may be relocated
anywhere at any time unless the provider has offered (optional) location restriction policies and the
consumer has configured their account to request specific location restrictions. Generally, location
restrictions in a public cloud are somewhat coarse grained (e.g., the east coast of the US). The
confidence that restrictions are actually enforced rests upon protection of consumer credentials (e.g.,
that the account has not been hijacked and had its location preferences changed) and the faithfulness
with which the provider implements the advertised policies. Generally, consumers are not in a
position to verify that location restrictions have been enforced.
 Risks from multi-tenancy (public). In a public cloud, a single machine may be shared by the
workloads of any combination of consumers. In practice, this means that a consumer’s workload may
be co-resident with the workloads of competitors or adversaries. As summarized in the general case,
this introduces both reliability and security risk. A failure could occur or an attack could be
perpetrated by any consumer. Scaling to larger sets of consumers and resources is one of the
important strategies for public clouds to achieve low costs and elasticity; if this scaling is achieved,
however, it also implies a large collection of potential attackers.
 Limited visibility and control over data regarding security (public). The details of provider
system operation are usually considered proprietary information and are not divulged to consumers.
In many cases, the software employed by a provider is proprietary and likely not available for
examination by consumers. Consequently, consumers do not (at the time of this writing) have a
guaranteed way to monitor or authorize access to their resources in the cloud. Although providers
may make strong efforts to carry out the requests of consumers and some may provide monitoring
services, consumers must either trust that the provider is performing operations with fidelity or, if the
provider has contracted with a third party auditing organization, trust that the auditing is accurate and
timely. As an example of this limitation, a consumer cannot currently verify that data has been
completely deleted from a provider’s systems.
 Low up-front costs to migrate into the cloud (public). The implications appear to be the same as
for the outsourced private cloud scenario.
 Elasticity: illusion of unlimited resource availability (public). Public clouds are generally
unrestricted in their location or size. Additionally, they can generally use multi-tenancy without
being limited by static security perimeters, which allows a potentially high degree of flexibility in the
movement of consumer workloads to correspond with available resources. As a consequence, public
clouds have unique advantages in achieving elasticity, or the illusion (to consumers) of unlimited
resource availability.
 Restrictive default service level agreements (public). The default service level agreements of
public clouds specify limited promises that providers make to subscribers, limit the remedies
available to subscribers, and outline subscriber obligations in obtaining such remedies.
4-14
CLOUD COMPUTING SYNOPSIS AND RECOMMENDATIONS
 Although marketing literature may make broad claims about cloud system reliability, security, etc.,
the terms of the service agreements define the actual (legal) obligations of providers. Section 3
describes these terms in greater detail.
4.7
The Hybrid Cloud Scenario
As given by the cloud definition in Section 2, a hybrid cloud is composed of two or more private,
community, or public clouds. As presented in this section, both the private and the community
deployment models have two significant variations: on-site and outsourced. The variations are significant
because they have different performance, reliability, and security properties, among others. A hybrid
cloud, consequently, is a composition of clouds where each constituent cloud is one of the five variants.
There are many conceivable configurations of hybrid clouds and it is not realistic to enumerate them.
However, the space of possibilities and the potential challenges can be illustrated.
Figure 8 depicts a theoretical hybrid cloud composed of a number of constituent clouds representing all of
the deployment model variants. The figure depicts access points into the constituent clouds as well as the
network connectivity between them. Security policies governing the flow of information and access to
resources could be implemented in a wide variety of ways, e.g., based on policies applied by each
individual constituent cloud. Additionally, global issues such as identity management and shared
standards for authentication and information protection within the hybrid cloud are not shown. A further
complication not shown is that a hybrid cloud may change over time with constituent clouds joining and
leaving.
Figure 8: Hybrid Cloud
4-15
CLOUD COMPUTING SYNOPSIS AND RECOMMENDATIONS
As depicted in Figure 8, a hybrid cloud can be extremely complex. However many less complex and
highly useful hybrid cloud configurations are possible. For example, “cloud bursting” is an oftendiscussed concept in which a consumer uses a private cloud for routine workloads, but optionally accesses
one or more external clouds during periods of high demand. Using one type of cloud to provide backup
resources to another [SNI09] is another hybrid possibility as well as using one cloud for disaster recovery
[SNI09] for a second. For new software developed specifically to run on cloud platforms (e.g., [Msf11-2,
Goo11, Sal11]), multi-cloud configurations are possible and even likely. For example, Web request
handling platform clouds (see Section 6) can be very efficient for making Web applications continuously
available at low cost while on-site or community infrastructure clouds may be more suitable for
performing necessary background work to support the applications. Different cloud deployment variants
may also be appropriate for particular organizational functions or roles; for example, an organization may
elect to process sensitive data such as payroll information in an outsourced private cloud but use a public
cloud for new software development and testing activities.
4-16
CLOUD COMPUTING SYNOPSIS AND RECOMMENDATIONS
5.
Software-as-a-Service Environments
The purpose of this section is to describe the architecture and basic operation of SaaS, or Software as a
Service, in a cloud-computing environment. This information is important for readers who need to
evaluate whether a SaaS cloud offering can satisfy particular reliability, compliance, or security
requirements, and also for readers who want to understand operational mechanisms.
The term SaaS dates from the 1990s and thus predates the term cloud computing. SaaS is also known
commonly as “Web services.” SaaS systems can be implemented in a number of different ways; using
the SaaS maturity model of [Cho06], the most advanced architectures for SaaS appear to satisfy the NIST
definition of cloud computing. While many slightly different definitions of SaaS are possible, a simple
and usable definition has already been formulated:
“Software deployed as a hosted service and accessed over the Internet.” [Cho06]
Fundamentally, cloud computing provides convenient rental of computing resources. These resources,
which are typically accessed by consumers over a network, must be measurable in units that can be
SaaS
Who are the consumers?
1. Organizations providing their members or employees with access to typical software
applications such as office productivity or email.
2. End users who directly use software applications, whether on their own behalf or that of
their organization.
3. Software application administrators who configure an application for end users.
What does a consumer get? The right to use specific applications on demand, and application data
management, such as backup and data sharing between consumers.
How are usage fees calculated? Typically, based on the number of users, the time in use, perexecution, per-record-processed, network bandwidth consumed, and quantity/duration of
data stored.
individually allocated to specific consumers, and paid for based on factors such as how long the units are
retained, who has access to them, how they are used, etc. In the case of SaaS, what is being rented is
access to an application [Sii01]. Typically, access to the application is over a network connecting the
SaaS provider with the consumer. For public or outsourced SaaS, most application program logic is
executed on the cloud provider’s servers. The consumer’s browser 11 provides: (1) the consumer interface
that captures consumer keystrokes and other inputs, and produces output in the form of graphics/sound,
and (2) the data export that outputs data to local storage devices such as USB devices or printers. To
protect application data exchanged between the consumer’s browser and the cloud provider over the
network, cryptography is required. Typically, the consumer’s browser and the cloud provider’s server
begin a session by first negotiating a shared key using one of several standard key exchange protocols
(e.g., TLS[Die08] or SSL[Net96]). The consumer’s browser and the cloud provider can then use the key
to encrypt communications.12 The consumer and provider can then exchange credentials to prove their
11
The consumer may use a browser or other thin-client application to communicate with a SaaS cloud; in practice, browsers are
often used as they require no additional installation. For simplicity, this document describes the consumer-side software
simply as a “browser.”
12
This protection is not without risk however because past implementation errors or protocol flaws have enabled man-in-themiddle attacks that could allow an attacker to hijack a consumer’s cloud resources [Mar09].
5-1
CLOUD COMPUTING SYNOPSIS AND RECOMMENDATIONS
identities to one another. Generally, a consumer provides an account name and password or other
authentication credential such as a time-based hardware token value.
The SaaS provider’s main responsibility to the consumer is to ensure that the software that it supplies is
solidly supported and tested. Another key requirement is that SaaS applications be scalable to
increasingly larger consumer workloads. Maintaining an infrastructure to carry this out in a secure
environment with specified uptime for the consumer is a critical aspect. Many consumers may have
valuable organizational data stored in the cloud and some of this information may be proprietary and
business-sensitive; therefore a secure environment is paramount.
The following six subsections describe several important characteristics of SaaS offerings: Abstract
Interaction Dynamics; Software Stack and Provider/Consumer Scopes of Control; Benefits; Issues and
Concerns; Candidate Application Classes; and Recommendations.
5.1
Abstract Interaction Dynamics
Figure 9: SaaS Consumer/Provider Interaction Dynamics
To provide an understanding of SaaS cloud offerings, this section abstractly describes the dynamics of an
interaction between clients of a typical consumer and the SaaS cloud service through a simplified model.
One such model is shown in Figure 9. Figure 9.A depicts a cloud providing services to two clients, C1
and C2. In a private cloud, the clients will belong to (or be associated with) a single consumer
organization; in other deployment models, as covered in Section 4, the clients may represent different
consumers. Abstractly, the cloud provider possesses an inventory of software applications (“apps” in the
figure) that it is offering to clients for use over the network. In addition, the cloud provider possesses (or
can rent) application execution resources (labeled “exr” in the figure). In Figure 9.A, client C1 is
currently using two applications, B and C. To execute the apps for client C1, the cloud provider has
allocated two execution resources, exr1 and exr2, with exr1 supplying the processing power and other
resources to run the B application (denoted by B→exr1 in the figure), and exr2 supplying the processing
power and other resources to run the C application (denoted by C→exr2 in the figure). An execution
resource might be, e.g., a physical computer, a virtual machine (discussed in Section 7), or a running
server program that can service client requests, start a virtual machine, or even rent computing cycles and
storage from another organization. Similarly, client C2, is using one application, C, which is supported by
execution resource exr3. Note that the same application (C in this case) can be rented out to multiple
clients at the same time, as long as the cloud provider can marshal the execution resources to support the
application. As shown in Figure 9.B, when an additional client requests applications from the cloud, the
cloud provider allocates extra execution resources to support the requested applications.
5-2
CLOUD COMPUTING SYNOPSIS AND RECOMMENDATIONS
5.2
Software Stack and Provider/Consumer Scope of Control
In SaaS, the cloud provider controls most of the software stack. Figure 10 illustrates how control and
management responsibilities are shared. In the center, the figure depicts a traditional software stack
comprising layers for the hardware, operating system, middleware, and application. The figure also
depicts an assignment of responsibility either to the cloud provider, the cloud consumer, or both.
Figure 10: SaaS Provider/Consumer Scope of Control
In the SaaS service model, a consumer possesses control over the application-specific resources that a
SaaS application makes available. For example, if a provider supplies an email application, the consumer
will typically have the ability to create, send, and store email messages. Figure 10 depicts this as “user
level” control. In some cases, a consumer also has limited administrative control of an application. For
example, in the example of an email application, selected consumers may have the ability to create email
accounts for other consumers, review the activities of other consumers, etc.
In contras…
Purchase answer to see full
attachment

WE’VE HAD A GOOD SUCCESS RATE ON THIS ASSIGNMENT. PLACE THIS ORDER OR A SIMILAR ORDER AND GET AN AMAZING DISCOUNT