Skip to main content
This page is prepared for those who want to install Apinizer in professional production environments. This topology is designed for medium-scale enterprise applications and provides load balancing between worker nodes.

Overview

Topology 2 is a topology suitable for production environments that provides load balancing between worker nodes. All components run on 5 servers.

Architectural Structure

Professional Installation Architecture

1. System Requirements

For detailed system requirements, you can refer to the Overview page.

Operating System

  • Ubuntu Server 24.04 LTS or RHEL 9.x
  • Minimum kernel version: 5.4+
  • SELinux: Disabled (for RHEL) or Permissive mode

Software Components

ComponentVersion/Requirement
Kubernetes1.31.0+ (or any supported version)
Docker/ContainerdVersion compatible with Kubernetes
MongoDBAny version (must be configured as Replica Set)
Elasticsearch7.9.2+ (officially supported version)
Network PluginFlannel 0.27.4 (or compatible)
Load BalancerHAProxy 2.0+ or Nginx 1.18+
For detailed information about software components: Overview - Components Required by Apinizer

Network Requirements

  • Internet Access: Required during installation
  • DNS: Working DNS resolution
  • Firewall: Required ports must be open
  • Load Balancer: For traffic distribution
For detailed information about network topology and port requirements: Network Topology and Port Requirements

2. Hardware Requirements

The requirements below are specified for the recommended minimum configuration. They should be increased according to your service loads.
NoOperating SystemCPURAMDiskInstallations
Server 1Ubuntu Server 24.04 LTS / RHEL 9.x832GB1TBKubernetes Control-Plane, Manager, Elasticsearch (Master+Data), Replica set MongoDB Single Instance
Server 2Ubuntu Server 24.04 LTS / RHEL 9.x44GB80GBKubernetes Worker
Server 3Ubuntu Server 24.04 LTS / RHEL 9.x44GB80GBKubernetes Worker
Server 4Ubuntu Server 24.04 LTS / RHEL 9.x44GB80GBKubernetes Worker
Server 5Ubuntu Server 24.04 LTS / RHEL 9.x44GB80GBKubernetes Worker
Important: The CPU, disk, and RAM values above are given as examples. These values may vary according to traffic volume, number of APIs, policy complexity, and other factors. To determine your actual hardware requirements, it is recommended to calculate according to the rules on the Capacity Planning page.

3. Network Topology

Network Structure

For professional production environments, DMZ/LAN separation is recommended but optional. A simple network structure can also be used. Network Structure:
  • Internet: Traffic from the outside world is directed to the internal network through a Load Balancer (Port 443/80).
  • Server 1: Hosts Kubernetes Control-Plane, Manager, MongoDB, and Elasticsearch components.
  • Server 2-5: Host Kubernetes Worker Node, Worker, and Cache components. The Load Balancer distributes traffic among these four worker nodes, providing load balancing.
If DMZ/LAN separation is made, Worker nodes can be located in DMZ, Control-Plane and database services in LAN.
For detailed information about DMZ and LAN zones: Overview - Core Concepts and Network Topology and Port Requirements

Port and Firewall Permissions

If all your servers will be located on the same subnet and there will be no firewall between them, firewall rules will only apply to internet access and container network communication. Since inter-server cluster and inter-component communication ports are considered directly accessible within the same subnet, there is no need to define an additional firewall rule for these communications.
For detailed information about port requirements and firewall rules: You can refer to the Network Topology and Port Requirements page. This page explains in detail all port requirements and firewall rules for Kubernetes, MongoDB, Elasticsearch, and Apinizer components.

4. Capacity Planning

This topology is designed for Tier 2 (Production) level medium-traffic systems:
MetricValue
Daily Requests500,000 - 3,000,000 requests/day
Requests per Second10 - 100 requests/second
Peak Traffic500 requests/second
Concurrent Users50 - 1,000 users
For detailed information about capacity planning: You can refer to the Capacity Planning page. This page explains in detail traffic estimation, hardware requirements, MongoDB and Elasticsearch data size calculations, and benchmark performance results.

Pre-Installation Checklist

Before starting installation, you should make the following preparations:
CategoryCheck Item
Infrastructure[ ] 5 servers prepared
[ ] Load Balancer prepared (HAProxy/Nginx)
[ ] Operating system installed (Ubuntu 24.04 LTS or RHEL 9.x)
[ ] Network connectivity between servers tested
[ ] DNS resolution working
[ ] Internet access available
Network[ ] Required ports opened
[ ] Firewall rules configured
[ ] Load balancer configured
[ ] SSL/TLS certificates prepared
[ ] DMZ and LAN zones configured (optional)
Software[ ] Kubernetes installation packages ready
[ ] MongoDB installation packages ready
[ ] Elasticsearch installation packages ready
[ ] Apinizer images accessible (DockerHub or private registry)
[ ] Load balancer software installed
Security[ ] SSH keys configured
[ ] Sudo access configured
[ ] Security updates performed
[ ] Firewall rules tested
[ ] SSL/TLS certificates prepared
For detailed pre-installation recommendations: You can refer to the Pre-Installation Recommendations page.

Usage Scenarios

This topology is ideal for medium-scale production environments, medium-traffic systems (500K - 3M requests/day), worker load balancing requirements, and situations requiring budget optimization.
For detailed information about topology selection guide and usage scenarios: You can refer to the Deployment Models page.

Limitations and Points to Consider

Limitations of this topology:
  • Database carries single point of failure risk (MongoDB single instance)
  • Elasticsearch single node (no high availability)
  • Control-Plane single node (no Kubernetes HA)
  • Topology 3 is recommended for high availability requirements