Update the OPNFV Platform Overview Diagram
[opnfvdocs.git] / docs / release / overview.rst
1 .. _opnfv-overview:
2
3 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
4 .. SPDX-License-Identifier: CC-BY-4.0
5 .. (c) Open Platform for NFV Project, Inc. and its contributors
6
7 =================
8 Platform overview
9 =================
10
11 Introduction
12 ============
13
14 Network Functions Virtualization (NFV) is transforming the networking industry via
15 software-defined infrastructures and open source is the proven method for quickly developing
16 software for commercial products and services that can move markets.
17 Open Platform for NFV (OPNFV) facilitates the development and evolution of NFV
18 components across various open source ecosystems. Through system level integration,
19 deployment and testing, OPNFV constructs a reference NFV platform to accelerate the
20 transformation of enterprise and service provider networks.
21 As an open source project, OPNFV is uniquely positioned to bring together the work
22 of standards bodies, open source communities, service providers and commercial suppliers to deliver
23 a de facto NFV platform for the industry.
24
25 By integrating components from upstream projects, the community is able to conduct performance
26 and use case-based testing on a variety of solutions to ensure the platform’s suitability for
27 NFV use cases. OPNFV also works upstream with other open source communities to bring contributions
28 and learnings from its work directly to those communities in the form of blueprints, patches, bugs,
29 and new code.
30
31 OPNFV focuses on building NFV Infrastructure (NFVI) and Virtualised Infrastructure
32 Management (VIM) by integrating components from upstream projects such as OpenDaylight, ONOS, OpenContrail,
33 OVN, OpenStack, Kubernetes, Ceph Storage, KVM, Open vSwitch, and Linux.
34 More recently, OPNFV has extended its portfolio of forwarding solutions to include DPDK, fd.io and ODP,
35 is able to run on both Intel and ARM commercial and white-box hardware, support VM, Container and
36 BareMetal workloads, and includes Management and Network Orchestration MANO components primarily
37 for application composition and management in the Danube release.
38
39 These capabilities, along with application programmable interfaces (APIs) to other NFV
40 elements, form the basic infrastructure required for Virtualized Network Functions (VNF)
41 and MANO components.
42
43 Concentrating on these components while also considering proposed projects on additional
44 topics (such as the MANO components and applications themselves), OPNFV aims to enhance
45 NFV services by increasing performance and power efficiency improving reliability,
46 availability and serviceability, and delivering comprehensive platform instrumentation.
47
48
49 OPNFV Platform Architecture
50 ===========================
51
52 The OPNFV project addresses a number of aspects in the development of a consistent virtualisation
53 platform including common hardware requirements, software architecture, MANO and applications.
54
55
56 OPNFV Platform Overview Diagram
57
58 .. image:: ../images/diagram_fraser.png
59    :alt: Overview infographic of the opnfv platform and projects.
60
61
62 To address these areas effectively, the OPNFV platform architecture can be decomposed
63 into the following basic building blocks:
64
65 * Hardware: Infrastructure working group, Pharos project and associated activities
66 * Software Platform: Platform integration and deployment projects
67 * MANO: MANO working group and associated projects
68 * Tooling and testing: Testing working group and test projects
69 * Applications: All other areas and drive requirements for OPNFV
70
71 OPNFV Lab Infrastructure
72 ========================
73
74 The infrastructure working group oversees such topics as lab management, workflow,
75 definitions, metrics and tools for OPNFV infrastructure.
76
77 Fundamental to the WG is the
78 `Pharos Specification <https://wiki.opnfv.org/display/pharos/Pharos+Specification>`_
79 which provides a set of defined lab infrastructures over a geographically and technically
80 diverse federated global OPNFV lab.
81
82 Labs may instantiate bare-metal and virtual environments that are accessed remotely by the
83 community and used for OPNFV platform and feature development, build, deploy and testing.
84 No two labs are the same and the heterogeneity of the Pharos environment provides the ideal
85 platform for establishing hardware and software abstractions providing well understood
86 performance characteristics.
87
88 Community labs are hosted by OPNFV member companies on a voluntary basis.
89 The Linux Foundation also hosts an OPNFV lab that provides centralized CI
90 and other production resources which are linked to community labs.
91 Future lab capabilities will include the ability easily automate deploy and test of any
92 OPNFV install scenario in any lab environment as well as on a nested "lab as a service"
93 virtual infrastructure.
94
95 OPNFV Software Platform Architecture
96 ====================================
97
98 The OPNFV software platform is comprised exclusively of open source implementations of
99 platform component pieces.  OPNFV is able to draw from the rich ecosystem of NFV related
100 technologies available in open source communities, and then integrate, test, measure and improve these
101 components in conjunction with our upstream communities.
102
103 ---------------------------------
104 Virtual Infrastructure Management
105 ---------------------------------
106
107 OPNFV derives it's virtual infrastructure management from one of our largest upstream ecosystems
108 OpenStack.  OpenStack provides a complete reference cloud management system and associated technologies.
109 While the OpenStack community sustains a broad set of projects, not all technologies are relevant in
110 the NFV domain, the OPNFV community consumes a sub-set of OpenStack projects and the usage and
111 composition may vary depending on the installer and scenario.
112
113 For details on the scenarios available in OPNFV and the specific composition of components
114 refer to the :ref:`OPNFV User Guide & Configuration Guide <opnfv-user-config>`.
115
116 OPNFV now also has initial support for containerized VNFs.
117
118 -----------------
119 Operating Systems
120 -----------------
121
122 OPNFV currently uses Linux on all target machines, this can include Ubuntu, Centos or SUSE Linux. The
123 specific version of Linux used for any deployment is documented in the installation guide.
124
125 Networking Technologies
126 =======================
127
128 ---------------
129 SDN Controllers
130 ---------------
131 OPNFV, as an NFV focused project, has a significant investment on networking technologies
132 and provides a broad variety of integrated open source reference solutions.  The diversity
133 of controllers able to be used in OPNFV is supported by a similarly diverse set of
134 forwarding technologies.
135
136 There are many SDN controllers available today relevant to virtual environments
137 where the OPNFV community supports and contributes to a number of these.  The controllers
138 being worked on by the community during this release of OPNFV include:
139
140 * Neutron: an OpenStack project to provide “network connectivity as a service” between
141   interface devices (e.g., vNICs) managed by other OpenStack services (e.g. Nova).
142 * OpenDaylight: addresses multivendor, traditional and greenfield networks, establishing the
143   industry’s de facto SDN platform and providing the foundation for networks of the future.
144 * OpenContrail: An open source SDN controller designed for cloud and NFV use cases. It has an
145   analytics engine, well defined northbound REST APIs to configure and gather ops/analytics data.
146 * OVN: A virtual networking solution developed by the same team that created OVS. OVN stands for
147   Open Virtual Networking and is dissimilar from the above projects in that it focuses only on overlay networks.
148
149 ----------
150 Data Plane
151 ----------
152 OPNFV extends Linux virtual networking capabilities by using virtual switching
153 and routing components. The OPNFV community proactively engages with the following open source
154 communities to address performance, scale and resiliency needs apparent in carrier
155 networks.
156
157 * OVS (Open vSwitch): a production quality, multilayer virtual switch designed to enable massive
158   network automation through programmatic extension, while still supporting standard management interfaces and protocols.
159 * FD.io (Fast data - Input/Output): a high performance alternative to Open vSwitch, the core engine of
160   FD.io is a vector processing engine (VPP). VPP processes a number of packets in parallel instead of one at
161   a time thus significantly improving packet throughput.
162 * DPDK:  a set of libraries that bypass the kernel and provide polling mechanisms, instead of interrupt based operations,
163   to speed up packet processing. DPDK works with both OVS and FD.io.
164
165 ----
166 MANO
167 ----
168 OPNFV integrates open source MANO projects for NFV orchestration and VNF management.
169 New MANO projects are constantly being added, currently OPNFV integrates:
170 * OpenBaton: Open Baton is a ETSI NFV compliant Management and Orchestration (MANO) Framework.
171   It enables virtual Network Services deployments on top of heterogeneous NFV Infrastructures.
172   OpenBaton is also used to deploy vIMS (clearwater and openIMS).
173
174
175 Deployment Architecture
176 =======================
177
178 A typical OPNFV deployment starts with three controller nodes running in a high availability
179 configuration including control plane components from OpenStack, SDN controllers, etc. and a minimum
180 of two compute nodes for deployment of workloads (VNFs).
181 A detailed description of the hardware requirements required to support the 5 node configuration
182 can be found in pharos specification: `Pharos Project <https://www.opnfv.org/developers/pharos>`_
183
184 In addition to the deployment on a highly available physical infrastructure, OPNFV can be
185 deployed for development and lab purposes in a virtual environment.  In this case each of the hosts
186 is provided by a virtual machine and allows control and workload placement using nested virtualization.
187
188 The initial deployment is done using a staging server, referred to as the "jumphost".
189 This server-either physical or virtual-is first installed with the installation program
190 that then installs OpenStack and other components on the controller nodes and compute nodes.
191 See the :ref:`OPNFV User Guide & Configuration Guide <opnfv-user-config>` for more details.
192
193
194 The OPNFV Testing Ecosystem
195 ===========================
196
197 The OPNFV community has set out to address the needs of virtualization in the carrier
198 network and as such platform validation and measurements are a cornerstone to the
199 iterative releases and objectives.
200
201 To simplify the complex task of feature, component and platform validation and characterization
202 the testing community has established a fully automated method for addressing all key areas of
203 platform validation. This required the integration of a variety of testing frameworks in our CI
204 systems, real time and automated analysis of results, storage and publication of key facts for
205 each run as shown in the following diagram.
206
207 .. image:: ../images/OPNFV_testing_working_group.png
208   :alt: Overview infographic of the OPNFV testing Ecosystem
209
210 Release Verification
211 ====================
212
213 The OPNFV community relies on its testing community to establish release criteria for each OPNFV
214 release. With each release cycle the testing criteria become more stringent and better representative
215 of our feature and resiliency requirements. Each release establishes a set of deployment scenarios to validate,
216 the testing infrastructure and test suites need to accommodate these features and capabilities.
217
218 The release criteria as established by the testing teams include passing a set of test cases
219 derived from the functional testing project ‘functest,’ a set of test cases derived from our
220 platform system and performance test project ‘yardstick,’ and a selection of test cases for
221 feature capabilities derived from other test projects such as bottlenecks, vsperf, cperf and
222 storperf. The scenario needs to be able to be deployed, pass these tests, and be removed from
223 the infrastructure iteratively in order to fulfill the release criteria.
224
225 --------
226 Functest
227 --------
228 Functest provides a functional testing framework incorporating a number of test suites
229 and test cases that test and verify OPNFV platform functionality.
230 The scope of Functest and relevant test cases can be found in the :ref:`Functest User Guide <functest-userguide>`
231
232 Functest provides both feature project and component test suite integration, leveraging
233 OpenStack and SDN controllers testing frameworks to verify the key components of the OPNFV
234 platform are running successfully.
235
236 ---------
237 Yardstick
238 ---------
239 Yardstick is a testing project for verifying the infrastructure compliance when running VNF applications.
240 Yardstick benchmarks a number of characteristics and performance vectors on the infrastructure making it
241 a valuable pre-deployment NFVI testing tools.
242
243 Yardstick provides a flexible testing framework for launching other OPNFV testing projects.
244
245 There are two types of test cases in Yardstick:
246
247 * Yardstick generic test cases and OPNFV feature test cases;
248   including basic characteristics benchmarking in compute/storage/network area.
249 * OPNFV feature test cases include basic telecom feature testing from OPNFV projects;
250   for example nfv-kvm, sfc, ipv6, Parser, Availability and SDN VPN
251
252 System Evaluation and compliance testing
253 ========================================
254
255 The OPNFV community is developing a set of test suites intended to evaluate a set of reference
256 behaviors and capabilities for NFV systems developed externally from the OPNFV ecosystem to
257 evaluate and measure their ability to provide the features and capabilities developed in the
258 OPNFV ecosystem.
259
260 The Dovetail project will provide a test framework and methodology able to be used on any NFV platform,
261 including an agreed set of test cases establishing an evaluation criteria for exercising
262 an OPNFV compatible system. The Dovetail project has begun establishing the test framework
263 and will provide a preliminary methodology for the Danube release. Work will continue to
264 develop these test cases to establish a stand alone compliance evaluation solution
265 in future releases.
266
267 Additional Testing
268 ==================
269
270 Besides the test suites and cases for release verification, additional testing is performed to validate
271 specific features or characteristics of the OPNFV platform.
272 These testing framework and test cases may include some specific needs; such as extended measurements,
273 additional testing stimuli, or tests simulating environmental disturbances or failures.
274
275 These additional testing activities provide a more complete evaluation of the OPNFV platform.
276 Some of the projects focused on these testing areas include:
277
278 -----------
279 Bottlenecks
280 -----------
281 Bottlenecks provides a framework to find system limitations and bottlenecks, providing
282 root cause isolation capabilities to facilitate system evaluation.
283
284 --------
285 NFVBench
286 --------
287 NFVbench is a lightweight end-to-end dataplane benchmarking framework project.
288 It includes traffic generator(s) and measures a number of packet performance related metrics.
289
290 ----
291 QTIP
292 ----
293 QTIP boils down NFVI compute and storage performance into one single metric for easy comparison.
294 QTIP crunches these numbers based on five different categories of compute metrics and relies on
295 Storperf for storage metrics.
296
297 --------
298 Storperf
299 --------
300 Storperf measures the performance of external block storage. The goal of this project is
301 to provide a report based on SNIA’s (Storage Networking Industry Association) Performance Test Specification.
302
303 ------
304 VSPERF
305 ------
306 VSPERF provides an automated test-framework and comprehensive test suite for measuring data-plane
307 performance of the NFVI including switching technology, physical and virtual network interfaces.
308 The provided test cases with network topologies can be customized while also allowing individual
309 versions of Operating System, vSwitch and hypervisor to be specified.
310
311
312
313
314 .. _`OPNFV Configuration Guide`: `OPNFV User Guide & Configuration Guide`
315 .. _`OPNFV User Guide`: `OPNFV User Guide & Configuration Guide`
316 .. _`Dovetail project`: https://wiki.opnfv.org/display/dovetail