Architecture of IBM Information Server Enterprise Search

IBM® Information Server Enterprise Search is an extension to IBM InfoSphere® Information Server services tier. This extension provides enterprise search and related capabilities. It consists of self-contained microservices, which run as Docker containers inside a Kubernetes cluster.

The following diagram shows the organizational structure of the IBM InfoSphere Information Server Enterprise Search Kubernetes cluster:
The overall Enterprise Search architecture consists of Ingress, Information Server Microservices, Third Party Microservices, Kubernetes Control Plane, ELK and Monitoring, Cluster Storage, Cluster Networking, Docker and Operating System.

The Docker and Kubernetes technologies provide the foundation for running microservices. Applications are developed by using various technologies. Docker containers ensure that these applications run consistently on any hardware. The Kubernetes platform provides container orchestration, lifecycle management, seamless scalability and ensures operational continuity.

Networking has a crucial role in this architecture. Kubernetes manages an internal Software Defined Network (the cluster network) and an internal name resolution system (DNS). Microservices use this infrastructure to discover each other and for communication. In addition, ingress (reverse proxy) is used to enable inbound traffic to selected microservices, which also ensures isolation of system internals and firm control over which part of it is available outside the cluster.

The services tier core components depend on the capabilities of enterprise search components, and the other way around, enterprise search components depend on the capabilities of services tier core components. In addition, enterprise search stores part of its data inside the repository tier. The following diagram depicts these interactions:
Interactions in the enterprise search architecture. Enterprise search components depend on services tier core components and the other way around. Also, enterprise search stores part of its data inside the repository tier

Microservices

Enterprise search is composed of a number of independent microservices, each having a different role. They can be organized into a few logical groups:
UI (user interface) microservices
The UI microservices are used for modern user interfaces available through the web browser. Each of these interfaces is available outside the cluster thanks to ingress and can be accessed from the IBM InfoSphere Information Server launchpad.
API (application programming interface) microservices
The API microservices provide programmatic interfaces, which are used for application integrations. Each of these interfaces is available outside the cluster thanks to ingress.
Internal microservices
The internal microservices are used by other microservices, in most cases to process data. These microservices cannot be accessed from outside the cluster, but their operation is necessary for proper end-to-end system behavior.
Storage microservices
The storage microservices provide common, fundamental capabilities, which are used by both enterprise search and core service tier components. They are mostly third-party, open technologies, such as Apache Cassandra for graph storage, Apache Kafka for messaging, or Apache Solr for indexing. Their operation is required for other microservices to function properly.
The following diagram shows microservices that belong to these groups:
The Kubernetes cluster is composed of the following groups of microservices: UI microservices (Enterprise Search, Information Governance Catalog New, Monitoring), API microservices (Enterprise Search, Catalog Search, Application Configuration, User Preferences, Social, Audit Trail), internal microservices (Enterprise Search Scheduler, Enterprise Search Type Registry, Enterprise Search Event Consumer, Machine Learning, Social - Enterprise Search Bridge), and storage microservices (Cassandra, Kafka, Solr, Zookeeper).