Caso de éxito
Producteca migra de Azure a AWS con una capa de conversión que lleva Azure Search AI a OpenSearch sin refactorizar sus microservicios
Resumen
Producteca es una plataforma SaaS B2B argentina que unifica los canales de venta del e-commerce y los conecta con los sistemas de gestión de las empresas. Craftech la migró de Azure a AWS resolviendo el punto más espinoso del proyecto: trasladar sus índices de búsqueda de Azure Search AI a OpenSearch pese a la incompatibilidad entre ambos servicios. Lo hizo con una capa de conversión que tradujo las consultas (de ODATA a DSL) y dejó la migración casi transparente para sus microservicios, evitando una reescritura masiva.
Producteca ayuda a las empresas a escalar su e-commerce: unifica todos sus canales de venta y marketplaces en un solo lugar, centraliza pedidos e inventario y los conecta con los sistemas de gestión. Cuando la empresa decidió migrar sus cargas de trabajo de Azure a AWS, apareció un obstáculo técnico difícil de sortear: su búsqueda se apoyaba en Azure Search AI, un servicio sin equivalente directo en AWS. Para resolverlo sin frenar el negocio ni reescribir media plataforma, Producteca eligió a Craftech, partner de AWS con experiencia en migraciones y arquitecturas distribuidas.
Solución implementada
- Migró diferentes cargas de trabajo de Producteca desde Azure hacia AWS
- Diseñó una capa intermedia de abstracción y conversión para traducir consultas y datos entre Azure Search AI y OpenSearch
- Adaptó el mapeo de los índices de Azure Search AI al de Amazon OpenSearch, con el soporte de un experto en OpenSearch provisto por AWS
- Convirtió las consultas del SDK de Azure (ODATA) al formato del SDK de OpenSearch (DSL) mediante una clase intermediaria equivalente con métodos find, upload y delete
- Construyó una API de conversión de filtros con un endpoint por índice, que transforma la cadena de filtro en un objeto JSON listo para la consulta
- Desplegó la API conversora dentro del mismo cluster de Kubernetes (Amazon EKS) que los microservicios para minimizar la latencia
- Documentó en detalle la solución para que los equipos internos adapten sus microservicios de forma gradual a futuro
Desafío de negocio
El corazón del proyecto era migrar los índices de búsqueda de Azure Search AI a Amazon OpenSearch, dos servicios incompatibles entre sí. Las consultas del SDK de Azure usan ODATA, mientras que OpenSearch usa DSL; el mapeo de propiedades difiere para operaciones como agrupación, filtrado y orden; y modificar el formato de las consultas en un gran volumen de microservicios, en un tiempo acotado, era inviable. El punto más complejo eran los filtros de Azure Search AI: expresan operadores, agrupaciones, comparadores e iteradores dentro de una única cadena de texto simple, algo que había que interpretar y reconstruir fielmente en el mundo de OpenSearch.
Solución
En vez de reescribir los microservicios uno por uno, Craftech apostó por una estrategia de abstracción y conversión: una capa intermedia que traduce consultas y datos entre ambos sistemas. Primero adaptó el mapeo de los índices de Azure Search AI al de OpenSearch, con el soporte de un experto en OpenSearch provisto por AWS, y luego resolvió la conversión de consultas de ODATA a DSL. Como Producteca consultaba con el SDK de Azure en Node.js a través de una clase intermediaria (con métodos find, upload y delete), el equipo construyó una clase equivalente que hace la conversión y consulta vía el SDK de OpenSearch, de modo que los microservicios casi no notaran el cambio. Para los filtros —el punto más espinoso— construyó una API con un endpoint por índice: usando una clase Model equivalente al mapeo y una llamada mock a OpenSearch, transforma el filtro desde una cadena de texto simple a un objeto JSON listo para sumarse a la consulta. Y para no pagar el costo de latencia de un salto de red extra, esa API conversora se desplegó dentro del mismo cluster de Kubernetes donde corren los microservicios. La infraestructura se gestionó con Terraform sobre Amazon EKS, con conectividad segura mediante Twingate.
Resultados
- Migración entre proveedores cloud lograda en una fracción del tiempo de refactorizar los microservicios
- Ahorro significativo de horas de desarrollo al evitar una reescritura masiva
- Migración casi transparente para los microservicios gracias a la API de conversión y la clase intermediaria
- Menor riesgo de errores y menor necesidad de pruebas de regresión extensas
- Capacidad de capitalizar rápido los beneficios del nuevo proveedor cloud
- Documentación detallada que habilita una adaptación gradual y controlada del resto del stack
Trabajar con Craftech
La migración fue un trabajo conjunto entre Producteca, Craftech y AWS, que aportó además el soporte de un especialista en OpenSearch para resolver el mapeo de índices. Más allá de ejecutar la migración, el equipo dejó dos activos clave: una arquitectura que hizo el cambio casi transparente para los microservicios —minimizando riesgo y pruebas de regresión— y una documentación detallada de la solución, para que los equipos internos de Producteca puedan adaptar el resto de sus microservicios de forma gradual y controlada cuando lo decidan.
Tecnologías utilizadas
La nueva búsqueda se apoya en Amazon OpenSearch, con una capa de conversión (clase intermediaria en Node.js y una API de filtros) desplegada dentro del mismo cluster de Amazon EKS que los microservicios para minimizar la latencia. La infraestructura se gestionó como código con Terraform, la conectividad segura se resolvió con Twingate, y el stack aplicativo combinó Node.js y .NET.
Stack & tecnologías
“Gran partner, nos acompañaron durante todo el proyecto, ayudándonos con la implementación de la solución y resolviendo las distintas complejidades que fueron surgiendo. ¡Muy recomendables!”
¿Tu equipo enfrenta un desafío parecido?
Pedí un assessment gratuito de costos y arquitectura en AWS.