com.atlassian.confluence.content.render.xhtml.migration.exceptions.UnknownMacroMigrationException: The macro 'next_previous_links' is unknown.

Deploying API Manager as an All-in-One Instance

In a typical production deployment, API Manager is deployed as components (Publisher, Store, Gateway, Key Manager and Traffic Manager). While this provides very high performance and a high level of scalability, it may be too complex if you want to run API Manager as a small to medium scale API Management solution. A single node, all-in-one deployment would be simple to set up and requires less resources when compared with a distributed deployment. It is ideal for any organization that wants to start small and iteratively build up a robust API Management Platform.

WSO2 provides 2 options for organizations that are interested in setting up a small to medium scale API Management solution.

  1. Setting up on WSO2 API Cloud, which is a subscription based API Management solution. You can access this service by creating an account in WSO2 API Cloud.

  2. If you are interested in setting up an all-in-one API Manager instance on-premise, you can download the latest version of API Manager and follow the instructions given below to set up the instance.

Prerequisites

HardwareEnsure that the minimum hardware requirements mentioned in the hardware requirements section are met. Since this is an all-in-one deployment, it is recommended to use a higher hardware specification. You can further fine tune your operating system for production by tuning performance. For more information on installing the product on different operating systems, see Installing the Product.
Software

Oracle JDK 1.8

You can deploy API Manager in 3 different ways, 

Single node deployment

In this setup, API traffic is served by one all-in-one instance of WSO2 API Manager.


ProsCons
  • Production support is required only for a single API Manager node (you receive 24*7 WSO2 production support).
  • Deployment is up and running within hours.
  • Can handle up to 43 million API calls a day (up to 500 API calls a second)
  • Minimum hardware/cloud infrastructure requirements (only one node).
  • Suitable for anyone new to API Management.
  • Deployment does not provide High Availability.
  • Not network friendly. Deploying on DMZ would require a Reverse Proxy.

Active/passive deployment

In this setup, API traffic is served by one active all-in-one instance of WSO2 API Manager and one passive all-in-one instance of WSO2 API Manager.

ProsCons
  • The system is highly available.
  • Production support is required only for a single API Manager node (you receive 24*7 WSO2 production support).
  • Can handle up to 43 million API calls a day (up to 500 API calls a second).
  • Deployment is up and running within hours.
  • Not network friendly. Deploying on DMZ would require a Reverse Proxy.
  • Switch over time from active node to passive node, in case of a failover.

Active/active deployment

In this setup, API traffic is served by two all-in-one instances of WSO2 API Manager.


ProsCons
  • The system is highly available.
  • Production support is required for 2 API Manager nodes (you receive 24*7 WSO2 production support).
  • Can handle up to 86 million API calls a day (up to 1000 API calls a second)
  • Deployment is up and running within hours.
  • Not network friendly. Deploying on DMZ would require a Reverse Proxy.

Deploying an all-in-one API Manager instance to serve external API traffic

An all-in-one API Manager instance does not provide the deployment flexibility as that of a distributed API Manager. Therefore, deploying the API Manager to serve traffic from outside the network requires the use of a reverse proxy. The diagram below illustrates this deployment pattern.


For information on how to manually configure production servers, see Configuring a Single Node, Configuring an Active-Active Deployment and Configuring an Active-Passive Deployment.

com.atlassian.confluence.content.render.xhtml.migration.exceptions.UnknownMacroMigrationException: The macro 'next_previous_links2' is unknown.