11# Planes
22
3- Resources and methods on an API can be divided into the _ plane _ that they
4- reside or perform operations upon. For the context of APIs, the following
5- planes are defined :
3+ Systems such as software-defined networks and public clouds have distinct sets
4+ of APIs which are crucial for accomplishing a full user journey. For example, in
5+ networking, a user must :
66
7- - Management plane: a uniform, resource-oriented API that primarily configures
8- and allows retrieval of resources.
9- - Data plane: a heterogenous API (ideally resource-oriented) that reads and
10- write user data. Often connects to entities provisioned by the management
11- plane, such as virtual machines.
7+ 1 . Configure the network to determine how data will flow (e.g. defining network
8+ interfaces, gateways)
9+ 2 . Send data through the network.
10+
11+ The API and operations for these steps can be divided into layers known as
12+ _ planes_ , indicating the role that the API plays in data.
1213
13- The term "plane" was originally used in networking architecture. Although
14- system and network architecture often defines additional planes (e.g. control
15- plane or power planes), as the AEPs are focused on the interface, they are not
16- defined in this AEP.
14+ The AEPs define the following planes:
15+
16+ - Management plane: contains AEP-compliant, resource-oriented APIs that
17+ primarily configure and allow retrieval of resources. APIs in the management
18+ plane generally do no accept nor interact with user data directly.
19+ - Data plane: a heterogenous API (ideally resource-oriented) that reads and
20+ writes user data. Often connects to entities provisioned by the management
21+ plane plane, such as virtual machines.
1722
1823## Guidance
1924
2025### Management Plane
2126
2227Management resources and methods exist primarily to provision, configure, and
23- audit the resources that the data plane interfaces with .
28+ audit the resources that the data plane APIs operates on .
2429
25- As an example, the following are considered management resources for a cloud
30+ For example, the following are considered management resources for a cloud
2631provider:
2732
2833- virtual machines
@@ -41,9 +46,9 @@ Examples of data plane methods include:
4146- pushing to or pulling from a message queue
4247- uploading blobs to or downloading blobs from a blob store instance
4348
44- Data plane APIs ** may** be heterogenous across a larger API surface, due to
45- requirements including high throughput, low latency, or the need to adhere to
46- an existing interface specification (e.g. ANSI SQL).
49+ Data plane APIs ** may** not comply to AEPs due to requirements including high
50+ throughput, low latency, or the need to adhere to an existing interface
51+ specification (e.g. ANSI SQL).
4752
4853- For convenience, resources and methods that operate on the data plane ** may**
4954 expose themselves via resource-oriented management APIs. If so, those
0 commit comments