wso2 api management 2.0 production cluster deployment architecture - wso2

We are designing wso2 apim 2.0 cluster deployment architecture, from 2.0 clustering, we just found distribution deployment description, so
Is the wso2 apim gateway 2.0 cluster same with 1.10?
Any recommendation for system CPU/MEMORY requirement?
wso2 apim 2.0 has traffic manager, how to cluster it?
For store/publisher, how to cluster them?
When integration with APIM Analytics, do we just need to config gateway workers?

1) There are configuration changes, and also new configs, in gateways. But gateway clustering has not been changed.
2) See Installation Prerequisites and Tuning Performance
3) There is no public document yet. It'll be there soon. Until now, you can cluster it in the same way gateways are clustered.
4) Store and publisher should be in the same cluster.
5) Gateway workers, store and publisher
Update:
About Dep-Sync: In gateway worker-manager setup, we only publish API synapse files to manager node, and then use dep-sync to copy those APIs to gateway workers. You can use anything that can sync artifacts between nodes instead of SVN based dep-sync. (eg. rsync)

Related

WSO2 Manager version 4.1.O needs restart after publishing new APIs

WSO2 API Manager needs to restart after creating and publishing a new API in the new version (4.1.O). In old versions, there is no need to restart it.
Do you have a distributed API Manager deployment (not an all-in-one setup)? I suspect there could be a misconfiguration between the Control plane and the gateway node. Better to verify the configurations first (refer [1]).
In a distributed setup, gateway nodes listen to a JMS topic in the control plane. when API is deployed, gateway gets an event and after that, it queries the CP and gets the API-related artifacts. I suspect this CP->GW event is not reaching the gateway. As a result, APIs are not deployed in the gateway and cannot invoke it.
Gateway node does not keep the API artifacts stored. When there is a restart, gateway node calls the control plane directly and gets the available API-related artifacts and deploys them. That is why it works when you restart the gateway.
This is the new event-based mechanism we use in the APIM versions 3.2 onwards. That is why it worked in old versions.
[1] https://apim.docs.wso2.com/en/latest/install-and-setup/setup/distributed-deployment/deploying-wso2-api-m-in-a-distributed-setup/

Can Services in GCP's Monitoring monitor endpoints?

I installed managed Anthos on a GKE cluster. Anthos Service Mesh is working and is displaying my API. Thanks to that Services that are in Monitoring automatically detect my API. This is great as it enables me to easily set SLOs and Error Budget for my API.
However I would like to be able to easily set SLOs for individual endpoints in my api. Services(in Monitoring) detect only my API and not the endpoints within my API(my API is one pod/container + sidecar). I tried to add endpoints to Services in Monitoring but it looks like it is only possible to add Kubernetes Objects there.
Is there a way to use Services in Monitoring with endpoints? Is the only way to do so to break endpoints to separate microservices?
You can monitor your endpoints using Cloud Endpoints with OpenAPI, which allows you to monitor the health of APIs you own by using the logs and metrics Cloud Endpoints maintains for you automatically. When users make requests to your API, Endpoints logs information about the requests and responses and also tracks three of the four golden signals of monitoring: latency, traffic, and errors. These usage and performance metrics help you monitor your API.
The following URL Configuring Cloud Endpoints has the configuration process for Cloud Endpoints. Use this URL Monitoring your API as a reference on the monitoring process for your API, and this last URL for the Cloud Endpoint’s overview.

WSO2 APIM subscription work flow in distributed deployment

I've tried working on the API Manager subscription workflow in a single instance and it's working fine. Now I want the same to be performed on a distributed deployment environment. Can I know on which node shall I update the SubscriptionCallbackService.epr path and on which node I should enable the " Engaging the WS Workflow Executor in the API Manager ".
Note:
We are using EI 6.5.0 and APIM 2.6.0 and 3.1.0 in two different environments.
You need to copy the <API-M_HOME>/business-processes/epr (any of the apim nodes) folder to <EI_HOME>/wso2/business-process/repository/conf/epr, SubscriptionCallbackService following value should be updated, Gateway port is 8243 if you have not done any offset.
<wsa:Address>https://<APIM_GATEWAY_IP>:PORT/services/WorkflowCallbackService</wsa:Address>
"Engaging the WS Workflow Executor in the API Manager" should be done in the devportal node

How to set up WSO2 API gateway?

Good day
I have created my ESB project using the enterprise integration studio provided by wso2 and have also downloaded the API manager separately. Meanwhile when I start WSO2 API manager, API Publisher and developer dashboard open.
I just want to create WSO2 API Gateway. How can I achieve this also I want gateway should be access based.
Please assist me how can I proceed for the gateway implementation.
I only want the WSO2 API gateway.
WSO2 APIM is consist of 5 profiles as Gateway, Traffic Manager, Publisher, Store(Devportal in APIM 3.x series) and KM profiles. You can start an APIM with the default profile (if you started as sh wso2server.sh) and you can work with each profile. But if you want to start APIM as Gateway profile, then you need to start the server with "-Dprofile" mode as follows.
sh wso2server.sh -Dprofile=gateway-worker
You can read this document https://docs.wso2.com/display/AM260/Product+Profiles to aware of the profile of wso2 APIM.
And WSO2 has Micro GW product too, you can find more details about that MGW here https://docs.wso2.com/display/AM260/Working+with+the+API+Microgateway. You can download the form here https://wso2.com/api-management/api-microgateway/ and test.

WSO2 Identity Server 5.3 AWS clustering mode

Can anyone confirm that the AWS clustering mode provided by the Hazelcast service works fine for IS 5.3?
We have a two documents describing clustering configurations;
Clustering Identity Server 5.x which describes and relies upon WKA for service discovery
Setting up a cluster in AWS mode which appears to be generic instructions for all products but requires an AWS IAM role to describe instances (probably preferred in our use-case)
Is the AWS mode available for Identity Server or are we restricted to WKA? It's not clear if the Clustering Identity Server document overrides the more generic cluster document.
Thanks
Yes. There are current users who use AWS clustering with WSO2 IS 5.3.0.
Clustering Identity Server 5.x is a generic clustering docuement about IS 5.3.0 and does not specific to AWS. Use Setting up a cluster in AWS mode for IS AWS clustering which is generic for specified carbon kernel version. Any product runs on top of this kernel version can use this guide.