This page elicitates each technology selected by the software team and why it was selected.
Here we can see a global view of the technology stack used for the project.
Many options were at the teams disposal from simple virtual machines (e.g. Vagrant) to highly sophisticated container technologies (e.g. Kubernetes)).
After much considerations, the team decided that the need for modular and interoperable services made it so that the only viable option was to go with a container technlogy. Furthermore, by removing the operating system layer, the services would also become lighter and easier to maintain.
Once it was decided, the team had to debate over which specific technology would be the right one for the team Docker or Singularity. Even if Singularity seemed to have more potential in the future, the team decided to go with the technology they had the most experience with Docker.
Also, docker-compose was a clear choice for the container orchestration technology. The other frameworks like Kubernetes were a bit to heavy for the purposes of the team.
Since the arrival of GitHub's Actions and Packages, GitHub felt like a clear winner to the team. Not only would it prevent the use of multiple technologies spread across many platforms but it also simplified the maintenance of the files.
Even if there are a lot of stacks of the sort available like Atlassians suite or GitLab's stack, none seemed as polished as GitHub.
Even if developers would be allowed to use any IDE they want it is recommended to use Microsoft VSCode. This maximises the features and compatibilties with the containerized platforms.