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

Compare with Current View Page History

« Previous Version 18 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, the Kiuwan On-Premises 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