A typical polyglot application consists of multiple services written in different programming
languages. These services interact together to fulfill some business needs or tasks.
The following image shows the architecture of our polyglot application.
Figure 1. Architecture of polyglot application
There are five applications written in 4 languages: Java, JavaScript, Python and Ruby.
It uses two databases MySQL and Apache Cassandra. Applications expose various REST endpoints
which simulate some behaviour. For example creating a user in a database or an asynchronous task.
Each application lives in a separate docker container. The whole environment can be deployed
using one line docker-compose command. Overall there are seven containers including Apache Kafka
to collect span data. The complete source code with instructions how to run it can be found on
Github.