Internet DRAFT - draft-fisher-cloudassets
draft-fisher-cloudassets
<Working Group Name> T. Fisher
Internet Draft P. Walsh
Intended status: Informational Jackpine Technolgies Corp.
Expires: March 18, 2017 September 19, 2016
Cloud Assets
draft-fisher-cloudassets-00
Abstract
There is no standardized method to describe assets used in a cloud
such that they can be moved from one cloud to the next independent
of the underlying architecture. This document defines Cloud Assets
as a lightweight description of cloud resources and proposes a
standardization of Cloud Assets into three major categories:
Resource Assets, Component Assets, and Composite Assets.
Status of this Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six
months and may be updated, replaced, or obsoleted by other documents
at any time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on March 18, 2017.
Copyright Notice
Copyright (c) 2016 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with
respect to this document. Code Components extracted from this
T. Fisher, P. Walsh Expires March 9, 2017 [Page 1]
Internet-Draft Cloud Assets September 2016
document must include Simplified BSD License text as described in
Section 4.e of the Trust Legal Provisions and are provided without
warranty as described in the Simplified BSD License.
Table of Contents
1. Introduction...................................................3
1.1. Terminology...............................................3
1.2. Background................................................4
2. Requirements...................................................4
3. Use Cases......................................................4
4. Cloud Assets...................................................5
4.1. Resource Assets...........................................5
4.1.1. Clouds...............................................5
4.1.2. Cloudspaces..........................................5
4.1.3. Cloud Networks.......................................5
4.1.4. Templates............................................5
4.1.5. Devices..............................................5
4.1.6. Appliances...........................................5
4.2. Component Assets..........................................5
4.2.1. Software: Applications...............................6
4.2.2. Software: Source Code................................6
4.2.3. Software: Data.......................................6
4.2.4. Test Cases...........................................6
4.2.5. Virtual Services.....................................6
4.2.6. Networks.............................................6
4.3. Composite Assets..........................................6
4.3.1. Systems..............................................6
4.3.2. Scenarios............................................7
4.3.3. Deployments..........................................7
4.3.4. Test Bundles.........................................7
5. Usage Example..................................................7
5.1. Resource Assets...........................................7
5.1.1. Cloud................................................7
5.1.2. Cloudspace...........................................8
5.1.3. Cloud Network........................................8
5.1.4. Template.............................................8
5.1.5. Device...............................................8
5.1.6. Appliance............................................9
5.2. Composite Assets..........................................9
5.2.1. System...............................................9
5.2.2. Scenario............................................10
5.2.3. Deployment..........................................10
5.2.4. Test Bundle.........................................10
6. Sample........................................................10
7. Security Considerations.......................................12
8. IANA Considerations...........................................13
T. Fisher, P. Walsh Expires March 9, 2017 [Page 2]
Internet-Draft Cloud Assets September 2016
9. References....................................................13
9.1. Normative References.....................................13
9.2. Informative References...................................13
10. Acknowledgments..............................................13
1. Introduction
1.1. Terminology
The following terms are used in this document:
o Cloud Assets - The basis for building provisioning, and testing
of cloud-based environments.
o Cloud Environments - The user implementation of a cloud
infrastructure.
o Cloud Infrastructure - Infrastructure as a servcie that a user
can consume from anywhere over the Internet. The cloud focuses on
providing consumers the required capabilities rather than
specific backend compute resources.
o Infrastructure as a Service (IAAS) - a standardized, highly
automated offering, where compute resources, complemented by
storage and networking capabilities are owned and hosted by a
service provider and offered to customers on-demand. Users are
able to self-provision this infrastructure, using a Web-based
graphical user interface that serves as an IT operations
management console for the overall environment. API access to the
infrastructure may also be offered as an option. [2]
o Resource Assets - Elements of a cloud infrastructure registered
by the cloud administrator.
o Cloud Administrator - An entity that administers the
infrastructure supporting the cloud.
o Component Assets - Elements of a cloud environment imported by
the user.
o Composite Assets - Combinations of resource and component assets
into defined entities
o Virtual Machine - a software implementation of a complete system
platform that supports the execution of a complete operating
system and corresponding applications in a cloud. [1]
T. Fisher, P. Walsh Expires March 9, 2017 [Page 3]
Internet-Draft Cloud Assets September 2016
1.2. Background
As more and more cloud infrastructure choices become available for
consumers, the difficulty in choosing the cloud that best supports
the customers needs throughout their application lifecycle becomes
increasingly difficult. No cloud is a "one size fits all" and
enabling use of different cloud providers at different points in the
application lifecycle will better enable consumers to focus on
meeting user requirements rather than infrastructure dependencies.
This document describes a method to help standardize how assets are
used in clouds so that they can be more easily migrated from one
cloud to the next as needs dictate.
2. Requirements
This document assumes the following requirements:
o Cloud agnostic - usable by any underlying cloud technology
o Loosely coupled - cloud updates will not break the asset
o Human readable - configurable by any text editor
o Flexible - supports wide range of use cases
o Lightweight - does not include underlying OS itself
o Reusable - well documented so that others can leverage
3. Use Cases
The following use cases drove the development of the proposed
standard:
o Moving assets to/from commercial cloud provider from/to private
cloud provider
o Moving assets from one commercial cloud provider to another
o Moving assets from one security classification level to another
o Common assets enabling security compliance across clouds
o Leveraging knowledge across teams working in different clouds
o Migration from data center to cloud
T. Fisher, P. Walsh Expires March 9, 2017 [Page 4]
Internet-Draft Cloud Assets September 2016
4. Cloud Assets
We propose the definition and structure of Resource, Component, and
Composite Assets.
4.1. Resource Assets
Resource assets are elements of a cloud infrastructure that are
registered to be available for use. The Cloud Administrator controls
which resources they want to allow access to. Resource assets
include the following: Clouds, Cloudspaces, Cloud Networks,
Templates, Devices, and Appliances
4.1.1. Clouds
The account used to access a portion of IaaS cloud provider (e.g.,
Amazon Web Services, Google, Azure, or private cloud).
4.1.2. Cloudspaces
A private space within a cloud with separate security boundary &
access control (e.g. VMware Virtual Data Center or AWS Virtual
Private Cloud).
4.1.3. Cloud Networks
The networks in a Cloud that are accessible to the Cloudspace.
4.1.4. Templates
Base installation of operating system into a virtual machine. Also
known as images.
4.1.5. Devices
A device or service that is accessible from the cloud.
4.1.6. Appliances
A preconfigured (aka not configurable) virtual machine that is
accessible from the cloud.
4.2. Component Assets
Component Assets are imported by a user with appropriate permissions
and used as building blocks for the construction, configuration and
validation of cloud environments. Components assets include the
T. Fisher, P. Walsh Expires March 9, 2017 [Page 5]
Internet-Draft Cloud Assets September 2016
following: Software: Applications, Software: Source Code, Software:
Data, Test Cases, Virtual Services, and Networks.
4.2.1. Software: Applications
Applications include software installers, utilities and
configurations.
4.2.2. Software: Source Code
Software that is used to check out, build and install un-compiled
code.
4.2.3. Software: Data
Data assets are data sets available for use by other assets. Fewer
required components; optional encryption.
4.2.4. Test Cases
Description and properties used to perform functional, performance,
and/or security validation tasks.
4.2.5. Virtual Services
Virtual services are models representing the data inputs and outputs
of a service.
4.2.6. Networks
New networks created in the Cloud that are accessible in the
Cloudspace.
4.3. Composite Assets
Composite assets are combinations of resource and component assets
that define how and environment will be built, configured and
deployed (often referred to as recipes, blueprints, or manifests).
Composite assets include: Systems, Scenarios, Deployments, and Test
Bundles.
4.3.1. Systems
A single system (e.g. virtual machine) that includes:
o One template
T. Fisher, P. Walsh Expires March 9, 2017 [Page 6]
Internet-Draft Cloud Assets September 2016
o Zero or more Software: Application assets
o Zero or more Software: Source Code assets
o Zero or more Software: Data assets
o One or more Network assets
4.3.2. Scenarios
A Scenario asset includes one or more System assets and zero or more
Virtual Service assets.
4.3.3. Deployments
A Deployment asset includes at least one Scenario asset and zero or
more Test Bundle assets.
4.3.4. Test Bundles
A Test Bundle asset includes at least one Test Case asset.
5. Usage Example
All assets have minimum required fields:
<asset>
<name>String</name>
<description>String</description>
<assetType>String</assetType>
</asset>
5.1. Resource Assets
5.1.1. Cloud
#Required
<cloudURL>String</cloudURL>
<cloudAccount>String</cloudAccount>
<cloudCredentials>String</cloudCredentials>
T. Fisher, P. Walsh Expires March 9, 2017 [Page 7]
Internet-Draft Cloud Assets September 2016
5.1.2. Cloudspace
#Required
<cloudspaceName>String</cloudspacekName>
5.1.3. Cloud Network
#Required
<cloudNetworkName>String</cloudNetworkName>
5.1.4. Template
#Required
<operatingSystem>String</operatingSystem>
<maxRam>Integer</maxRam>
<maxDisk>Integer</maxDisk>
<bootDiskSize>Integer</bootDiskSize>
<numberNICs>Integer</numberNICs>
<osUsername>String</osUsername>
<osPassword>String</osPassword>
#Optional
<additionalDisks>Integer</additionalDisks>
<license>String</license>
<remoteAccessType>String</remoteAccessType>
# 0 = no, 1 = yes
<vGPUAvailable>Integer</vGPUAvailable>
5.1.5. Device
#Required
<osUsername>String</osUsername>
T. Fisher, P. Walsh Expires March 9, 2017 [Page 8]
Internet-Draft Cloud Assets September 2016
<osPassword>String</osPassword>
<deviceURL>String</deviceURL>
5.1.6. Appliance
#Required
<osUsername>String</osUsername>
<osPassword>String</osPassword>
<maxRam>Integer</maxRam>
<maxDisk>Integer</maxDisk>
5.2. Composite Assets
5.2.1. System
#Required
<systemID>Integer</systemID>
# specs used to select a template
<requestedOS>Integer</requestedOS>
<minCPU>Integer</minCPU>
<minNICs>Integer</minNICs>
# in MBytes
<minRAM>Integer</minRAM>
<minDisk>Integer</minDisk>
# 0 = no, 1 = yes
<vGPUAvailable>Integer</vGPUAvailable>
#Optional
<softwareAssetID>Integer</softwareAssetID>
<softwareLoadOrder>Integer</softwareLoadOrder>
T. Fisher, P. Walsh Expires March 9, 2017 [Page 9]
Internet-Draft Cloud Assets September 2016
# 0 = no, 1 = yes
<softwareReboot>Integer</softwareReboot>
5.2.2. Scenario
#Required
<scenarioID>Integer</scenarioID>
<systemID>Integer</systemID>
<systemLoadOrder>Integer</systemLoadOrder>
#Optional
<virtualserviceID>Integer</virtualserviceID>
5.2.3. Deployment
#Required
<scenarioID>Integer</scenarioID>
#Optional
<testBundleID>Integer</testBundleID>
<deploymentProperties>String</deploymentProperties>
5.2.4. Test Bundle
#Required
<testBundleID>Integer</testBundleID>
<testCaseID>Integer</testCaseID>
6. Sample
The sample xml below is for a Red Hat server with Java and JBoss
installed.
<system>
<systemID>5</systemID>
T. Fisher, P. Walsh Expires March 9, 2017 [Page 10]
Internet-Draft Cloud Assets September 2016
<requestedOS>Red Hat 6</requestedOS>
<minCPU>1</minCPU>
<minNICs>1</minNICs>
<minRAM>8192</minRAM>
<minDisk>1024</minDisk>
<vGPUAvailable>0</vGPUAvailable>
<softwareAsset>
<name>Java</name>
<despcription>Java JDK 8u101</description>
<assetType>software</assetType>
<softwareAssetID>1</softwareAssetID>
<softwareLoadOrder>1</softwareLoadOrder>
<softwareReboot>0</softwareReboot>
<softwareAssetType>Application</softwareAssetType>
<installScript>install.sh</installScript>
<mediaDirectory>/media</mediaDirectory >
<licenseFile>license.txt</licenseFile>
<documentationFile>readme.txt</documentationFile>
<instanceLimit></instanceLimit>
<pocEmail>john.do@example.com</pocEmail>
<pocPhone>6175555555</pocPhone>
<pocName>John Doe</pocName>
<pocOrganization>"Example, Inc."</pocOrganization>
</softwareAsset>
T. Fisher, P. Walsh Expires March 9, 2017 [Page 11]
Internet-Draft Cloud Assets September 2016
<softwareAsset>
<name>JBoss</name>
<despcription>JBoss 7</description>
<assetType>software</assetType>
<softwareAssetID>23</softwareAssetID>
<softwareLoadOrder>2</softwareLoadOrder>
<softwareReboot>0</softwareReboot>
<softwareAssetType>Application</softwareAssetType>
<installScript>install.sh</installScript>
<mediaDirectory>/media</mediaDirectory >
<licenseFile>license.txt</licenseFile>
<documentationFile>readme.txt</documentationFile>
<instanceLimit></instanceLimit>
<pocEmail>john.do@example.com</pocEmail>
<pocPhone>6175555555</pocPhone>
<pocName>John Doe</pocName>
<pocOrganization>"Example, Inc."</pocOrganization>
</softwareAsset>
</system>
7. Security Considerations
One should be aware of and consider the variety of security best
practices when working with XML and implement methods that best
support your application of Cloud Asset descriptions. Consider
especially using checksums to detect errors and verify data
integrity.
T. Fisher, P. Walsh Expires March 9, 2017 [Page 12]
Internet-Draft Cloud Assets September 2016
8. IANA Considerations
Namespace is managed by the underlying cloud infrastructure.
9. References
9.1. Normative References
[RFC3470] Hollenbeck, S., et al., "Guidelines for the Use of
Extensible Markup Language (XML) within IETF Protocols",
BCP 70, RFC 3470, January 2003.
9.2. Informative References
[1] Karmel, A., Chandramouli, R., and Iorga, M., "NIST Definition
of Microservices, Application Containers and System Virtual
Machines", NIST Special Publication 800-180 (DRAFT),
http://csrc.nist.gov/publications/drafts/800-180/sp800-
180_draft.pdf, February 2016
[2] http://blogs.gartner.com/it-glossary/infrastructure-as-a-
service-iaas/
10. Acknowledgments
This document was prepared using 2-Word-v2.0.template.dot.
T. Fisher, P. Walsh Expires March 9, 2017 [Page 13]
Internet-Draft Cloud Assets September 2016
Authors' Addresses
Todd Fisher
Jackpine Technolgies Corp.
Email: todd.fisher@jackpinetech.com
Peter Walsh
Jackpine Technolgies Corp.
Email: peter.walsh@jackpinetech.com
T. Fisher, P. Walsh Expires March 9, 2017 [Page 14]