Muchos ya conocen los beneficios de la pila ELK y la razón por la que numerosos equipos la utilizan. No solo es esencial para diagnosticar y resolver errores y problemas de producción, sino que es cada vez más valiosa para obtener información de los clientes. Además, la obtención de métricas adicionales sobre el estado y el uso de los sistemas proporciona a su equipo una gran ventaja competitiva. Mientras que otras empresas se esfuerzan por determinar dónde fallan, su equipo puede examinar los datos, adaptarse y ofrecer justo lo que el sistema necesita.
Como administrador, proporcionar una buena solución de registro para sus ingenieros y equipos de DevOps es algo que con frecuencia le preocupa. Pero también es consciente de que proporcionarla tiene un costo. Además del costo de la infraestructura, hay que ocuparse de las actualizaciones, los parches y las implementaciones. Y todo esto requiere tiempo, esfuerzo y experiencia.
Entonces, ¿cómo se puede ofrecer una solución de registro atractiva que a la vez sea fácil de mantener y admitir? ¿Existe alguna manera de obtener todos los beneficios de la pila ELK sin las complicaciones?
¿Por qué es tan importante el registro?
Con el crecimiento de los datos de las máquinas, el registro es cada vez más importante. Es fundamental para diagnosticar y solucionar problemas a fin de obtener un rendimiento óptimo de la aplicación. Además, existen numerosas herramientas que permiten obtener métricas y datos empresariales críticos a partir de los registros. El registro ya no se utiliza únicamente para encontrar problemas. También sirve para monitorear los sistemas.
No cabe duda de que el registro es fundamental. Por lo tanto, abordemos cómo se puede implementar. Un método conocido actualmente es la pila ELK. Puede optar por implementar y administrar la pila ELK usted mismo con versiones con licencia de Apache 2.0 de Elasticsearch y Kibana (hasta la versión 7.10.2) o administrar por cuenta propia una alternativa de código abierto a la pila ELK con OpenSearch, OpenSearch Dashboards y Logstash
¿Para qué sirve la pila ELK?
Recuerde que ELK es una pila compuesta en el núcleo de Elasticsearch, Logstash y Kibana. Revisemos un resumen igualmente breve de cada uno de estos.
Elasticsearch: un motor de búsqueda y análisis que se utiliza para la búsqueda de texto completo y para analizar registros y métricas.
Logstash: una herramienta de código abierto que captura y transforma registros y eventos.
Kibana: una herramienta de visualización y exploración para la revisión de registros y eventos.
Cuando se utilizan juntos, los componentes de la pila ELK proporcionan la capacidad de agregar registros de todos los sistemas. No solo hay que analizarlos para detectar problemas, sino también monitorear el uso del sistema y encontrar oportunidades de mejora. El análisis y la visualización de datos que ofrece ELK son insuperables.
Pero, ¿por qué utilizar un servicio administrado para ELK? Cuenta con un buen equipo. No conviene quedar atado a un único proveedor de alojamiento. Además, desea tener la flexibilidad de configurar todo para su caso de uso particular. ¿Por qué no administrar ELK usted mismo?
En resumen: es difícil.
¿Por qué es tan difícil administrar mi propia pila ELK?
Repasemos algunas de las razones por las que administrar ELK puede ser una tarea que no conviene realizar por cuenta propia.
La instalación no suele ser fácil
Al considerar la integración de sistemas, no hay que olvidar que la instalación no siempre es trivial. ¿Cuál es la mejor configuración? ¿Dónde se administran los secretos? ¿Cuánto hardware se necesita?
Una rápida búsqueda en Internet arroja un gran número de artículos que explican cómo instalar ELK. Si observa, algo que quizá notará es que no se trata ni mucho menos de una implementación de un solo clic al comenzar. De hecho, existen muchos requisitos previos. Y, o bien se utiliza la instalación básica que incluye la configuración predeterminada para todo, o se dedica más tiempo a investigar todas las opciones de configuración. ¿Cuáles son los límites de captura de datos? ¿Cuál es su plan de retención? ¿Por qué esto es relevante?
Ahora imagine que realiza esas tareas varias veces para cada entorno que tiene.
Incluso si usa scripting automatizado para todo, requerirá mucho tiempo precioso para que todo se configure y funcione sin problemas. Es tiempo que no se empleará en ofrecer valor a sus clientes. Con servicios administrados, como Amazon OpenSearch Service, la implementación de una pila ELK es sencilla y repetible.
Y no suele ser rápido
La mayoría de las empresas pretenden lanzar su producto al mercado rápidamente. Pero esto resulta imposible si se ve obligado a dedicar semanas o incluso meses a preparar la pila y la infraestructura para la producción.
¿En qué consiste su proceso actual para llevar las aplicaciones a la fase de producción? ¿Qué pruebas, verificaciones y perfeccionamientos realiza para asegurarse de que está preparado? Y si el hardware se debe configurar de forma óptima para operaciones de escritura intensiva, ¿lo hace antes de pasar a la fase de producción? ¿Cuál es su plan de actualizaciones?
Si administra su propia pila ELK, lo hace con infraestructura y aplicaciones con las que no está familiarizado. Además, servicios como Amazon OpenSearch Service permiten reducir considerablemente los costos de infraestructura, implementación y mantenimiento continuo.
Se dedica más tiempo a la resiliencia
Al administrar su pila ELK, pronto se preocupará por la resiliencia. ¿Qué debe hacer cuando uno de los nodos de Elasticsearch falla? ¿O si el rendimiento de Kibana se vuelve inutilizable?
Además, podría tener problemas si configura correctamente la infraestructura según los pasos anteriores. Logstash y Elasticsearch consumen mucha memoria. Si intentó ahorrar tiempo y dinero al realizar la instalación en la misma pequeña pieza de hardware, se incomodarán entre sí. Y aún no hemos mencionado un plan de actualización de versiones o de monitoreo y aplicación de parches para problemas de seguridad.
AWS puede ayudar con estas necesidades. Por ejemplo, consideremos los nodos de Elasticsearch. Si un nodo falla, Amazon OpenSearch Service lo detecta y lo sustituye sin necesidad de que usted intervenga. Es otro asunto sobre el que no conviene perder el tiempo preocupándose.
Básicamente, es bueno contar con un equipo grande porque la autoadministración lo hará aún más grande. Si ejecutar un clúster de Elasticsearch no es crítico para su línea de negocio, entonces haga que AWS lo administre por usted. Siempre es conveniente pagar a los ingenieros para que creen valor empresarial, no para que administren la pila ELK.
Entonces, ¿qué herramientas ayudan a evitar las complicaciones de la pila ELK?
Si crea, ejecuta y admite ELK, es importante recordar que no solo admite una herramienta. Se debe preocupar por tres de estas. Y la ejecución en la fase de producción planteará otros problemas. ¿Qué más podría llegar a admitir en su búsqueda para lograr la autoadministración?
Por ejemplo, para lograr una mayor resiliencia, es posible que desee utilizar Kafka para poner en cola los registros. En épocas de mucho tráfico, es preferible evitar la pérdida de registros a causa de que la pila ELK no pueda seguir el ritmo. ¿Está preparado para incorporar también la administración de Kafka? Como alternativa, puede utilizar Redis para ayudar a administrar la carga durante las horas pico. Pero espere, ¿no es eso algo más que tendrá que administrar? ¿Y cómo va a obtener los análisis que necesita para que el equipo pueda monitorear el sistema? ¿También va a realizar algo manualmente aquí? ¿O va a instalar y configurar otro sistema que le proporcione el monitoreo que necesita?
Hay una alternativa. Puede utilizar algo como Amazon Cloudwatch que le ayude. Esto funciona junto con Kibana para crear un método fácil de usar para analizar los registros.
Por último, pero no por ello menos importante, los servicios administrados de Elasticsearch, como Amazon OpenSearch Service, pueden contribuir a integrar la seguridad, incluida la compatibilidad con la VPC, el cifrado integrado de los datos en reposo y en movimiento, y la autenticación de usuarios.
¿Son las soluciones administradas adecuadas para usted?
Muchas empresas deciden que el autoalojamiento es una opción. Sin embargo, no todas tienen en cuenta la cantidad de trabajo, recursos técnicos y conocimientos necesarios para mantener su funcionamiento sin problemas. Y nadie desea dedicar tiempo a mantener un sistema en funcionamiento cuando podría dedicarlo a ofrecer grandes productos a los clientes.
Incluso si ha considerado el autoalojamiento, debería pensar en comenzar con servicios administrados, como Amazon OpenSearch Service para arrancar rápidamente. Es probable que, una vez que lo pruebe, descubra que los servicios administrados, como Amazon OpenSearch Service, permiten dedicar tiempo a aquello que realmente importa.
OpenSearch incluye cierto código de Elasticsearch con licencia de Apache de Elasticsearch B.V. y otro código fuente. Elasticsearch B.V. no es el origen de ese otro código fuente. ELASTICSEARCH es una marca registrada de Elasticsearch B.V.
Más información sobre los precios de Amazon OpenSearch Service