summaryrefslogtreecommitdiffstats
path: root/docs/design/introduction.rst
blob: cc2ceeecf882a9c6d2876f3afeeb613c2df389cc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
.. This work is licensed under a
.. Creative Commons Attribution 4.0 International License.
.. http://creativecommons.org/licenses/by/4.0
.. (c) 2015-2017 AT&T Intellectual Property, Inc

Introduction
============

..
 This work is licensed under a Creative Commons Attribution 4.0 Unported License.

 http://creativecommons.org/licenses/by/4.0

.. NOTE::
   This is the working documentation for the Copper project.

The `OPNFV Copper <https://wiki.opnfv.org/copper>`_ project aims to help ensure
that virtualized infrastructure and application deployments comply with goals of
the NFV service provider or the VNF designer/user.

This is the third ("Danube") release of the Copper project. The documentation
provided here focuses on the overall goals of the Copper project and the
specific features supported in the Colorado release.

Overall Goals for Configuration Policy
--------------------------------------

As focused on by Copper, configuration policy helps ensure that the NFV service
environment meets the requirements of the variety of stakeholders which will
provide or use NFV platforms.

These requirements can be expressed as an *intent* of the stakeholder,
in specific terms or more abstractly, but at the highest level they express:

  * what I want
  * what I don't want

Using road-based transportation as an analogy, some examples of this are shown
below:

.. list-table:: Configuration Intent Example
   :widths: 10 45 45
   :header-rows: 1

   * - Who I Am
     - What I Want
     - What I Don't Want
   * - user
     - a van, wheelchair-accessible, electric powered
     - someone driving off with my van
   * - road provider
     - keep drivers moving at an optimum safe speed
     - four-way stops
   * - public safety
     - shoulder warning strips, center media barriers
     - speeding, tractors on the freeway

According to their role, service providers may apply more specific configuration
requirements than users, since service providers are more likely to be managing
specific types of infrastructure capabilities.

Developers and users may also express their requirements more specifically,
based upon the type of application or how the user intends to use it.

For users, a high-level intent can be also translated into a more or less specific
configuration capability by the service provider, taking into consideration
aspects such as the type of application or its constraints.

Examples of such translation are:

.. list-table:: Intent Translation into Configuration Capability
   :widths: 40 60
   :header-rows: 1

   * - Intent
     - Configuration Capability
   * - network security
     - firewall, DPI, private subnets
   * - compute/storage security
     - vulnerability monitoring, resource access controls
   * - high availability
     - clustering, auto-scaling, anti-affinity, live migration
   * - disaster recovery
     - geo-diverse anti-affinity
   * - high compute/storage performance
     - clustering, affinity
   * - high network performance
     - data plane acceleration
   * - resource reclamation
     - low-usage monitoring

Although such intent-to-capability translation is conceptually useful, it is
unclear how it can address the variety of aspects that may affect the choice of
an applicable configuration capability.

For that reason, the Copper project will initially focus on more specific
configuration requirements as fulfilled by specific configuration capabilities,
as well as how those requirements and capabilities are expressed in VNF and service
design and packaging or as generic policies for the NFV Infrastructure.