Skip to content

Latest commit

 

History

History

devops-project-03

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 

Bootcamp DevOps by RoxsRoss

JavaScript Node.js HTML5 Terraform VSCode kubernetes Azure Amazon Gcp Docker python golang github Actions Gitlab Jenkins city


🔥🔥🔥🔥

by RoxsRoss


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.

Objetivos:

  • 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

Requerimiento:

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.

Frontend

Aplicacion realizada en express y se expone en el puerto 3000

Backend products

Aplicacion realizada en express y se expone en el puerto 3001

Backend shopping-cart

Aplicacion realizada en express y se expone en el puerto 3002

Backend merchandise

Aplicacion realizada en express y se expone en el puerto 3003

Build Docker

  • 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

Prueba Local

cd micro-service-name 
npm install
npm run

Iniciar los contenedores

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

Observaciones y recomendaciones:

  • 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

Resultado

¡Dale una Estrella! ⭐

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!