Installing Optima: a scalable architecture

Optima can be widely scalable according to a flexible architecture.

In this case, we provide an example based on scaling of GeoServer module, but the mechanism of scaling can be applied to different Optima modules.

The architecture is based on a single Envoy Proxy access point that handle all the requests and also balance them between the GeoServer instances.

Scaling GeoServer: Option 1

In this first option you have at least 5 machines:

Machine Description

1: Envoy Proxy

Contains a Docker instance of Envoy Proxy acting as gateway proxy and load balancer.

2: Optima AS + GeoServer

Optima Application Server based on Linux OS.

3: .NET

Optima .NET components based on Windows .NET Server.

4: DB

DB PostgreSQL based on Linux OS.

5: GeoServer + WSI

Contains a Wildfly instance (as the machine 2), hosting Geosever and Optima WSI.

Diagram Option 1

The machines 2,3 and 4 are installed according to → Installing Optima on three servers, but on the Optima AS machine must be installed also GeoServer.

On the machine 5 is present also Optima WSI, to provide authentication services (in particular, the service of token validation).

Scaling GeoServer: Option 2

In this second option you have at least 5 machines:

Machine Description

1: Envoy Proxy

Contains a Docker instance of Envoy Proxy acting as gateway proxy and load balancer.

2: Optima AS

Optima Application Server based on Linux OS.

3: .NET

Optima .NET components based on Windows .NET Server.

4: DB

DB PostgreSQL based on Linux OS.

5: GeoServer Contains a GeoServer Docker container running on Tomcat.

Diagram Option 2

The machines 2,3 and 4 are installed according to → Installing Optima on three servers.

If Optima runs into a Demilitarized Zone (DMZ), you can avoid to install JBoss (WildFly) to support Optima WSI.

This schema can be extended to other machines. Every further machine can host a Docker container hosting from one up two GeoServer instances.