In modern application architectures, a data plane houses and transports application and data traffic. In addition to the data plane, cloud-native management also operates on a management plane and control plane.
When deploying cloud-native applications, this management layer controls the application traffic between different environments, applications, and platforms. Due to their lack of visibility and gaps in governance, distributed environments expand the threat surface and increase the likelihood of outages.
The data plane is crucial for building high-performance modern applications at scale. Key metrics that determine application performance, such as user experience and latency, depend on a responsive, reliable, and highly scalable data plane. Dictating application behavior, a data plane is where all policies, service-level agreements (SLAs), and scaling or behavior triggers (e.g. retries, keepalives, and horizontal scaling) are executed.
In Kubernetes, the data plane consists of worker nodes with their pods and containers communicating via kubelet agents, which share the state and conditions with the container engine and database that maintains state information. Each node has a kubelet, which receives configuration instructions from the control plane (in this case, an API server). While somewhat different in construction and design than the data plane used in traditional three-tier web apps, the function of a Kubernetes data plane is roughly the same – to make sure apps perform well.
To learn more about the data plane, read The New Stack article Data, Control, Management: Three Planes, Different Altitudes.
How Can NGINX Help?
In this hybrid and fast-evolving landscape, a cloud-native management solution is needed to effectively connect, operate, and secure a complex portfolio of microservices and applications. At NGINX, we are building a suite of tools to ensure observability, reliability, governance, and security across all three planes.