Skip to content

Commit 0367691

Browse files
committed
Enhance PDP documentation with Edge and Cloud distinctions
- Introduced clear definitions and distinctions between Managed Cloud PDP and Edge PDP deployment types. - Updated sections to emphasize the benefits of Edge PDP for latency-sensitive and advanced scenarios. - Revised documentation to reflect terminology changes, including the use of "Edge PDP" for self-hosted deployments. - Added guidance for users on when to choose Edge PDP over Managed Cloud PDP, including specific use cases and deployment models.
1 parent 19f4e31 commit 0367691

File tree

3 files changed

+54
-15
lines changed

3 files changed

+54
-15
lines changed

docs/concepts/pdp/overview.mdx

Lines changed: 38 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,16 @@ Like all of Permit's customer deployed components, the [Permit PDP is open-sourc
1616
## Use the PDP
1717
There are several ways you can use the PDP for testing and enforcement:
1818

19+
### PDP deployment types: Cloud vs Edge
20+
21+
When we talk about PDP deployment, we distinguish between:
22+
23+
- **Managed Cloud PDP** – A fully managed, multi-tenant PDP hosted by Permit.io at `https://cloudpdp.api.permit.io`.
24+
Ideal for **fast onboarding**, **low-ops production workloads**, and **standard RBAC/ReBAC** authorization at scale.
25+
- **Edge PDP (self-hosted PDP)** – PDP containers you run as a **sidecar**, **centralized service**, or **cluster** inside your own VPC, Kubernetes cluster, or VMs.
26+
Ideal when you need **tight latency within your own network**, **ABAC**, **custom data sources**, **read-your-own-writes**, or **PDP-level callbacks and healthchecks**.
27+
28+
Most teams **start** with the Managed Cloud PDP to get value quickly, and then **introduce Edge PDPs** for latency-sensitive or advanced scenarios.
1929

2030
### Managed Cloud PDP
2131

@@ -112,11 +122,11 @@ Cloud PDP supports **RBAC and ReBAC** policy models. **ABAC is not supported** o
112122

113123
For detailed capabilities and limits, see [Cloud PDP Capabilities](/concepts/pdp/cloud-pdp-capabilities).
114124

115-
We recommend deploying a local PDP inside your network for ABAC policies and for specialized or latency-sensitive production deployments.
125+
We recommend deploying an **Edge PDP (self-hosted PDP)** inside your network for **ABAC** policies, **read-your-own-writes** semantics, and specialized or latency-sensitive production deployments.
116126
:::
117127

118-
### Run a Local PDP With Docker
119-
You can run a PDP on your local machine as a container on [Docker Desktop](https://docs.docker.com/get-docker/). You will need this to use ABAC / ReBAC policies.
128+
### Run an Edge PDP With Docker
129+
You can run an **Edge PDP** on your local machine as a container on [Docker Desktop](https://docs.docker.com/get-docker/). You will need this to use **ABAC** / advanced policies, custom data sources, and consistency features such as **Send Consistent Updates (read-your-own-writes)**.
120130

121131
To run the PDP use the following command:
122132

@@ -214,7 +224,27 @@ permit = Permit.new(
214224

215225
## Production Deployment Models
216226

217-
Permit.io supports all PDP layouts and provides the missing layers on-top of open-source PDP solutions (such as OpenPolicyAgent). These layers include policy delivery and updating, supporting data collection, application level SDKs, application level instrumentation and more.
227+
Permit.io supports all **Edge PDP** layouts and provides the missing layers on-top of open-source PDP solutions (such as OpenPolicyAgent).
228+
These layouts describe **self-hosted PDPs that you run inside your own infrastructure**.
229+
These layers include policy delivery and updating, supporting data collection, application level SDKs, application level instrumentation and more.
230+
231+
:::info New to PDPs?
232+
If you're just getting started, follow this journey:
233+
234+
- **Step 1**[Run your First Policy Check (Managed Cloud PDP)](/overview/perform-policy-check-with-cloud-pdp) to see Permit in action with the Managed Cloud PDP.
235+
- **Step 2**[Run Local Authorization Microservice (Edge PDP)](/overview/local-authorization-microservice) to deploy an Edge PDP in your own environment.
236+
:::
237+
238+
:::warning Cloud PDP – when not to use it
239+
The Managed Cloud PDP is powerful and production-ready for many RBAC/ReBAC workloads, but you should **prefer an Edge PDP** when you need:
240+
241+
- **ABAC** policies or custom external data sources
242+
- **Read-your-own-writes** guarantees using [Send Consistent Updates](/how-to/manage-data/local-facts-uploader)
243+
- **PDP-level callbacks / health-based consistency hooks** into your infrastructure
244+
- **Hard latency SLOs strictly within your own VPC or on-prem network**
245+
246+
For these cases, deploy an **Edge PDP (self-hosted PDP)** as a sidecar, centralized service, or cluster close to your applications.
247+
:::
218248

219249
:::info
220250
Custom cloud PDP deployments are available to enterprise tier customers.
@@ -224,7 +254,7 @@ Please reach out to us at [support@permit.io](mailto:support@permit.io), or sche
224254
:::
225255

226256

227-
### Hosted as a Sidecar
257+
### Hosted as an Edge PDP Sidecar
228258

229259
The simplest way to integrate PDPs into a microservices architecture is as sidecars;
230260
meaning each microservice has a sidecar container next to it which it can query for policy.
@@ -246,7 +276,7 @@ flowchart LR
246276
style pdp fill:#f76808,color:#fff;
247277
```
248278

249-
### Centralized PDP
279+
### Centralized Edge PDP
250280

251281
You can deploy a centralized PDP to handle authorization queries from multiple services.
252282

@@ -269,7 +299,7 @@ flowchart LR
269299
style pdp fill:#f76808,color:#fff;
270300
```
271301

272-
### Cluster of PDPs
302+
### Cluster of Edge PDPs
273303

274304
For high availability and scalability, you can deploy a cluster of PDPs behind a load balancer.
275305

@@ -300,7 +330,7 @@ flowchart LR
300330
style lb fill:#4e7ef2,color:#fff;
301331
```
302332

303-
### Sharded PDPs
333+
### Sharded Edge PDPs
304334

305335
For truly massive data sets needed in the PDP, you can apply sharding to split the data between multiple PDPs within the same cluster.
306336

docs/how-to/deploy/overview.mdx

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@ The updates happen asynchronously in the background - they are not part of the a
3535
Like all Permit customer deployed components, the [Permit PDP is open-source](https://github.com/permitio/PDP).
3636
:::
3737

38-
We often refer to the cloud-hosted PDP option as full-SaaS or cloud-PDP, and the local PDP option as [hybrid SaaS](/concepts/control-plane-and-data-plane).
39-
Hybrid SaaS is the default recommended layout.
38+
We refer to customer-hosted PDPs (sidecar, cluster, or centralized in your VPC) as **Edge PDPs**, and the cloud-hosted PDP option as the **Managed Cloud PDP**.
39+
Running an **Edge PDP** is our **default recommendation for production**, while the Managed Cloud PDP is ideal for fast onboarding and low-ops workloads.
4040

4141
### Cloud PDP
4242

@@ -58,7 +58,7 @@ Custom Hosted PDP deployments (e.g. different AWS regions, different clouds, dif
5858
Please reach out to us at [support@permit.io](mailto:support@permit.io), or schedule a call via this link: [https://calendly.com/permitio/](https://calendly.com/permitio/)
5959
:::
6060

61-
### Sidecar
61+
### Sidecar (Edge PDP)
6262

6363
```mermaid
6464
flowchart LR
@@ -71,12 +71,12 @@ flowchart LR
7171
end
7272
```
7373

74-
The most common way to deploy the PDP locally is as a sidecar (or daemon-set) - i.e. you run one PDP container next to each
74+
The most common way to deploy an **Edge PDP** locally is as a sidecar (or daemon-set) - i.e. you run one PDP container next to each
7575
of your own microservices.
7676
This is also the easiest way to scale your authorization layer with your application.
7777

7878
In this layout you of course enjoy zero-latency between your application and the PDP - this together with
79-
improved stability and security (no dependency on other clouds) is the main reason to use a local PDP compared to a cloud pdp.
79+
improved stability and security (no dependency on other clouds) is the main reason to use an **Edge PDP** compared to the Managed Cloud PDP.
8080

8181
#### Running the sidecar in Kubernetes?
8282

@@ -103,7 +103,8 @@ healthcheck:
103103
In Kubernetes, use a readiness probe as detailed in [this guide](/how-to/deploy/cloud-hosts/kubernetes-raw/#readiness-probe).
104104
:::
105105
106-
If you need more advanced policy level healthchecks, you can read more about them as part of OPAL [here](https://docs.opal.ac/tutorials/healthcheck_policy_and_update_callbacks/).
106+
If you need more advanced policy level healthchecks, you can read more about them as part of OPAL [here](https://docs.opal.ac/tutorials/healthcheck_policy_and_update_callbacks/).
107+
These advanced healthchecks and callbacks apply to **Edge PDPs (self-hosted PDPs)** and are **not available on the Managed Cloud PDP**.
107108
108109
### Cluster
109110

docs/overview/perform-policy-check-with-cloud-pdp.mdx

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,21 @@
11
---
22
sidebar_position: 3
3-
title: Run your First Policy Check
3+
title: Run your First Policy Check (Managed Cloud PDP)
44
timeline: true
55
---
66

77
Performing your first **policy check** is a key step in understanding and validating the policies you've configured.
88
The policy decision point (PDP) lies at the heart of Permit's Authorization system, determining whether a user is authorized
99
to perform specific actions on a resource. This ensures that your access control model is working as intended.
1010

11+
:::info Which PDP is this using?
12+
This guide uses the **Managed Cloud PDP** hosted by Permit.io at `https://cloudpdp.api.permit.io`.
13+
It is **fully managed and eventually consistent**, and is great for quickly trying out Permit and for many production workloads that don't require strict read-your-own-writes guarantees.
14+
15+
If you already know you need **ABAC policies**, **strict read-your-own-writes consistency**, or to keep all authorization traffic **inside your own VPC**, you can skip ahead to
16+
**[Run Local Authorization Microservice (Edge PDP)](/overview/local-authorization-microservice)**.
17+
:::
18+
1119
import CodeBlock from "../../src/components/code-block/CodeBlock";
1220
import WhatsNext from "../../src/components/whats-next/WhatsNext";
1321
import TimelineStep from "../../src/components/timeline/TimelineStep";

0 commit comments

Comments
 (0)