Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Modify Distributed Deployment docs to be in line with the new component model #9030

Open
wants to merge 8 commits into
base: 4.5.0
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified en/docs/assets/img/setup-and-install/deployment-km.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified en/docs/assets/img/setup-and-install/deployment-pattern4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified en/docs/assets/img/setup-and-install/deployment-tm.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,6 @@ Basic health checks can be performed on an API Manager node by connecting to rel
| Traffic Manager | 5672 (TCP), 9611 (TCP) |
| Key Manager | 9673 (HTTP), 9443 (HTTPS) |

For more information on each profile, see [API Manager Profiles]({{base_path}}/install-and-setup/setup/distributed-deployment/product-profiles).

There can be scenarios where even though the ports are responding, the services are not properly started. It is advisable to use service-level health checks to ensure that the services are started. For example, API Manager by default is shipped with the simple axis2 service named `Version`. This service returns the version of the API Manager instance that is running currently.

A sample cURL command and the response from the `Version` service are given below.
Expand Down
78 changes: 14 additions & 64 deletions en/docs/install-and-setup/setup/deployment-overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,10 @@ The integration cluster may be a Micro Integrator cluster or a Streaming Integra

<ul>
<li>
<a href="{{base_path}}/install-and-setup/setup/mi-setup/deployment/deploying_wso2_ei">Micro Integrator Cluster with Minimum High Availability</a>
<a href="https://mi.docs.wso2.com/en/4.3.0/install-and-setup/setup/deployment/deploying-wso2-mi/">Micro Integrator Cluster with Minimum High Availability</a>
</li>
<li>
<a href="{{base_path}}/install-and-setup/setup/si-deployment/deploying-si-as-minimum-ha-cluster">Streaming Integrator Cluster with Minimum High Availability</a>
<a href="https://ei.docs.wso2.com/en/latest/streaming-integrator/setup/deploying-si-as-minimum-ha-cluster/">Streaming Integrator Cluster with Minimum High Availability</a>
</li>
</ul>

Expand Down Expand Up @@ -63,116 +63,66 @@ The integration cluster consists of two nodes of the integration runtime for eac

<ul>
<li>
<a href="{{base_path}}/install-and-setup/setup/mi-setup/deployment/deploying_wso2_ei">Micro Integrator Cluster with Minimum High Availability</a>
<a href="https://mi.docs.wso2.com/en/4.3.0/install-and-setup/setup/deployment/deploying-wso2-mi/">Micro Integrator Cluster with Minimum High Availability</a>
</li>
<li>
<a href="{{base_path}}/install-and-setup/setup/si-deployment/deploying-si-as-minimum-ha-cluster">Streaming Integrator Cluster with Minimum High Availability</a>
<a href="https://ei.docs.wso2.com/en/latest/streaming-integrator/setup/deploying-si-as-minimum-ha-cluster/">Streaming Integrator Cluster with Minimum High Availability</a>
</li>
</ul>

## Simple scalable deployment

This pattern allows you to scale the deployment on demand. The **simple scalable deployment** pattern shown below illustrates a deployment that uses minimum resources. However, this setup can easily be scaled.

You need to set up three clusters of the different components and runtimes as they have different scaling requirements.
You need to set up four clusters of the different components and runtimes as they have different scaling requirements.

!!! Note
The basic deployment suggests two nodes of each runtime to ensure minimum high availability. However, you can independently scale them depending on the requirements.

<a href="{{base_path}}/assets/img/setup-and-install/basic-scalable-deployment.png"><img src="{{base_path}}/assets/img/setup-and-install/basic-scalable-deployment.png" alt="Simple scalability" width="80%"></a>
<a href="{{base_path}}/assets/img/setup-and-install/deployment-pattern4.png"><img src="{{base_path}}/assets/img/setup-and-install/deployment-pattern4.png" alt="Simple scalability" width="80%"></a>

### API-M cluster

The API-M layer of this deployment consists of two clusters of API-M components as follows:
The API-M layer of this deployment consists of three clusters of API-M component distributions as follows:

<table>
<tr>
<th>
Control Plane Cluster
</th>
<td>
The APIM control plane consists of two nodes of the <b>Control Pane</b> API-M profile (Publisher, Devportal, Key Manager, Traffic Manager). The two node cluster is the simplest deployment for this pattern. If required you can scale the number of nodes.
The Control Plane cluster consists of two nodes of the <b>API Control Pane</b> distribution (Publisher, Devportal, Key Manager). The two node cluster is the simplest deployment for this pattern. If required you can scale the number of nodes.
</td>
</tr>
<tr>
<th>
Gateway Cluster
Data Plane Cluster
</th>
<td>
The Gateway profile of API-M is deployed as a separate cluster so that we can scale it to match the traffic requirements. The simplest deployment for this pattern consists of a two node Gateway cluster. If required you can scale the number of nodes.
</td>
</tr>
</table>

To set up this cluster, see the instructions on <a href="{{base_path}}/install-and-setup/setup/distributed-deployment/deploying-wso2-api-m-in-a-distributed-setup">Setting up a Distributed API-M deployment</a>.

### Integration cluster

The integration cluster consist of a minimum of two nodes of the integration runtime (Micro Integrator/Streaming Integrator). See the following links for instructions on how to set up this cluster.

<ul>
<li>
<a href="{{base_path}}/install-and-setup/setup/mi-setup/deployment/deploying_wso2_ei">Micro Integrator Cluster with Minimum High Availability</a>
</li>
<li>
<a href="{{base_path}}/install-and-setup/setup/si-deployment/deploying-si-as-minimum-ha-cluster">Streaming Integrator Cluster with Minimum High Availability</a>
</li>
</ul>

## Simple scalable deployment with Traffic Manager separation

This pattern allows you to scale the deployment on demand. The **simple scalable deployment with Traffic Manager separation** deployment pattern shown below illustrates a deployment that uses minimum resources. However, this setup can easily be scaled. This deployment pattern can be used only when you need to run the Traffic Manager nodes separately due to deployment complexities.

You need to set up three clusters of the different components and runtimes as they have different scaling requirements.

!!! Note
The basic deployment suggests two nodes of each runtime to ensure minimum high availability. However, you can independently scale them depending on the requirements.


<a href="{{base_path}}/assets/img/setup-and-install/deployment-pattern4.png"><img src="{{base_path}}/assets/img/setup-and-install/deployment-pattern4.png" alt="Simple scalability with Traffic Manager separation" width="80%"></a>

### API-M cluster

The API-M layer of this deployment consists of two clusters of API-M components as follows:

<table>
<tr>
<th>
Control Plane Cluster
</th>
<td>
The APIM control plane consists of two nodes of the <b>Control Pane</b> API-M profile (Publisher, Devportal, Key Manager, Traffic Manager). The two node cluster is the simplest deployment for this pattern. If required you can scale the number of nodes.
</td>
</tr>
<tr>
<th>
Gateway Cluster
</th>
<td>
The Gateway profile of API-M is deployed as a separate cluster so that we can scale it to match the traffic requirements. The simplest deployment for this pattern consists of a two node Gateway cluster. If required you can scale the number of nodes.
The <b>Universal Gateway</b> distribution of API-M is deployed as a separate cluster so that we can scale it to match the traffic requirements. The simplest deployment for this pattern consists of a two node cluster. If required you can scale the number of nodes.
</td>
</tr>
<tr>
<th>
Traffic Manager Cluster
</th>
<td>
The Traffic Manager profile of API-M is deployed as a separate cluster so that we can scale it to match the traffic requirements. The simplest deployment for this pattern consists of a two node Traffic Manager cluster. If required you can scale the number of nodes.
The <b>Traffic Manager</b> distribution of API-M is deployed as a separate cluster so that we can scale it to address requirements of rate limiting of requests processed by the data plane. The simplest deployment for this pattern consists of a two node cluster. If required you can scale the number of nodes.
</td>
</tr>
</table>

To set up this cluster, see the instructions on <a href="{{base_path}}/install-and-setup/setup/distributed-deployment/deploying-wso2-api-m-in-a-distributed-setup-with-tm-separated">Setting up a Distributed API-M deployment</a>.
To set up this cluster, see the instructions on <a href="{{base_path}}/install-and-setup/setup/distributed-deployment/deploying-wso2-api-m-in-a-distributed-setup">Setting up a Distributed API-M deployment</a>.

### Integration cluster

The integration cluster consist of a minimum of two nodes of the integration runtime (Micro Integrator/Streaming Integrator). See the following links for instructions on how to set up this cluster.

<ul>
<li>
<a href="{{base_path}}/install-and-setup/setup/mi-setup/deployment/deploying_wso2_ei">Micro Integrator Cluster with Minimum High Availability</a>
<a href="https://mi.docs.wso2.com/en/4.3.0/install-and-setup/setup/deployment/deploying-wso2-mi/">Micro Integrator Cluster with Minimum High Availability</a>
</li>
<li>
<a href="{{base_path}}/install-and-setup/setup/si-deployment/deploying-si-as-minimum-ha-cluster">Streaming Integrator Cluster with Minimum High Availability</a>
<a href="https://ei.docs.wso2.com/en/latest/streaming-integrator/setup/deploying-si-as-minimum-ha-cluster/">Streaming Integrator Cluster with Minimum High Availability</a>
</li>
</ul>
Original file line number Diff line number Diff line change
@@ -1,49 +1,55 @@
# Configuring a Distributed API-M Deployment with Key Manager Separated from the Control Plane
# Configuring a Distributed API-M Deployment with Key Manager Separated from the API Control Plane

The WSO2 API-M server can be deployed as an [all-in-one deployment]({{base_path}}/install-and-setup/setup/single-node/all-in-one-deployment-overview) or as a distributed deployment. In the distributed setup, the [API-M server profiles]({{base_path}}/install-and-setup/setup/distributed-deployment/product-profiles) are deployed as separate API-M nodes.
WSO2 API-M can be deployed as an [all-in-one deployment]({{base_path}}/install-and-setup/setup/single-node/all-in-one-deployment-overview) or as a distributed deployment. In the distributed setup, the respective component distributions, namely WSO2 API Control Plane, WSO2 Universal Gateway and WSO2 Traffic Manager are deployed as separate nodes.

Given below are the API-M nodes you can have in a distributed deployment.
Given below are the API-M nodes you can have in a distributed deployment with Key Manager separated from the API Control Plane.

!!! Tip
To enable high availability, you need a minimum of two nodes running each profile.
To enable high availability, you need a minimum of two nodes running each component distribution.

<table>
<tr>
<th>
API-M Node (Profile)
API-M Component Distribution
</th>
<th>
Description
</th>
</tr>
<tr>
<td>
Gateway Worker Node
WSO2 API Control Plane
</td>
<td>
API-M nodes running the Gateway profile.
API-M nodes running the Control Plane component. The WSO2 API Control Plane includes the Key Manager, Publisher Portal, Developer Portal components.
</td>
</tr>
<tr>
<td>
Control Plane Node
WSO2 Universal Gateway
</td>
<td>
API-M nodes running the Control Plane profile. The Control Plane includes the Traffic Manager, Key Manager, Publisher, and Developer Portal components.
API-M nodes running the Gateway component.
</td>
</tr>
<tr>
<td>
Key Manager Node (Optional)
WSO2 Traffic Manager
</td>
<td>
If required you can configure a separate API-M node to run the Key Manager component. That is, the Control Plane nodes run the Traffic Manager, Publisher, and Developer Portal, while the Key Manager runs on a separate node.
API-M nodes running the Traffic Manager component.
</td>
</tr>
<tr>
<td>
Key Manager Component
</td>
<td>
If required you can configure a separate WSO2 API Control Plane node to run the Key Manager component. That is, the API Control Plane nodes run the Publisher Portal and Developer Portal while the Key Manager runs on a separate node.
</td>
</tr>
</table>

<a href="{{base_path}}/assets/img/setup-and-install/deployment-km.png"><img src="{{base_path}}/assets/img/setup-and-install/deployment-km.png" width="100%"></a>

{!includes/deploy/steps-to-deploy-apim-in-a-distributed-setup-with-km-separation.md!}

For more information on starting API-M profiles, see [API-M Profiles]({{base_path}}/install-and-setup/setup/distributed-deployment/product-profiles).

This file was deleted.

Loading