Para experimentar hace falta tener un taller
La experimentación de nuevas tecnologías necesita de un laboratorio donde realizar las pruebas. El laboratorio debe tener las herramientas y los entornos que permitan poner manos a la obra en el menor tiempo posible.
En este caso el laboratorio ha sido preparado con algunas de las principales herramientas utilizadas en los entornos Nativos de la Nube:
Microservicios en Golang
Se ha desarrollado la aplicación Cinema que está compuesta de cuatro microservicios: users, movies, showtimes, bookings, donde cada servicio da respuesta a las necesidades de un contexto específico. La arquitectura y la estructuración de cada microservicio corresponde con los principios establecidos para sistemas API-REST en Golang.
Base de datos MongoDB
La información de cada microservicio persiste en una base de datos MongoDB. El servicio MongoDB puede ser desplegado junto al resto de microservicios o puede utilizarse como un servicio externo, como por ejemplo MongoDB Atlas.
Empaquetado con Docker
Cada microservicio es empaquetado en una imagen Docker para ser distribuido y desplegado en cualquier plataforma de contenedores.
Desplegar con Docker Compose
En el fichero
docker-compose.yaml
está descrito el despliegue y la orquestación de los servicios en una máquina virtual. En este contexto se utiliza Traefik Proxy para gestionar el tráfico entre los microservicios y la base de datos.Desplegar con Kubernetes
La carpeta
charts/cinema
tiene el Chart de Helm para desplegar todo el sistema en Kubernetes. Las pruebas podrán ser realizadas en Minikube o en cualquier otro cluster de Kubernetes.