As communication between components is being done with HTTP/TLS JSON messages, a programmer can choose any programming language which provides JSON and HTTP client libraries.
As a mere recommendation, we suggest the following languages, depending on the workload of the component.
- Light workload: High level interpreted languages, like Python.
- Heavy workload: High level compiled languages, like Go.
- Permanent Services: JVM languages (like Java, Scala or Groovy) or .NET (CSharp).