CASO 08 / Ingeniería de software

EconoMarket: microservicios y entrega con contenedores

Un proyecto e-commerce que conecta implementación de servicios, integraciones externas, construcción de imágenes de contenedor y despliegue en Kubernetes.

Contexto
Proyecto académico · Implementación individual
Mi rol
Implementación completa, incluyendo CI/CD
Periodo
2025
Estado
Proyecto académico implementado
Arquitectura general · relaciones simplificadas
  1. Servicios de aplicación
  2. Contratos de servicio
  3. Imágenes de contenedor
  4. GitHub Actions
  5. GKE

El problema

EconoMarket integra una aplicación de comercio electrónico mediante servicios especializados. Además de implementar comportamiento de aplicación, el proyecto necesita integrar componentes y llevar sus imágenes de contenedor a un entorno Kubernetes.

Mi contribución

Implementé EconoMarket de forma completa, incluido su pipeline CI/CD. Este caso se enfoca en partes concretas de la implementación: comportamiento de catálogo, integraciones externas, contratos de servicio y automatización de entrega.

Servicios e integración

El servicio de catálogo en Go maneja productos, categorías y operaciones de stock mediante capas explícitas de servicio y repositorio. Las actualizaciones de stock se conectan a un cliente de notificaciones por gRPC.

El servicio de integración obtiene información desde proveedores externos con timeouts HTTP y manejo de reintentos. Su cliente también usa caché respaldada por Redis. Estos componentes muestran cómo el comportamiento local de aplicación interactúa con dependencias más lentas o menos predecibles.

Entrega con contenedores

GitHub Actions coordina validaciones de servicios para Node.js, Go y Python, construye imágenes de contenedor y las publica para despliegue. La entrega en Kubernetes usa kubectl para aplicar recursos de servicios, tareas programadas y configuración de ingress en GKE.

El pipeline incluye comprobaciones básicas de funcionamiento y validación/plan de Terraform. Son partes de un flujo de entrega más amplio; el foco de ingeniería principal está en empaquetar y conectar servicios de aplicación.

Para un vistazo más detallado al diseño del flujo de trabajo y sus límites actuales de pruebas, ver Flujos de entrega con contenedores.

Resultados y límites

El proyecto incluye componentes de aplicación, interfaces de servicio, pruebas, configuración de entrega con contenedores y pasos de despliegue en Kubernetes. Se presenta como implementación académica, no como sistema comercial con tráfico productivo verificado o garantías de disponibilidad.

Las pruebas y flujos de trabajo existentes no demuestran por sí solos que todo comportamiento esté validado. Algunos comandos de prueba del pipeline toleran fallos, por lo que no deben describirse como controles estrictos antes de publicar.

Lecciones de ingeniería

Este proyecto conecta mi base de software con el trabajo de infraestructura que disfruto. Implementar un servicio es solo una parte del problema: también necesita contrato, manejo de fallos en dependencias, imagen de contenedor y una ruta comprensible hacia su entorno.

SEGUIR EXPLORANDO

Proyectos relacionados.

Todos los proyectos
Ingeniería de software2024

Dentro de un sistema de archivos

Un proyecto individual en Go que vuelve tangibles discos, particiones, inodos y operaciones de archivos.

  • Go
  • Graphviz
  • Estructuras binarias
  • React
Seguridad e investigación2026

Comprender la exposición inalámbrica

Una plataforma portátil Linux que convierte observaciones pasivas de Wi-Fi en investigación estructurada de seguridad.

  • Linux
  • Kismet
  • Python
  • PostgreSQL