🔥🔥🔥🔥
El desafío es surfear las olas en práctica y desafiar los conocimientos sobre las herramientas tecnológicas y conceptos teóricos aprendidos durante estos meses. En las clases vimos: Intro DevOps, Git, Docker, Kubernetes, CI/CD, Jenkins, Github Actions, Cloud, Security, etc.
- Utilizar todo lo aprendido durante el bootcamp
- Proponer y llevar a cabo una solución general a la problemática
- Simular el caso real del ciclo de vida de una aplicación
- La automatización es la clave
- Crear y mantener entornos productivos y no productivos (develop, testing)
- Aprender a utilizar nuevas Tools
- Aprender a trabajar en equipo para resolver dudas o problemáticas
La empresa ZERO Technology, solicita al Equipo de DevOps Trainer SuperPower 🚀 la contenerizacion de su aplicacion "Products DevOps" en la que incluye:
Los proyectos estan formados por servicios (frontend y backends) el requerimiento apunta a desplegarlo en un cluster de Kubernetes.
- Frontend
- Backend: products , merchandise & shopping-cart
Apuntando a lograr administrar el ciclo de las aplicaciones dentro del cluster de forma transparente y que además se pueda automatizar el deploy desde el repositorio.
Aplicacion realizada en express y se expone en el puerto 3000
Aplicacion realizada en express y se expone en el puerto 3001
Aplicacion realizada en express y se expone en el puerto 3002
Aplicacion realizada en express y se expone en el puerto 3003
- Para construir ejecutamos lo siguiente:
docker build -t ms-frontend:1.0 frontend
docker build -t ms-products:1.0 products
docker build -t ms-merchandise:1.0 merchandise
docker build -t ms-shopping-cart:1.0 shopping-cart
cd micro-service-name
npm install
npm run
docker run -d -p 3000:3000 \
-e PRODUCTS_SERVICE=host.docker.internal \
-e SHOPPING_CART_SERVICE=host.docker.internal \
-e MERCHANDISE_SERVICE=host.docker.internal \
ms-frontend:1.0
docker run -d -p 3001:3001 ms-products:1.0
docker run -d -p 3002:3002 ms-shopping-cart:1.0
docker run -d -p 3003:3003 ms-merchandise:1.0
- La arquitectura de la aplicación está formada por servicios backends y frontend los cuales deberían tener su propio repositorio.
- Se puede realizar un docker-compose para probar local la aplicación en su conjunto.
- Se puede deployar ingress para frontend, backend para poder utilizar una url configurada en /etc/hosts ó usando wildcard DNS https://nip.io/ .
- Cada servicio debe tener su dockerfile.
- Documentación
Si estás planeando usar este repositorio para aprender, por favor dale una estrella. ¡Gracias!
Recuerda documentar los pasos y decisiones tomadas durante la configuraciónde este proyecto ¡Buena suerte!