Skip to content

Middle Tier overview

Overview

The middle tier used by IFS Cloud, is deployed in a Kubernetes cluster as docker containers. The architecture is multi single tenant which allows one or many IFS Cloud installations to be deployed in the same Kubenetes cluster using a shared ingress proxy that routes the traffic to the correct namespace. In some cases you might have one kubernetes cluster per IFS Clous installation.

Docker Containers

A Container is a small encapsulated kernel similar to a Virtual machine, but it shares its resources with the host machine. A container can have a fully working operating system using less than 5Mb of memory and have a small application running inside it. This application will typically interact externally over http. The container can have other external interaction such as DB connections as well. A container can have both Linux and Windows kernels, but not running on the same host machine. All IFS cloud containers are therefore consistently based on Linux only, which in turn implies that the Kubernetes cluster is always deployed on Linux machines. The containerization can be made using different containerization SW but IFS Cloud containers are based on Docker.

Instances

The architecture allows one or many IFS Cloud installations to be deployed in the same Kubernetes cluster using a shared ingress proxy that routes the traffic to the correct namespace.

Scaling and High Availability

To scale up a k8s cluster more node machines can be added to the cluster and more containers (# of replicas) can be started to distribute the load. All namespaces span over all nodes. High availability is built in by design in k8s. If k8s is instructed to start >2 replicas of each containers the container can start on different nodes. This allows HA on only parts of IFS Cloud.  The container can also be sized to have different amount of CPU/Memory resources limits/quotas - this is done through the installer.

Container Description
amm Application Monitoring Metrics - This container fetches and expose system metrics that are not exported from individual containers. Many of the metrics are same as in Solution Manager - Monitoring Console.
application-svc This is a collection of small applications like - apidoc - demand server proxy - gisint - svcsch
busmod Service to query data from analysis service tabular models to be used in the business modeler visualizations.
client Aurena client - render Aurena client with page and lobby layouts from metadata
client-services Aurena client services - serves up metadata for Aurena and lobby pages.
client-notification-services Aurena client notification services - serves up notifications for Aurena clients.
connect IFS connect - messaged broker integrates to external system using files/ftp/mail/soap/json
doc The end user documentation
iam Identity Access Management - Authenticates users using a local dictionary or an external dictionary e.g. Azure AD.
native-server Data synchronization for native mobile.
native-executor Handles offline transactions for the native mobile.
native-notification Handles Azure Push Notifications for native mobile.
odata IFS OData Provider. This is the OData Endpoint for the server logic and additionally provides the projection API's for native mobile clients.
proxy Is the entry point of for all containers - it hosts the Landing Pages and make sure all request to the system has been properly authenticated otherwise to forwards the request to the IAM container. It will only accept calls from the k8s ingress controller and with host headers set to "system url" or "secondary system url".
rem IFS Remote Assistant Container. Used for the Remote Assistant Functionality.
signing-service IFS Signing Service for Digital Signaures.
reporting Handles generation of the output of Operational Report Layouts.
reporting-br IFS BR execution server for IFS Business Reporter Layouts.
reporting-cr Used for providing Quick Reports functionality for Crystal Report Layouts.
reporting-ren Used for generating the final output of Report Designer Layouts.
rmpanel Used for IFS CRM/SRM Panel and Outlook Calendar Sync functionality.
scim IFS Cross Identity Management Container. Used for user federation with external user directories
ifs-db-init This container deploys configuration to the DB, and runs only during installation.
ifsmaintenix-appserver Maintenix Application Container - IFS Aviation Maintenance management application component
ifsmaintenix-reportserver Maintenix Report Container - Component to generate Maintenix reports
ifs-virus-scanner IFS Virus Scanner Container - This provides the endpoint for rest of the containers to scan files
graph GraphService Container - Provides functionality to communicate with graph datasources and other graph related operations

Container Dependency

Some containers are dependant on other containers in functional flow. Please refer the container dependency chart (MS Excel worksheet) for details.