Blog de Amazon Web Services (AWS)

El camino hacia lo administrado: el caso de Amazon Elasticsearch Service

Por Kevin Fallis, Arquitecto Especialista en Búsqueda de Soluciones de AWS

 

Antes de unirme a AWS, lideré un equipo de desarrollo que creaba soluciones de publicidad móvil con Elasticsearch. Elasticsearch es un popular motor de búsqueda y análisis de código abierto para análisis de registros, monitoreo de aplicaciones en tiempo real, análisis de flujos de clics y (por supuesto) búsqueda. La plataforma que tenía a cargo era esencial para dirigir los negocios de mi empresa.

Mi equipo ejecutó una implementación autoadministrada de Elasticsearch en AWS. En ese momento, no estaba disponible ninguna oferta administrada de Elasticsearch. Tuvimos que construir las secuencias de comandos y las herramientas para implementar nuestros clústeres de Elasticsearch en tres regiones geográficas. Eso incluyó las siguientes tareas (y más):

  • Configurar las reglas de redes de trabajo, enrutamiento y firewall para permitir que el clúster se comunique.
  • Asegurar la administración de las API de Elasticsearch desde un acceso no autorizado.
  • Crear balanceadores de carga para la distribución de solicitudes entre nodos de datos.
  • Crear grupos de escalado automático para reemplazar las instancias si hubiese problemas.
  • Automatizar la configuración.
  • Administrar las actualizaciones por cuestiones de seguridad.

Si tuviese que describir la experiencia en una sola palabra, elegiría “dolorosa”. Implementar y administrar correctamente los propios clústeres de Elasticsearch a gran escala requiere mucho tiempo y conocimiento. Quizás lo más importante es que distrajo a mis ingenieros de hacer lo que mejor saben hacer: innovar y producir soluciones para nuestros clientes.

Amazon Elasticsearch Service (Amazon ES) se lanzó el 1 de octubre de 2015, casi 2 años después de que me uní a AWS. Casi 5 años después, Amazon ES está en su mejor posición para proporcionarle un conjunto de características convincentes que le permite satisfacer las necesidades relacionadas con la búsqueda. Con Amazon ES, obtiene un servicio completamente administrado que facilita la implementación, la operación y el escalado de los clústeres de Elasticsearch de manera segura y rentable en la nube de AWS. Amazon ES ofrece acceso directo a las API de Elasticsearch, lo que hace que el código y las aplicaciones existentes que utiliza Elasticsearch funcionen perfectamente con el servicio.

Amazon ES provee todos los recursos para su clúster de Elasticsearch y lo lanza a cualquier región que elija en minutos. Detecta y reemplaza automáticamente los nodos con fallas de Elasticsearch, lo que reduce la sobrecarga asociada con las infraestructuras autoadministradas. Puede escalar su clúster de manera horizontal o vertical, hasta 3 PB de datos, sin tiempo de inactividad a través de una sola llamada a la API o con unos pocos clics en la consola de administración de AWS. Con esta flexibilidad, Amazon ES puede admitir cualquier carga de trabajo desde clústeres de desarrollo de un solo nodo a clústeres de múltiples nodos a gran escala de producción.

Amazon ES también proporciona un conjunto sólido de complementos Kibana, los cuales se ofrecen sin tarifas de licencia. Características como control de acceso detallado, alertas, administración del estado del índice y soporte SQL son solo algunos de los ejemplos. El conjunto de características de Amazon ES se origina en las necesidades de clientes como usted y a través de iniciativas comunitarias de código abierto como Open Distro for Elasticsearch (ODFE).

Al decidirse a pasar a un servicio administrado, debe tener en cuenta varias cuestiones. Por supuesto, quiere que sus equipos se centren en hacer trabajos significativos que impulsen el crecimiento de su empresa. Puede ser un gran desafío decidir entre qué procesos debería descargar a un servicio administrado y cuáles son los mejores procesos autoadministrados. Según mi experiencia en la gestión de Elasticsearch con mi anterior empleador y habiendo trabajado con miles de clientes que migraron a AWS, considero que las siguientes secciones son temas importantes para revisar.

 

Cargas de trabajo

Antes de migrar a un servicio administrado, debe observar qué están haciendo los otros en su “vertical”, ya sea en finanzas, telecomunicaciones, asuntos legales, comercio electrónico, fabricación o cualquier otro número de otros mercados. Puede estar tranquilo al saber que miles de clientes en estos mercados verticales implementan con éxito sus búsquedas, análisis de registros, SIEM y otras cargas de trabajo en Amazon ES.

Elasticsearch es un motor de búsqueda predeterminado. Compass utiliza Amazon ES para escalar su infraestructura de búsqueda y crear una solución completa, escalable y de búsqueda de bienes raíces. Mediante el uso de herramientas analíticas y de búsqueda líderes en la industria, hacen que cada descripción en el catálogo de la compañía sea reconocible para los consumidores y ayudan a los profesionales de bienes raíces a encontrar, comercializar y vender viviendas más rápido.

Con herramientas poderosas como agregaciones y alertas, Elasticsearch se usa ampliamente para las cargas de trabajo de análisis de registros a fin de obtener información sobre las actividades operativas. A medida que Intuit se mueve hacia una arquitectura de alojamiento en la nube, la empresa está en un viaje de “observabilidad” para transformar la forma en que monitorea el estado de sus aplicaciones. Intuit utilizó Amazon ES para crear una solución de observabilidad, que proporciona visibilidad de su estado operativo en toda la plataforma, desde contenedores hasta aplicaciones sin servidor.

Cuando se trata de seguridad, Sophos es un líder mundial en seguridad cibernética de próxima generación y protege a sus clientes contra las amenazas cibernéticas más avanzadas de la actualidad. Sophos desarrolló un sistema de monitoreo y alerta de seguridad a gran escala utilizando Amazon ES y otros componentes de AWS porque saben que es muy adecuado para casos de uso de seguridad a gran escala.

Ya sea para encontrar un hogar, detectar eventos de seguridad o ayudar a los desarrolladores a encontrar problemas en las aplicaciones, Amazon ES admite una amplia gama de casos de uso y cargas de trabajo.

 

Costo

Cualquier discusión sobre las prácticas recomendadas operativas tiene un factor de costo. Con Amazon ES, puede seleccionar el tipo de instancia y la opción de almacenamiento óptimos para su carga de trabajo con unos pocos clics en la consola. Si no está seguro de sus requisitos de cómputo y almacenamiento, Amazon ES tiene precios bajo demanda sin costos iniciales ni compromisos a largo plazo. Cuando conoce sus requisitos de carga de trabajo, puede abaratar considerablemente los costos de los precios de la instancia reservada para Amazon ES.

Los costos de cómputo e infraestructura son solo una parte de la ecuación. En AWS, alentamos a los clientes a evaluar su costo total de propiedad (TCO) cuando comparan soluciones. Como la persona encargada de tomar decisiones organizacionales, debe considerar todos los beneficios de costos relacionados al elegir reemplazar su entorno autoadministrado. Algunos de los factores que invito a mis clientes a considerar son:

  • ¿Cuánto está pagando para manejar el funcionamiento de su clúster en cualquier momento, todo el año?
  • ¿Cuánto gasta en crear los componentes operativos, como los procesos de soporte, así como los procedimientos de reparación automatizados y manuales para clústeres en su entorno?
  • ¿Cuáles son los costos de licencia para las funciones avanzadas?
  • ¿Qué costos paga por las redes de trabajo entre los clústeres o los servicios DNS para exponer sus ofertas?
  • ¿Cuánto gasta en procesos de copia de seguridad y con qué rapidez puede recuperarse de cualquier falla?

Lo mejor de Amazon ES es que ya no debe preocuparse por estos problemas. Amazon ES proporciona equipos operativos para manejar sus clústeres, copias de seguridad automatizadas de datos por hora durante 14 días para el clúster, corrección automatizada de eventos con el clúster y funciones de incremento sin licencia como uno de los inquilinos básicos del servicio.

También debe prestar especial atención a la gestión del costo de almacenamiento de sus datos en Elasticsearch. En el pasado, para mantener los costos de almacenamiento bajo control, los usuarios autoadministrados de Elasticsearch tenían que confiar en soluciones que eran complicadas de administrar bajo todos los niveles de datos y, en algunos casos, no les daban acceso rápido a esos datos. AWS resolvió este problema con UltraWarm, un nuevo nivel de almacenamiento de bajo costo. UltraWarm le permite almacenar y analizar de manera interactiva sus datos, que se respaldan en Amazon Simple Storage Service (Amazon S3) mediante Elasticsearch y Kibana, mientras reduce su costo por GB al casi un 90 % sobre las opciones actuales de almacenamiento.

 

Seguridad

En conversaciones con clientes, su mayor preocupación es la seguridad. Una filtración de datos puede costar millones y dañar por siempre la reputación de una empresa. Proporcionarle las herramientas para asegurar sus datos es un componente crítico de nuestro servicio. Para sus datos en Amazon ES, puede hacer lo siguiente:

Muchos clientes desean tener un entorno de inicio de sesión único cuando se integran con Kibana. Amazon ES ofrece autenticación Amazon Cognito para Kibana. Puede elegir integrar los proveedores de identidad como AWS Single Sign-On, PingFederate, Okta y otros. Para más información, consulte Integración de proveedores de identidad SAML de terceros con grupos de usuarios de Amazon Cognito.

Recientemente, Amazon ES presentó el control de acceso detallado (FGAC). FGAC proporciona control granular de sus datos en Amazon ES. Por ejemplo, en función de quién hace la solicitud, es posible que desee una búsqueda que arroje resultados de un solo índice. Es posible que desee ocultar ciertos campos en sus documentos o excluir ciertos documentos en conjunto. FGAC le da el poder de controlar quién mira qué datos existen en su dominio de Amazon ES.

 

Conformidad

Muchas organizaciones necesitan adoptar un número de estándares de conformidad. Aquellas que han experimentado auditorías y actividades con certificación saben que asegurar la conformidad es un proceso costoso, complejo y extenso. Sin embargo, con Amazon ES, se beneficia del trabajo que AWS ha realizado para asegurarle conformidad con un número de estándares importantes. Amazon ES cumple con PCI DSS, SOC, ISO y FedRamp para ayudarlo a cumplir con los requisitos reglamentarios o específicos de la industria. Debido a que Amazon ES es un servicio elegible para HIPAA, procesar, almacenar y transmitir PHI puede ayudarlo a acelerar el desarrollo de estas cargas de trabajo sensibles.

Amazon ES es parte de los servicios en alcance de la evaluación más reciente. Puede crear soluciones sobre Amazon ES con el conocimiento de que los auditores independientes reconocen que el servicio cumple con los requisitos de estos importantes estándares de la industria.

 

Disponibilidad y resiliencia

Cuando crea una implementación de Elasticsearch en las instalaciones o en entornos de nube, debe pensar en cómo esta puede sobrevivir a las fallas. También necesita descubrir cómo puede recuperarse de las fallas cuando ocurren. En AWS, nos gusta planificar porque sabemos que las cosas se descomponen, como las fallas en el hardware y en el disco, por nombrar algunas.

A diferencia de prácticamente cualquier otro proveedor de infraestructura tecnológica, cada región de AWS tiene múltiples zonas de disponibilidad. Cada zona de disponibilidad consiste en uno o más centros de datos, separados físicamente uno de otros, con energía y redes de trabajo prescindible. Para una alta disponibilidad y rendimiento de sus aplicaciones, puede implementar aplicaciones en múltiples zonas de disponibilidad en la misma región para tolerancia a fallas y baja latencia. Las zonas de disponibilidad se interconectan con redes de trabajo de fibra óptica privadas y rápidas, lo que le permite diseñar aplicaciones que conmutan por error automáticamente entre zonas de disponibilidad sin interrupción. Las zonas de disponibilidad se encuentran más disponibles, con tolerancia a fallas y escalables que las infraestructuras tradicionales de centros de datos únicos o múltiples.

Amazon ES ofrece la opción paraimplementar sus instancias a través de una, dos o tres zonas de disponibilidad. Si está ejecutando cargas de trabajo de desarrollo o prueba, elija la opción de una sola zona de disponibilidad. Aquellos que ejecutan cargas de trabajo de grado de producción deben usar dos o tres zonas de disponibilidad.

Para más información, consulte Aumento de disponibilidad para Amazon Elasticsearch Service mediante la implementación en tres zonas de disponibilidad. Además, implementar en varias zonas de disponibilidad con nodos principales dedicados significa que obtiene el beneficio de Amazon ES SLA.

 

Operaciones

Un equipo operativo que trabaja todo el día, todos los días, con experiencia en el manejo de miles de clústeres de Elasticsearch alrededor del mundo monitorea Amazon ES. Si necesita soporte, puede obtener orientación y asistencia de expertos a través de las tecnologías de AWS Support para lograr sus objetivos más rápido a costos más bajos. Quiero destacar la importancia de tener una única fuente de soporte para su infraestructura en la nube. Amazon ES no se ejecuta de forma aislada y tener soporte para toda su infraestructura en la nube desde una sola fuente simplifica enormemente el proceso. AWS también le brinda la opción de utilizar los planes de soporte de nivel empresarial, donde puede tener un director técnico de cuenta dedicado que esencialmente se convierte en miembro de su equipo y está comprometido con su éxito con AWS.

El uso de herramientas en Amazon ES como las alertas, que le brindan un medio para tomar medidas sobre los eventos en sus datos yla administración del estado de índice, que le permite automatizar actividades como la eliminación de registros, le brinda características de operación adicionales que no necesita crear.

Cuando se trata del monitoreo de sus implementaciones, Amazon ES le brinda una gran cantidad de métricas de Amazon CloudWatchcon las cuales puede controlar sus implementaciones de Amazon ES dentro un “panel único”. Para más información, consulte Métricas para controlar clústeres con Amazon CloudWatch.

Mantenerse actualizado es también otro tema importante. Para permitir el acceso a las versiones más nuevas de Elasticsearch y Kibana, Amazon ES ofrece actualizaciones Elasticsearch en el lugar para dominios que ejecutan las versiones 5.1 y posteriores. Amazon ES brinda acceso a las versiones más estables y actuales de la comunidad de código abierto siempre que la distribución pase nuestras estrictas evaluaciones de seguridad. Nuestro servicio se enorgullece del hecho de que le ofrecemos una versión que ha pasado nuestras propias revisiones de seguridad internas de AWS.

 

Integraciones AWS y otros beneficios

AWS tiene una gran variedad de servicios que se integran sin dificultades con Amazon ES. Como muchos clientes, es posible que desee monitorear el estado y el rendimiento de sus servicios nativos de la nube en AWS. La mayoría de los servicios de AWS registran eventos enAmazon CloudWatch Logs. Puede configurar un grupo de registro para transmitir los datos que recibe a su dominio de Amazon ES a través de una suscripción a CloudWatch Logs.

El volumen de datos de registro puede ser muy variable y debe considerar almacenar en búfer las capas al operar a gran escala. Almacenar en búfer puede permitirle diseñar la estabilidad dentro de sus procesos. Al diseñar a escala, esta es una de las formas más fáciles que sé para evitar abrumar a su clúster con eventos de ingestión puntiagudos. Amazon Kinesis Data Firehose tiene una integración directa con Amazon ES y ofrece almacenamiento en búfer y reintentos como parte del servicio. Configure Amazon ES como destino a través de algunas configuraciones simples y los datos pueden comenzar a transmitirse a su dominio de Amazon ES.

 

Velocidad y agilidad aumentadas

Al crear nuevos productos y ajustar las soluciones existentes, debe poder experimentar. Como parte de esa experimentación, el fracaso rápido es un proceso aceptado que le da a su equipo la capacidad de probar nuevos enfoques para acelerar el ritmo de la innovación. Parte de ese proceso implica el uso de servicios que le permiten crear entornos rápidamente y, si el experimento falla, comenzar de nuevo con un nuevo enfoque o usar diferentes características que finalmente le permitan alcanzar los resultados deseados.

Con Amazon ES, recibe el beneficio de poder proporcionar un clúster entero de Elasticsearch, completo con Kibana, en “cuestión de minutos” en un entorno seguro y administrado. Si su prueba no produce los resultados deseados, puede cambiar las dimensiones de su clúster horizontalmente o verticalmente mediante diferentes ofertas de instancias dentro del servicio de una sola llamada API o en unos pocos clics en la consola.

Cuando se trata de la implementación de su entorno, las herramientas nativas, como Amazon CloudFormation, le brindan herramientas de implementación que le otorgan la posibilidad de crear entornos completos a través de secuencias de comandos de configuración a través de JSON o YAML. La interfaz de líneas de comandos de AWS (AWS CLI) proporciona herramientas de línea de comandos que también pueden activar dominios con un pequeño conjunto de comandos. Para aquellos quienes quieran innovar en la creación de secuencias de comandos en sus entornos, AWS CDK tiene unmódulo para Amazon ES.

 

Conclusión

Es fundamental que sus equipos se centren en hacer un trabajo importante e innovador al crear productos y servicios que diferencien a su empresa. Amazon ES es una herramienta fundamental para proporcionar estabilidad operativa, seguridad y rendimiento de su infraestructura de búsqueda y análisis. Si considera los siguientes beneficios que ofrece Amazon ES, la decisión de migrar es simple:

  • Soporte para búsqueda, análisis de registros, SIEM y otras cargas de trabajo
  • Funcionalidad innovadora con UltraWarm para ayudarlo a administrar sus costos
  • Entornos altamente seguros que abordan las cargas de trabajo de PCI y HIPAA
  • Capacidad para descargar procesos operativos a un proveedor experimentado que sepa cómo operar Elasticsearch a escala
  • Complementos sin costo adicional que brindan acceso detallado, algoritmos de similitud basados en vectores o alertas y monitoreo con la capacidad de automatizar la respuesta a incidentes.

Puede comenzar por utilizar Amazon ES con la capa gratuita de AWS. Este nivel proporciona el uso gratuito de hasta 750 horas por mes de una instancia t2.small.elasticsearch y 10 GB por mes de almacenamiento EBS opcional (de uso general o magnético).

En el transcurso de los próximos meses, organizaré conjuntamente una serie de publicaciones que presentan patrones de migración para ayudarlo a pasar a Amazon ES. Además, AWS cuenta con un sólido ecosistema de socios y un equipo de servicios profesionales que le brinda personas calificadas y capaces para ayudarlo con su migración.

 

Este artículo fue traducido del Blog de AWS en Inglés.

 


Sobre el autor

Kevin Fallis es un arquitecto especialista en búsqueda de soluciones de AWS. Su pasión en AWS es ayudar a los clientes a aprovechar la combinación correcta de servicios de AWS para lograr el éxito de sus objetivos comerciales. Sus actividades después del trabajo incluyen familia, proyectos de bricolaje, carpintería, tocar la batería y todo lo relacionado con la música.

 

 

 

 

Use los datos para impulsar el crecimiento empresarial. Logre una innovación constante con el volante de inercia de datos