/
Overview of Okapi vs Eureka

Overview of Okapi vs Eureka

The two backend platforms for FOLIO, Okapi, the original platform, and Eureka, the future platform, have distinct architectures.

The Okapi Platform

Okapi performs a variety of tasks in the classic FOLIO architecture, responsible for:

  1. Gateway - Acts as the main point of entry for API requests.

  2. Module Management - Manages modules, stores module descriptors, and verifies necessary interfaces and dependencies.

  3. Stores Discovery Information - Stores information about module deployment locations.

  4. Tenant Management - Maintains a database of tenants and their enabled modules.

  5. Module Installation and Uninstallation - Handles enabling or disabling modules for specific tenants.

  6. Module-to-Module (M2M) Proxy - Facilitates communication between modules.

  7. Authorization Filter - Examines token permissions and verifies response.

  8. Timer API - Schedules jobs using the timer API in module descriptors.

Okapi.png

The Eureka Platform

Eureka introduces a more distributed architecture with a clearer separation of components:

  1. API Gateway - Uses Kong as an API gateway without authorization responsibilities.

  2. Identity and Access Management - Manages all authentication and authorization processes with Keycloak.

  3. Sidecars - Supports module-to-module communication by using sidecars, an architectural pattern.

  4. Applications Manager - Manages discovery data and application descriptors.

  5. Tenant Manager - Uses an API to manage tenants.

  6. Tenant Entitlement Manager - Manages installing and uninstalling applications via API.

Key Differences

  1. Architecture - Okapi centralizes many functions, while Eureka distributes them across multiple components.

  2. Authorization - In Okapi, it's centralized; in Eureka, it's handled by module-specific sidecars.

okapvseureka.png
  1. Module Communication - Eureka allows direct sidecar-to-sidecar communication, potentially improving efficiency.

okapivseurekamodules.png
  1. Flexibility - Eureka's architecture offers more flexibility and scalability.

Both platforms support the FOLIO ecosystem, with Eureka representing an evolution in architecture to address some limitations of the original Okapi design.

Further Reading

Related content