Kiuwan on premises is based on a client-server architecture that includes these major server components:
- Apache web server
- Wildfly application server
- MySQL database
- Redis in-memory data store
Kiuwan on premises can be deployed on a number of decentralized servers and accessed by users via HTTPS website.
Kiuwan and its roles
Kiuwan on Premises defines three different roles for each Kiuwan instance:
- Kiuwan front: receives and answers HTTPS requests, both for the web application and REST API calls.
- Kiuwan analyzer: processes analysis results asynchronously.
- Kiuwan scheduler: processes background tasks such as notifications or live database upgrades.
The default installation will create a Kiuwan instance of each role.
All needed services are supplied as Docker containers. The following table summarizes all the available services:
|Image||Provider||Default number of containers|
|mysql:5.7.27||Docker Official Images||1|
|redis:5.0.5||Docker Official Images||6 + 1 (temporal)|
The following diagram shows the infrastructure that KoP installer will create by default:
The main purpose of each piece is (container names are shown between parentheses):
- Apache (loadbalancer): an Apache instance that balances the traffic between Kiuwan frontals (kept in the default installation to allow easy frontal scaling).
- Kiuwan front (wildfly-f1): a Kiuwan frontal.
- Kiuwan analyzer (wildfly-a1): a Kiuwan analyzer.
- Kiuwan scheduler (wildfly-s1): a Kiuwan scheduler.
- MySQL (mysql): the main Kiuwan database.
- Redis cluster (redis_0000[n]): redis store nodes. Used by Kiuwan as a data cache.
- Redis cluster creator (clustercreator): a temporal redis container that configures each Redis node as a cluster.
- Kiuwan updater (updater): a temporal Kiuwan instance that installs, updates and upgrades needed data or configuration.
Depending on your needs, Kiuwan on premise architecture supports both clustered environments and single-host installations. You can:
- Keep all services in an all-in-one host installation.
- Decide where each service will be installed, one by one.
- Externalize one, some or all of the provided non-kiuwan services:
- Apache load balancer
All kiuwan instance containers can be scaled up (to a limit) or down to the default configuration.