Architectural Overview - VF Server running via Podman



High-Level Overview

The vFunction Server running via Podman includes the following:

  • 11 Podman Containers running on a Linux VM
  • Three Podman Volumes for MySQL, Monolithic Measurements and Distributed Measurements Storage
  • One Podman Network for managing communication between the Podman Containers
  • One external Port open (80, 443, other) to listen for browser requests from end users and analysis information from the application(s)

Architectural Diagram

The vFunction Server includes the following Podman Containers:

  • vfunction-fluentd
  • vfunction-monit
  • vfunction-mysql
  • vfunction-nginx
  • vfunction-vfapi-dm
  • vfunction-vfapi-idp
  • vfunction-vfapi-measurements
  • vfunction-vfapi-organizations
  • vfunction-vfapi-parser
  • vfunction-vfapi-otlp
  • vfunction-vfapi-users

The vFunction Server includes the following Podman Volumes:

  • mysql_vol
  • vfapi_dm_storage_vol
  • vfapi_measurements_storage_vol

The vFunction Server includes the following Podman Networks:

  • vfunction

Traffic Legend

External over open Port

End Users to Server

End Users access the Server via a Browser. Standard REST APIs are used to retrieve and update organization, application and measurement information and structure.

Agents to Server

The Agents send standard REST APIs to stop and start Learning and to upload Application details to the vFunction Server for analysis.

Internal over vFunction Podman Network

Nginx to API Containers

The Nginx Container forwards APIs from the browser or from Agents to the relevant services over Ports 8001, 8003, 8004, 8005, 8006 and 8007.

API Containers to MySQL Container

The API Containers send request to store and process all processed information.

Organizations API Container to SQL Parser Container

The Organizations API Container sends request to the SQL Parser Container to parse queries retrieved from .NET agents.

Measurements API Container to Measurements Volume

The Measurements API Container sends requests to store and retrieve raw data to the Measurements Volume.

Distributed Measurements API Container to Distributed Measurements Volume

The Distributed Measurements API Container sends requests to store and retrieve raw data to the Distributed Measurements Volume.


Information gathered by vFunction from the Application

The vFunction Monolithic Agent gathers information about the Application and sends that information to the vFunction Server for analysis. That information contains statistical and structural data based on the Application’s behavior, including:

  • Callstacks
  • Field, method and class names
  • External HTTP Connection data (IP Addresses, Hostnames)
  • File names
  • DB Query Metadata (Tables and Stored Procedures)