Llegamos a ustedes gracias a:



Reportajes y análisis

Observabilidad: Lo que TI debe saber

Mientras la tecnología se calienta

[03/03/2021] A medida que la tecnología empresarial se vuelve más y más compleja, el término "observabilidad" está ganando adeptos entre los encargados de gestionar la infraestructura distribuida de la que dependen cada vez más sus empresas. El viejo adagio de que no se puede controlar lo que no se puede medir nunca ha sido tan relevante para la gente del negocio del software, ya que la necesidad de observabilidad es cada vez más evidente.

En marzo del 2020, antes de que la inmensa mayoría del mundo supiera qué era r/wallstreetbets de Reddit o a cuánto cotizaban las acciones de GameStop, la popular aplicación de inversión Robinhood sufría cortes de servicio periódicos que impedían a los usuarios comprar y vender acciones de empresas como Tesla, Apple y Nike.

Los cortes, que aparecieron varias veces en el transcurso del 2020, fueron causados por "la tensión en nuestra infraestructura", escribieron los cofundadores de Robinhood, Baiju Bhatt y Vlad Tenev, en una publicación del blog de marzo del 2020.

Obviamente, esto es malo para el negocio, porque Robinhood gana una pequeña cantidad de dinero en cada operación que fluye a través de sus sistemas, y es malo para la reputación de Robinhood como una empresa que está tratando de democratizar la compra y venta de acciones de la compañía a través de Internet. Estas interrupciones pueden incluso dar lugar a demandas de usuarios descontentos que se perdieron de vender en la parte superior o de comprar en la parte inferior del mercado.

Por todas esas razones, ser capaz de detectar esas tensiones en la infraestructura antes de que afecten a los clientes, o al menos limitar el radio de explosión de esos incidentes, puede convertirse rápidamente en una prioridad a nivel directivo para empresas como Robinhood.

La complejidad del software moderno basado en la nube ha permitido a las empresas escalar sus servicios digitales con eficacia, pero esa complejidad también crea cuellos de botella y dependencias que pueden ser difíciles de prever o arreglar sobre la marcha.

"Con miles de microservicios, cientos de lanzamientos al día y cientos de miles de contenedores, no hay forma de que el ojo humano pueda hacer frente a ese nivel de complejidad", comenta Greg Ouillon, CTO para Europa, Oriente Medio y África del proveedor de monitorización New Relic.

La observabilidad promete ayudar a aprovechar la complejidad actual de las TI

La observabilidad tiene sus raíces en los principios de ingeniería de la teoría de control, donde se mide cómo se puede observar el estado interno de un sistema utilizando solo sus salidas externas. En el ámbito del software, es una evolución natural de la monitorización, que toma los resultados brutos de las métricas, los eventos, los registros y las trazas para construir una imagen en tiempo real de cómo funcionan los sistemas y dónde pueden surgir los problemas. Es el medio por el que los desarrolladores pueden empezar a desvelar la caja negra que encierran sus complejos sistemas.

El problema para la mayoría de las organizaciones es el enorme volumen de datos que generan sus grandes sistemas distribuidos y, por tanto, la capacidad de encontrar una forma escalable de detectar y reaccionar a los problemas con la suficiente rapidez para evitar que los usuarios se vean afectados.

"Los contenedores y los microservicios son tan complejos, y las interacciones son tan vastas, que es prácticamente imposible darles sentido. A medida que añadimos más instrumentación obtenemos más datos y nadie puede mirar todo eso", anota Josh Chessman, un analista de Gartner especializado en la monitorización del rendimiento de las redes y las aplicaciones. "¿Cómo encontrar esa aguja en el pajar? De eso trata la observabilidad al final: de encontrarla y arreglarla, porque el tiempo de inactividad cuesta dinero".

Cómo la pandemia impulsó la observabilidad

La pandemia de COVID-19 ha hecho que el gasto en la nube aumente de forma generalizada, lo que significa que cada vez más empresas necesitan ser capaces de supervisar y remediar la complejidad subyacente que conlleva la nube. "Ser capaz de ver toda la pila de software es ahora una necesidad dentro de entornos de TI y de desarrollo mucho más complejos y durante la continua migración a la nube y la modernización acelerada de las aplicaciones", sostiene Ouillon de New Relic.

Spiros Xanthos es el cofundador de la startup de rastreo distribuido Ominition, que fue adquirida por el proveedor de monitoreo Splunk en el 2019. Después de pasar años trabajando con las herramientas necesarias para observar eficazmente los sistemas de software modernos y distribuidos, ahora es vicepresidente de gestión de productos, observabilidad y operaciones de TI en Splunk, donde ha visto crecer rápidamente el interés de los clientes por la observabilidad como idea en el último año.

"En el 2018, vimos a muchas empresas que son nativas de la nube y en el sector tecnológico hablando de la observabilidad", comenta. "El año pasado, vimos que esto se convirtió en una corriente principal, con grandes organizaciones que adoptan tecnologías nativas de la nube y se interesan por la observabilidad".

El banco británico TSB ha tenido sus propios problemas bien publicitados con la tecnología que afecta a los clientes, después de su desastrosa migración del sistema bancario central en el 2018. Desde entonces, el banco ha tenido que lidiar con interrupciones regulares de TI, haciendo que la fiabilidad y la respuesta a los incidentes sean prioridades a nivel de la junta directiva. "Queremos tener una arquitectura para la nube, donde cualquier falla es como el modelo de Netflix, donde no hay una interrupción masiva del sistema, y limitamos cualquier cosa a un puñado de clientes", señala Suresh Viswanathan, director de operaciones de TSB.

TSB ya no posee ni opera ningún centro de datos, por lo que su sistema de centro de llamadas está en la nube de BT, su CRM es Microsoft Dynamics 365, y su sistema bancario central está gestionado por IBM, por nombrar solo algunos socios clave, todos ellos vinculados por una compleja red de microservicios y APIs. Este es un buen ejemplo de dónde se necesita la observabilidad.

"En teoría, podemos sustituir cualquiera de esas plataformas, pero al ir de un lado a otro de estas transacciones no tenemos la instrumentación necesaria para saber qué es lo que salta [falla]", anota Viswanathan. Por ello, el banco utiliza el proveedor de monitorización Dynatrace para obtener esta instrumentación y visibilidad. La capacidad de observación "no es solo una herramienta, sino un viaje cultural como empresa", señala, "para que podamos seguir lo que está sucediendo en las manos de nuestros clientes y redondearlo". Esto es importante para ir un paso por delante de cualquier problema".

Ir más allá de los tres pilares de la observabilidad

Hablando en la primera conferencia de Dash en el 2018, el CEO de Datadog, Olivier Pomel, esbozó lo que ahora se acuerda comúnmente como los tres pilares de la observabilidad: métricas, rastros y registros. Tomados individualmente, cada uno de estos pilares representa la capacidad de un desarrollador para monitorear sus sistemas. Una vez reunidos, se puede empezar a conseguir la observabilidad.

"Los desarrolladores llevan mucho tiempo haciendo estas tres cosas, por lo que rebautizarlas no es especialmente útil", afirma Dan Taylor, jefe de ingeniería de la popular empresa de reservas de viajes Trainline. "Para nosotros, el quid de la cuestión es ir más allá de esas tres piezas técnicas para ver un sistema de forma holística, en lugar de como componentes individuales".

Trainline es una aplicación moderna típicamente compleja, compuesta por microservicios interconectados y cientos de APIs para que las empresas de viajes externas se conecten a su plataforma de reservas. Esto crea toda una serie de dependencias que pueden ser difíciles de observar de forma coherente, especialmente cuando se quiere dar a los equipos de desarrolladores autonomía sobre cómo gestionar su software.

"No se trata de decirles de forma prescriptiva cuánto deben registrar o qué métricas son importantes, sino de llevarlos a la comprensión de su impacto en los clientes y en el negocio en su conjunto", sostiene Taylor.

Para la mayoría de las organizaciones, la instrumentación es solo el comienzo. Ser capaz de entender el valor de esa información y cómo puede ayudar a sus clientes e ingenieros es la parte más importante del rompecabezas.

Por ejemplo, en Porsche Informatik, una empresa austriaca de software que presta servicios principalmente al sector de la automoción, "los clientes esperan tener disponibilidad las 24 horas del día, lo que requiere conocer la causa raíz de un problema antes de que el cliente lo vea. Necesitábamos una monitorización integrada de todos los componentes de nuestra pila completa", señala Peter Friedwagner, jefe de infraestructura y servicios en la nube de Porsche Informatik, durante su sesión en la conferencia virtual Dynatrace Perform de este año.

La empresa alberga un sistema de gestión de concesionarios utilizado por 50 mil concesionarios de toda Europa, donde el tiempo de actividad es vital. Recientemente ha dividido esta aplicación monolítica local en microservicios alojados en contenedores con Red Hat OpenShift, tanto en sus instalaciones como en la nube pública de Microsoft Azure. Comprender los patrones de comunicación entre esos microservicios a medida que se van sucediendo fue, y sigue siendo, un reto para sus desarrolladores. La esperanza es que las herramientas de observabilidad conduzcan a esa comprensión.

Cuidado con la palabra de moda "observabilidad

"Hace un año, la observabilidad era un término útil, pero ahora se está convirtiendo en una palabra de moda", afirma Chessman, analista de Gartner, y muchos proveedores se muestran más que felices de cooptar el apelativo de observabilidad.

"A medida que crece la necesidad y la demanda de observabilidad, algunos proveedores de herramientas de monitorización se están subiendo al carro, casi tan rápido como lo hicieron con devops hace unos años", señala el proveedor Splunk en su propia Guía para principiantes de la observabilidad, con al menos cierto grado de autoconciencia.

Como escribió el director de ingeniería y bloguero técnico Ernest Mueller allá por el 2018, "ninguna herramienta va a darte observabilidad, y esa es la falacia habitual de la bala de plata que se escucha de alguien que quiere venderte algo".

En cambio, las organizaciones tienen que elaborar su propio camino hacia una mejor observabilidad. "Es como poner el carro delante de los bueyes para comprar observabilidad", anota George Bashi, vicepresidente de infraestructura de ingeniería en Yelp.

Es por eso que el popular sitio de reseñas -que es principalmente una aplicación Python altamente distribuida que se ejecuta en Kubernetes- cree en la propiedad del producto y en empoderar a los desarrolladores para que sean responsables de sus propios servicios. "Cuando un equipo de desarrolladores es propietario de algo, la compensación clásica es el rendimiento, la fiabilidad y el costo. Ponemos los datos en manos de esos equipos para que tengan las herramientas necesarias para tomar esas decisiones", señala Bashi.

El futuro de la observabilidad

Cuando se habla con cualquier persona encargada de pensar en la observabilidad de sus sistemas, se obtiene una lista de deseos común, a menudo rematada con conocimientos automatizados y remedios impulsados por el aprendizaje automático.

Viswanathan, de TSB, quiere herramientas que puedan aplicar la inteligencia "para conocer los principales problemas y aplicar el kit de remedios caseros, por así decirlo, de modo que el sistema se ponga en marcha por sí mismo, sin que nos demos cuenta. Ahí es donde queremos llegar".

También es hacia donde quieren ir los vendedores. "Por fin estamos lo suficientemente cerca de la inteligencia basada en la máquina para la observabilidad", señala Xanthos de Splunk. "Por primera vez, somos capaces de aplicar la inteligencia de las máquinas para correlacionar con eficacia. Si puedo resolver esto una vez, podemos avanzar hacia la remediación automatizada".

Sin embargo, las máquinas podrían no estar listas para tomar el control todavía. En su libro fundacional Distributed Systems Observability, la desarrolladora de software, Cindy Sridharan, predica a favor de la observabilidad dirigida por los ingenieros:

"El proceso de saber qué información exponer y cómo examinar las pruebas que se tienen a mano -para deducir las respuestas probables detrás de las idiosincrasias de un sistema en producción- sigue requiriendo una buena comprensión del sistema y del dominio, así como un buen sentido de la intuición.

El Santo Grial para cualquiera que desarrolle su capacidad de observación es un sistema que pueda detectar y solucionar problemas automáticamente, antes de que los ingenieros se den cuenta e independientemente del entorno en el que se encuentren. Para conseguirlo, "los proveedores tendrán que destacar por su capacidad para consolidar y dar sentido a esos montones de datos, con capacidades de inteligencia y automatización superpuestas a esa instrumentación", finaliza Chessman de Gartner.