Skip to content

Commit d375af4

Browse files
authored
Merge pull request #597 from citrix/deployment-topology-description-update
added guidelines for choosing topology
2 parents c7493f9 + ae62dcf commit d375af4

File tree

1 file changed

+43
-12
lines changed

1 file changed

+43
-12
lines changed

docs/deployment-topologies.md

Lines changed: 43 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,17 @@
22

33
Citrix ADCs can be combined in powerful and flexible topologies that complement organizational boundaries. Dual-tier deployments employ high-capacity hardware or virtualized Citrix ADCs (Citrix ADC MPX and VPX) in the first tier to offload security functions and implement relatively static organizational policies while segmenting control between network operators and Kubernetes operators.
44

5-
In Dual-tier deployments, the second tier is within the Kubernetes Cluster (using the Citrix ADC CPX) and is under control of the service owners. This setup provides stability for network operators, while allowing Kubernetes users to implement high-velocity changes. Single-tier topologies are suited to organizations that need to handle high rates of change.
5+
In Dual-tier deployments, the second tier is within the Kubernetes Cluster (using the Citrix ADC CPX) and is under the control of the service owners. This setup provides stability for network operators, while allowing Kubernetes users to implement high-velocity changes. Single-tier topologies are suited to organizations that need to handle high rates of change.
66

77
## Single-Tier topology
88

9-
In a Single-Tier topology, Citrix ADC MPX or VPX devices proxy the (North-South) traffic from the clients to microservices inside the cluster. The Citrix ingress controller is deployed as a standalone pod in the Kubernetes cluster. The controller automates the configuration of Citrix ADCs (MPX or VPX) based on the changes to the microservices or the Ingress resources.
9+
In a Single-Tier topology, Citrix ADC MPX or VPX devices proxy the (north-south) traffic from the clients to microservices inside the cluster. The Citrix ingress controller is deployed as a standalone pod in the Kubernetes cluster. The controller automates the configuration of Citrix ADCs (MPX or VPX) based on the changes to the microservices or the Ingress resources.
1010

1111
![Single-tier](media/singletopology.png)
1212

1313
## Dual-Tier topology
1414

15-
In Dual-Tier topology, Citrix ADC MPX or VPX devices in Tier-1 proxy the traffic (North-South) from the client to Citrix ADC CPXs in Tier-2. The Tier-2 Citrix ADC CPX then routes the traffic to the microservices in the Kubernetes cluster. The Citrix ingress controller deployed as a standalone pod configures the Tier-1 devices. And, the sidecar controller in one or more Citrix ADC CPX pods configures the associated Citrix ADC CPX in the same pod.
15+
In Dual-Tier topology, Citrix ADC MPX or VPX devices in Tier-1 proxy the traffic (north-south) from the client to Citrix ADC CPXs in Tier-2. The Tier-2 Citrix ADC CPX then routes the traffic to the microservices in the Kubernetes cluster. The Citrix ingress controller deployed as a standalone pod configures the Tier-1 devices. And, the sidecar controller in one or more Citrix ADC CPX pods configures the associated Citrix ADC CPX in the same pod.
1616

1717
![Dual-tier](media/dualtier.png)
1818

@@ -28,21 +28,29 @@ Kubernetes clusters in public clouds such as [Amazon Web Services (AWS)](https:/
2828

2929
## Service mesh lite
3030

31-
An Ingress solution (either hardware or virtualized or containerized) typically performs L7 proxy functions for north-south (N-S) traffic. The Service Mesh lite architecture uses the same Ingress solution to manage east-west traffic as well.
31+
An Ingress solution typically performs layer 7 proxy functions for traffic from client to microservices inside the Kubernetes cluster (north-south traffic). The Service mesh lite architecture uses the same Ingress solution to manage the traffic across services with in the Kubernetes cluster (east-west traffic) as well. Typically a service mesh solution is used for managing east-west traffic, but it is heavier and complex to manage. Service mesh lite solution is a simplified version of the service mesh architecture and ideal when there is a need to manage both north-south and east-west traffic management. In a service mesh, there are as many sidecar proxies as the number of applications. But, in the service mesh lite architecture, a proxy is deployed as a standalone proxy managing multiple East-West connections. Hence, the Service mesh lite solution is lighter compared to a service mesh
32+
because the number of proxies required are less.
3233

33-
In a standard Kubernetes deployment, east-west (E-W) traffic traverses the built-in KubeProxy deployed in each node. [Kube-proxy](https://kubernetes.io/docs/concepts/overview/components/#kube-proxy) being a L4 proxy can only do TCP/UDP based load balancing without the benefits of L7 proxy.
34+
In a standard Kubernetes deployment, east-west traffic traverses the built-in kube-proxy deployed in each node. [Kube-proxy](https://kubernetes.io/docs/concepts/overview/components/#kube-proxy) being a L4 proxy can only do TCP/UDP based load balancing without the benefits of L7 proxy.
3435

35-
Citrix ADC (MPX, VPX, or CPX) can provide such benefits for E-W traffic such as:
36+
Citrix ADC (MPX, VPX, or CPX) can provide such benefits for east-west traffic such as:
3637

3738
- Mutual TLS or SSL offload
38-
- Content based routing, allow or block traffic based on HTTP or HTTPS header parameters
39+
- Content based routing, allow, or block traffic based on HTTP or HTTPS header parameters
3940
- Advanced load balancing algorithms (for example, least connections, least response time and so on.)
4041
- Observability of east-west traffic through measuring golden signals (errors, latencies, saturation, or traffic volume). [Citrix ADM’s](https://docs.citrix.com/en-us/citrix-application-delivery-management-service.html) Service Graph is an observability solution to monitor and debug microservices.
4142

4243
For more information, see [Service mesh lite](deploy/service-mesh-lite.md).
4344

4445
![Dual-tier-Hairpin-mode](media/dual-tier-topology-with-hairpin-E-W.png)
4546

47+
Following are some of the scenarios when service mesh lite topology is recommended:
48+
49+
- When you need both the north-south and the east-west traffic management for microservices.
50+
- When you need the east-west traffic management through a proxy deployed as a standalone proxy and not as sidecar proxies to microservices.
51+
- When you need the proxy inside the Kubernetes cluster to perform both north-south and east-west traffic management.
52+
- When you need the benefits of service mesh, but wants a lighter and simpler solution.
53+
4654
## Services of type LoadBalancer
4755

4856
Services of type `LoadBalancer` in Kubernetes enables you to directly expose services to the outside world without using an ingress resource. It is made available only by cloud providers, who spin up their own native cloud load balancers and assign an external IP address through which the service is accessed. This helps you to deploy microservices easily and expose them outside the Kubernetes cluster.
@@ -65,6 +73,28 @@ For more information, see [Expose services of type NodePort](network/nodeport.md
6573

6674
![Services of type NodePort](media/type-nodeport.png)
6775

76+
## Guidelines for choosing the topology
77+
78+
The following information helps you to choose the right deployment among the topologies Single-Tier and Dual-tier based on your needs.
79+
80+
### Single-Tier (Unified Ingress)
81+
82+
Following are some of the scenarios when Single-Tier (unified ingress) topology is recommended and the benefits:
83+
84+
- Easy to start and adopt because you can use the existing NetScaler as the ingress proxy in front of the Kubernetes cluster.
85+
- When the Network team manages both NetScaler and the Kubernetes deployment.
86+
- Your workload running as microservices is less and a Kubernetes proxy inside the Kubernetes cluster is not required.
87+
- More suitable for north-south traffic deployments.
88+
89+
### Dual-Tier
90+
91+
Following are some of the scenarios when Dual-Tier ingress topology is preferred and the benefits:
92+
93+
- When you have significant workload running as microservices there is a need for a proxy inside the Kubernetes cluster.
94+
- When the external proxy (managed by the network team) and Kubernetes proxies (managed by platform team) are managed by two different teams.
95+
- You need segregation of functions for proxies external to Kubernetes and for proxies inside Kubernetes. For example, WAF, and SSL offload on external NetScaler and policy enforcement and rate limiting on the Kubernetes proxy.
96+
- The proxy inside the Kubernetes cluster performs north-south traffic management only.
97+
6898
## Deployment using Helm charts and the Citrix deployment builder
6999

70100
For deploying Citrix cloud native topologies, there are various options available using YAML and Helm charts. Helm charts are one of the easiest ways for deployment in a Kubernetes environment. When you deploy using the Helm charts, you can use a `values.yaml` file to specify the values of the configurable parameters instead of providing each parameter as an argument.
@@ -76,17 +106,18 @@ The following topologies are supported by the Citrix deployment builder:
76106
- Single-Tier
77107

78108
- Ingress
79-
109+
80110
- Service type LoadBalancer
81111

82112
- Dual-Tier
83-
113+
84114
- Citrix ADC CPX as NodePort
85-
115+
86116
- Citrix ADC CPX as service of type LoadBalancer
87-
117+
88118
- Multi-cluster Ingress
89119

90120
- Service mesh
91121

92-
For detailed information on how to use the Citrix deployment builder, see the [Citrix deployment builder blog](https://www.citrix.com/blogs/2021/03/02/citrix-deployment-builder-simplifying-citrix-cloud-native-deployments/#).
122+
For detailed information on how to use the Citrix deployment builder, see the [Citrix deployment builder blog](https://www.citrix.com/blogs/2021/03/02/citrix-deployment-builder-simplifying-citrix-cloud-native-deployments/#).
123+

0 commit comments

Comments
 (0)