Overview
Cognigy is a modern, cloud-native software solution based on a scalable microservice architecture. This modern architecture allows us to leverage the compute-power of multiple servers for a single software product. Instead of running a single executable on a single server, we have decomposed Cognigy into more than 30 separate executables. These smaller executables (hence the name microservice) despite being separated, act as a single product — Cognigy — by interacting with each other through network calls.
- Assigning containers to one of the available servers in the Kubernetes cluster respecting their individual hardware requirements and matching these against the available hardware on a server.
- Observing whether containers need to be restarted in case they crash.
- Updating containers to a newer version when a software update (for example, new version of Cognigy) has been shipped,
- Testing whether containerized processes still react by sending readiness- and liveness-probes.
- Scaling microservices according to load-indicators such as CPU load, memory profile or custom metrics by starting additional copies of services.
Runtime & IDE
Cognigy itself is a product offering different types of functionality:- IDE
- Runtime