You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 16 Next »

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 installed on a single host or on multiple hosts (externalizing one, some or all of the provided infrastructure services).

You can also install Kiuwan on premises under your own AWS cloud replacing the provided infrastructure services with compatible AWS services.

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 and Kiuwan Insights database updates.

The default installation will create a Kiuwan instance of each role.

Supplied services

All needed services are supplied as Docker containers. The following table summarizes all the available services:

Image nameServicesDefault number of containersMaximum number of containersProvider
kiuwan/apacheloadbalancerloadbalancer11Kiuwan
kiuwan/wildflykiuwanwildfly-f[1-8]18 
wildfly-a[1-8]18
wildfly-s[1-2]12
kiuwan/updaterkiuwanupdaterkiuwan1 (temporal)1
mysql:5.7.27mysql11Docker Official Images
redis:5.0.5

redis_0000[n]

66
clustercreator1 (temporal)1

The following diagram shows the infrastructure that KoP installer will create by default:

 

The main purpose of each piece is (service 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.

Clustering support

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.
  • Under AWS, decide where each service will be installed, one by one (both kiuwan services and infrastructure, as long as you use AWS elasticache as Redis cluster).
  • Externalize one, some or all of the provided non-kiuwan services:
    • Apache load balancer
    • MySQL
    • Redis

All kiuwan instance containers can be scaled up (to a limit) or down to the default configuration. This means that you can start more containers of each kiuwan role depending on your load needs.

 

  • No labels