Icono del sitio IT&ライフハックブログ|学びと実践のためのアイデア集

Guía completa de Amazon OpenSearch Service: diseño de plataformas de búsqueda y analítica de logs comparándolo con Azure AI Search y los servicios de búsqueda de Google

Amazon OpenSearch Service

Amazon OpenSearch Service

Guía completa de Amazon OpenSearch Service: diseño de plataformas de búsqueda y analítica de logs comparándolo con Azure AI Search y los servicios de búsqueda de Google

Introducción

En este artículo nos centraremos en Amazon OpenSearch Service de AWS y organizaremos la manera de pensar las plataformas de búsqueda y las plataformas de analítica de logs comparándolo con Azure AI Search de Azure y, del lado de Google Cloud, con la opción más cercana, Vertex AI Search.

Amazon OpenSearch Service es un servicio administrado que facilita desplegar, operar y escalar clústeres de OpenSearch en AWS, y puede cubrir una amplia gama de casos de uso, como búsqueda, analítica de logs, visualización en tiempo real y búsqueda vectorial. En la página oficial de AWS también se presenta como una plataforma unificada que soporta búsqueda, analítica e incluso operaciones de base de datos vectorial.

Al mismo tiempo, los objetivos de comparación requieren algo de cautela. Azure ofrece Azure AI Search, una plataforma de búsqueda y recuperación totalmente administrada que proporciona búsqueda de texto completo, búsqueda vectorial y búsqueda híbrida. Esto la convierte en un servicio relativamente comparable a OpenSearch Service en el contexto de la “infraestructura de búsqueda para aplicaciones y RAG”.

Sin embargo, en Google Cloud es más difícil encontrar un servicio independiente único que corresponda uno a uno con Amazon OpenSearch Service. Para búsqueda en aplicaciones o en sitios web, Vertex AI Search es la opción más cercana, y para búsqueda vectorial por sí sola, Vertex AI Vector Search también lo es. Pero en las áreas donde OpenSearch Service es especialmente fuerte —como analítica de logs, analítica operativa y la convivencia entre búsqueda y analítica— Google Cloud suele diseñarse combinando varios servicios.

Por esa razón, en este artículo los organizaremos de la siguiente manera:

  • AWS OpenSearch Service como una “plataforma de búsqueda integral que también puede usarse para búsqueda, analítica de logs y observabilidad”
  • Azure AI Search como un “servicio cercano especialmente fuerte en búsqueda para aplicaciones y búsqueda para RAG”
  • Google Cloud Vertex AI Search / Vector Search como “opciones cercanas más orientadas a experiencias de búsqueda y búsqueda vectorial”

Este tema es útil no solo para equipos de desarrollo de aplicaciones que quieren diseñar búsqueda de texto completo, búsqueda de productos o búsqueda de documentos internos. Como OpenSearch Service también se usa para analítica de logs, observabilidad, análisis de seguridad y paneles en tiempo real, también es muy importante para SREs, equipos de plataforma de datos y equipos de operaciones de seguridad. Las plataformas de búsqueda tienden a convertirse en deuda operativa cuando se adoptan “por ahora”, así que el camino más corto hacia el éxito es definir desde el principio casos de uso, carga, frecuencia de actualización, estrategia de retención y estructura operativa.


1. ¿Qué es Amazon OpenSearch Service?

Amazon OpenSearch Service es un servicio administrado que permite desplegar, operar y escalar fácilmente clústeres de OpenSearch en AWS. En la documentación de OpenSearch Service, un dominio se explica como algo casi sinónimo de un clúster de OpenSearch, y se describe cómo configurarlo especificando tipos de instancia, cantidad de instancias, almacenamiento, etc. También se indica claramente que soporta OpenSearch, así como Elasticsearch OSS heredado hasta la versión 7.10.

Lo que hace atractivo a este servicio es que no es solo un “motor de búsqueda de texto completo”, sino más bien una plataforma en la que búsqueda, analítica, visualización de logs y búsqueda vectorial pueden gestionarse sobre una sola base técnica. Según la página de producto de AWS, puede escalar hasta 25 PB, 1.000 nodos de datos e incluso 200 nodos coordinadores, cubriendo desde búsqueda y analítica hasta operaciones de bases de datos vectoriales.

Lo que es especialmente importante en la práctica es distinguir desde el inicio si se va a usar OpenSearch Service como solo búsqueda o como una plataforma de observabilidad que también incluye analítica de logs. Incluso con el mismo OpenSearch, los siguientes casos de uso difieren por completo en diseño de índices, período de retención, configuración de nodos, permisos y crecimiento del costo:

  • Búsqueda de productos para sitios de comercio electrónico
  • Búsqueda de documentos internos
  • Búsqueda de texto completo en logs de aplicaciones
  • Investigación de logs de seguridad
  • Búsqueda vectorial para RAG

En otras palabras, OpenSearch Service es muy versátil, pero también es un servicio con el que es fácil equivocarse si se adopta sin tener claro para qué se va a usar exactamente.


2. La diferencia entre OpenSearch Service y OpenSearch Serverless

En AWS actual, OpenSearch Service tiene en grandes rasgos dos formas: aprovisionado (basado en dominios) y OpenSearch Serverless. En la visión general oficial de Serverless, OpenSearch Serverless se describe como una opción bajo demanda y de escalado automático que reduce la complejidad del aprovisionamiento, la configuración y el ajuste de la infraestructura.

Mientras tanto, la documentación comparativa explica que, con el modelo aprovisionado, hay que calcular uno mismo los tipos de nodo y los requisitos de almacenamiento, y elegir la configuración de instancias del dominio, mientras que Serverless escala automáticamente las unidades de cómputo en función del uso.

Resumiéndolo de una forma práctica y fácil de entender:

Cuándo encaja bien OpenSearch Serverless

  • Nuevos productos donde todavía es difícil predecir los patrones de carga
  • Equipos pequeños que no quieren dedicar mucho tiempo a operar clústeres
  • Cargas de trabajo con grandes fluctuaciones
  • Casos en los que se quiere lanzar rápidamente búsqueda o analítica

Cuándo encaja bien el modelo aprovisionado

  • Cargas grandes y estables donde se quiere optimizar el costo en detalle
  • Casos en los que se quiere controlar fuertemente la configuración de nodos, almacenamiento y características de rendimiento
  • Equipos que ya tienen conocimientos operativos de OpenSearch/Elasticsearch
  • Casos en los que se quiere un control muy fino sobre la estrategia de índices y su ciclo de vida

En la práctica, si tienes dudas, empieza con Serverless, y cuando entres en una fase de operación estable a gran escala, considera también el modelo aprovisionado. Serverless es extremadamente conveniente, pero no es una solución mágica; también es una elección sobre cuánto quieres dejar en manos de la automatización.


3. Casos de uso representativos de OpenSearch Service

Hay muchas maneras de usar OpenSearch Service, pero es más fácil organizar el diseño dividiéndolo en cuatro categorías.

3-1. Búsqueda en aplicaciones

Esto incluye búsqueda de productos, búsqueda de artículos, búsqueda de FAQ y búsqueda de documentos internos: búsquedas con las que interactúan directamente los usuarios finales. Aquí son importantes la búsqueda de texto completo, los filtros, la faceta y las sugerencias. Azure AI Search es especialmente fuerte en esta área, y se describe como un servicio que integra contenido empresarial y contenido web mientras ofrece búsqueda de texto completo, vectorial e híbrida.

3-2. Analítica de logs y analítica operativa

Aquí es donde OpenSearch Service es especialmente fuerte. Se usa a menudo alimentándolo con logs de aplicaciones, logs de acceso y logs de auditoría, y luego realizando búsqueda, agregación y visualización. Azure AI Search y Vertex AI Search no cubren completamente este caso de uso, y esta es una de las fortalezas distintivas de OpenSearch Service. AWS también posiciona de forma destacada OpenSearch Service para casos de uso de analítica.

3-3. Analítica de seguridad

Esto incluye infraestructura de búsqueda para investigación de amenazas, correlación de logs y respuesta a incidentes. El requisito clave aquí es la capacidad de acotar grandes volúmenes de eventos a alta velocidad.

3-4. Búsqueda vectorial y RAG

Esta es una de las áreas más destacadas en los últimos tiempos. Azure AI Search enfatiza explícitamente la integración con aplicaciones basadas en RAG, mientras que Vertex AI Search y Vertex AI Vector Search también se presentan en el contexto de búsqueda, recomendación y IA generativa. OpenSearch Service también es descrito por AWS como compatible con operaciones de base de datos vectorial.

Lo importante aquí es no meter todo en un único clúster. La búsqueda de aplicaciones y la analítica de logs difieren en patrones de actualización y períodos de retención, y la búsqueda vectorial introduce otra dimensión de diseño. Incluso dentro del mismo servicio, las operaciones suelen ir mucho mejor si se piensan por separado según el caso de uso.


4. Comparación con Azure AI Search

Azure AI Search es el servicio de búsqueda totalmente administrado de Azure, que ofrece búsqueda de texto completo, búsqueda vectorial y búsqueda híbrida sobre datos empresariales y contenido web. Su documentación oficial lo describe como “un servicio totalmente administrado y alojado en la nube que conecta tus datos con IA”, y señala que es adecuado también para RAG y para búsqueda basada en agentes.

Comparado con OpenSearch Service, Azure AI Search da la impresión de estar más enfocado en construir experiencias de búsqueda. En particular, es fácil compararlo en contextos como:

  • Búsqueda web / en aplicaciones
  • Búsqueda híbrida que combina vectores y palabras clave
  • Infraestructura de búsqueda para LLMs y agentes

Por otro lado, OpenSearch Service se diferencia significativamente en que es adecuado para manejar analítica de logs y analítica operativa sobre la misma base. Si tus requisitos se centran en “búsqueda de productos”, Azure AI Search es una opción muy fuerte. Pero si quieres “búsqueda y analítica de logs unificadas en la misma familia tecnológica”, OpenSearch Service suele ser la elección más natural.

Dicho de forma simple para quienes trabajan en esto:

  • Azure AI Search: más fácil de orientar hacia aplicaciones de búsqueda, RAG y búsqueda empresarial
  • OpenSearch Service: más fácil de unificar aplicaciones de búsqueda junto con analítica de logs y operativa

Esa es una forma útil de entender la diferencia.


5. Comparación con las opciones más cercanas en Google Cloud

En Google Cloud, es difícil encontrar un solo servicio que coincida exactamente con OpenSearch Service. En su lugar, hay servicios cercanos dependiendo del caso de uso.

Vertex AI Search

Vertex AI Search se presenta como una plataforma totalmente administrada para construir experiencias de búsqueda personalizadas para sitios web y aplicaciones. Su fortaleza está en que facilita integrar funciones de búsqueda y recomendación con calidad de Google en las aplicaciones.

Vertex AI Vector Search

Este es un motor de búsqueda vectorial, orientado a recomendación, búsqueda de nueva generación y aplicaciones de IA generativa.

En otras palabras, en Google Cloud la división suele verse así:

  • Texto completo / búsqueda para aplicaciones → Vertex AI Search
  • Búsqueda vectorial → Vertex AI Vector Search
  • Analítica de logs → combinada con otras plataformas de analítica o logging

Esta es una diferencia bastante importante. AWS OpenSearch Service permite manejar “búsqueda + analítica + visualización + vectores” dentro de una pila tecnológica relativamente unificada, mientras que en Google Cloud el diseño suele dividir responsabilidades entre servicios según el propósito.

Por eso, al comparar con Google Cloud, es más correcto afirmar desde el principio que no existe una contraparte única y completamente equivalente a OpenSearch Service. En GCP, es más natural descomponer por caso de uso: búsqueda, búsqueda vectorial o analítica de logs.


6. Diseño de costos para OpenSearch Service

Las páginas de precios de AWS muestran que OpenSearch Service tiene múltiples dimensiones de facturación, incluyendo horas de instancia, almacenamiento, OCU de Serverless y OCU de búsqueda semántica. La página japonesa de precios también explica detalles como los 14 días de retención para snapshots automáticos, el hecho de que los snapshots manuales se almacenan en S3 y ejemplos de uso del nivel gratuito.

El costo de una plataforma de búsqueda crece principalmente según los siguientes factores:

  • Cantidad de datos indexados
  • Número de réplicas
  • Período de retención
  • Carga de consultas
  • Procesamiento adicional para búsqueda vectorial o híbrida
  • Ingesta de gran volumen para analítica de logs

Especialmente en los casos de uso de analítica de logs, “la cantidad que ingieres tiende a convertirse directamente en el costo”. Por eso es extremadamente importante decidir desde el principio los períodos de retención, la rotación y la estrategia de eliminación o archivado de índices antiguos.

Como ejemplo práctico, tiene sentido dividir así:

  • Últimos 7 días: búsqueda frecuente, retención caliente
  • Días 8–30: retenidos para investigaciones
  • Después del día 31: snapshot o traslado a otra plataforma si hace falta

Separar “el período realmente necesario para búsqueda” del “período retenido por si acaso” facilita mucho la estimación del costo.


7. Errores comunes y cómo evitarlos

7-1. Meter todo en OpenSearch

Este es el error más común. Si viertes todo porque es conveniente, el diseño de índices se desordena, y tanto la calidad de búsqueda como los costos se deterioran. La clave es separar las cosas por caso de uso desde el principio.

7-2. Operar la búsqueda de aplicaciones y la analítica de logs con la misma mentalidad

Las aplicaciones de búsqueda priorizan relevancia, tiempo de respuesta e integración con la UI. La analítica de logs prioriza retención, agregación y resolución de problemas. Incluso en la misma plataforma, sus reglas operativas deberían separarse.

7-3. Pensar que Serverless significa “todo es fácil y no hace falta ninguna precaución”

Serverless es conveniente, pero no significa que puedas ignorar el volumen de datos, el volumen de consultas o la estrategia de retención. La responsabilidad del diseño de índices sigue estando, en última instancia, del lado de la aplicación.

7-4. Suponer que existe una contraparte perfectamente equivalente en GCP

En Google Cloud, es más natural pensar en servicios distintos según la finalidad. En lugar de buscar un equivalente exacto de OpenSearch Service, es más preciso dividir la comparación según el caso de uso que realmente quieres implementar.


8. Conclusión

Amazon OpenSearch Service es un servicio administrado muy capaz que puede manejar búsqueda, analítica de logs, analítica operativa y búsqueda vectorial. AWS lo presenta oficialmente como una plataforma unificada que soporta búsqueda, analítica y operaciones de bases de datos vectoriales.

Azure AI Search es una plataforma de búsqueda totalmente administrada con búsqueda de texto completo, vectorial e híbrida, lo que la hace especialmente adecuada para búsqueda en aplicaciones y RAG.
Google Cloud, por su parte, se presta naturalmente a un estilo de diseño en el que servicios como Vertex AI Search y Vector Search se combinan según el propósito.

Así que si resumimos la lógica de selección en una sola línea:

  • Si quieres búsqueda + analítica de logs + observabilidad en conjunto → OpenSearch Service
  • Si quieres construir una plataforma de búsqueda totalmente administrada centrada en experiencias de búsqueda y RAG → Azure AI Search
  • Si quieres ensamblar búsqueda y búsqueda vectorial por finalidad en Google Cloud → Vertex AI Search / Vector Search

Como primer paso, recomiendo limitar el alcance a un solo caso de uso.
Por ejemplo, empezar solo con “búsqueda de productos” o solo con “analítica de logs”. Las plataformas de búsqueda pueden expandirse indefinidamente si se las deja, así que, en lugar de intentar abarcarlo todo desde el principio, lo más importante es acotar el objetivo y construir primero una experiencia exitosa.


Referencias recomendadas

  • AWS OpenSearch Service overview, pricing, and Serverless comparison
  • Azure AI Search overview
  • Google Cloud Vertex AI Search / Vector Search overview
Salir de la versión móvil