To experiment you need to have a workshop
The experimentation of new technologies requires a laboratory to carry out the tests. The laboratory must have the tools and environments that allow to get down to work in the shortest time possible.
In this case, the laboratory has been prepared with some of the main tools used in Native Cloud environments:
Golang Microservices
The Cinema application has been developed composed by four microservices: users, movies, showtimes, bookings, where each service responds to the needs of a specific context. The architecture and structuring of each microservice corresponds to the principles established for API-REST systems in Golang.
MongoDB Database
The information for each microservice persists in a MongoDB database. The MongoDB service can be deployed together with the rest of the microservices or it can be used as an external service, like for example MongoDB Atlas.
Packaged with Docker
Each microservice is packaged in a Docker image to be distributed and deployed on any container platform.
Deploy with Docker Compose
The
docker-compose.yaml
file describes the deployment and orchestration of services in a virtual machine. In this context, Traefik Proxy is used to manage the traffic between the microservices and the database.Deploy with Kubernetes
The
charts/cinema
folder has Helm’s Chart to deploy the whole system in Kubernetes. The tests can be done in Minikube or in any other Kubernetes cluster.