La Insoportable Levedad del Soft: Sistemas y Aviación Comercial

Ayer, British Airways sufrió una falla de sistemas que afectó sus operaciones a escala global, con los epicentros de las fallas en los aeropuertos de Londres donde opera sus hubs, Heathrow y Gatwick.

La falla afectó las apps de mobile check-in, los sistemas de manejo de reservas y los sistemas internos de la compañía. En un momento de la tarde de ayer, se solicitó a los pasajeros que dejaran de ir a los aeropuertos, porque sólo contribuía al caos, ya que los vuelos estaban cancelados.

La compañía indicó que la falla estaba relacionada con un «inconveniente» en el suministro de energía, y que no había ningún indicio de que se tratara de un ciberataque. Con la noticia en evolución, tuiteé esto:

El incidente de British no es el primero, ni de la compañía, ni de la industria: Delta canceló cerca de 2000 vuelos a principios de este año, Southwest sufrió fallas que le costaron 1000 vuelos, y la misma British ya había experimentado caídas de sistema el año pasado. La lista sigue, con United (tuvo tres incidentes en poco más de un año) y varias más.

Cada caída cuesta decenas de millones de dólares, un impacto tremendamente negativo en la experiencia de cliente y en la imagen de la línea. Además, por las debilidades del modelo de distribución de rutas Hub & Spoke, el fallo desencadena un efecto dominó sobre la operación. Es por eso que los Low Cost Carrier, con su estrategia de vuelos punto a punto, no sufre tanto un fallo general. Sin embargo, la idea general es que no se toman acciones para evitar o mitigar estas fallas. La realidad es bastante distinta.

Por qué se caen los sistemas?

De acuerdo a mi experiencia profesional, la respuesta más corta, y que sin embargo considero mejor es «por qué no?». Un sistema, por sí mismo, es parecido a un organismo vivo. Tiene necesidades e interdependencias similares a la de cualquiera de nosotros. Necesita de una red, de un suministro eléctrico, de millones de líneas de código que prevean cada uno de los resultados de las operaciones que realiza. Necesita otra tonelada de líneas para todo aquello que no sale como es debido.

En lenguaje simple, si un sistema espera obtener como resultado una manzana, y sale una manzana, somos todos felices. Ahora, si sale una naranja,  el sistema sólo «entiende» que no salió una manzana. Habrá que prepararlo para interpretar «naranja» como resultado. Y si hay una operación específica que hacer con la naranja, habrá que indicársela también. Entonces sabrá que hacer con una manzana y una naranja. El día que salga una pera, no tendrá idea de qué hacer con ella. A esta situación, se la llama excepción. La Universidad Carnegie Mellon hizo un estudio que reveló que más del 60% de los errores de sistemas son causados por estas excepciones.

Es entonces cuando pregunto si podemos hacernos una idea de la complejidad y el volumen de transacciones que el sistema de reservas de una línea aérea tiene. Teniendo en cuenta ese panorama, sumémosle las decenas de sistemas complementarios que una compañía maneja. Consideremos que no todos los sistemas tienen la misma edad, que no fueron programados en el mismo lenguaje, que no son atendidos por los mismos ingenieros, que no están alojados en la misma infraestructura, que no son servidos por la misma red, que no son operados por los mismos usuarios. Con todo eso en vista, es más fácil entender que hay millones de variables que funcionan ajustadamente todos los días, a toda hora. Con todo, los sistemas fallan todo el tiempo. Lo que se establece es una red de redundancia que intenta que la falla sea mitigada inmediatamente, y que la operación para el usuario sea transparente. Y, como esta red de redundancia también es un sistema, se encuentra expuesta a la misma ensalada de variables.

Hasta que una de las variables falla. Y se lleva puesta la operación de la Aerolínea.

Aplicaciones de Misión Crítica versus Economía: Cuánto Cuestan Dos Horas sin Banelco?

Imaginemos un escenario en el que la Red de Cajeros Automáticos Banelco sale de servicio por dos horas. Durante ese tiempo, no hay compras con débito, no se puede extraer dinero de los cajeros. Cuál sería el impacto en la economía? Otro ejemplo: una cadena de supermercados no tiene sistemas para la línea de cajas durante un fin de semana. Además de las ventas que no hace, agreguemos la cadena logística de todo lo que se vence y no pudo vender. Sumemos el éxodo de clientes hacia otros supermercados.

Hay aplicaciones dentro de un negocio que no pueden dejar de andar: esos sistemas son considerados de Misión Crítica, porque el núcleo de la operación de la compañía depende exclusivamente de ellos. La razón por la que el escenario de dos horas sin Banelco es impensado, es porque la inversión que la compañía controlante hace sobre la plataforma es millonaria, y la redundancia y los reaseguros hacen que las fallas sean transparentes. Es decir, que diseñar, desarrollar y operar un sistema que no se caiga nunca, es posible. Pero es carísimo. Es entonces cuando la decisión de qué sistema es primordial, y por ende cuánto dinero cueste en su etapa de creación o de mantenimiento, es meramente económica. Y no hay una sola industria que escape a esta lógica.

Bien, toda esta explicación es para dejar claro una cosa: Ni para British Airways, ni para Southwest, ni para United, ni para ninguna aerolínea (ninguna), sus sistemas de experiencia de cliente son de Misión Crítica. Lo dijo clarito Oscar Muñoz, CEO de United, en enero de este año, tras una falla de dos horas en los sistemas de check-in.

Se juntó con empleados de United en Washington Dulles y les contó que United tiene dos tipos de sistemas: Unos sistemas viejos, pero «muy confiables» y sistemas nuevos. Los sistemas viejos andan bien, pero luchan a veces para interactuar con los sistemas nuevos. «Es como usar un pasacasette y hacerlo reproducir música desde un iPhone: el trabajo que hay que hacer para conectar estas cosas es costoso, y no siempre confiable. Sin siquiera contar con el factor del error humano.»

Ante la pregunta de los empleados de por qué no actualizar todos los sistemas de la compañía para terminar de una vez con las fallas, Muñoz reveló la clave del asunto: «Es como intentar cambiar las cuatro ruedas de un auto en movimiento. Es imposible hacerlo sin cerrar la aerolínea. Tenemos que trabajar, no? Ustedes vieron lo que nos hicieron dos horas. Un cambio de sistemas de esa magnitud? Llevaría semanas. Y no podemos cerrar y poner un cartel de ‘Disculpen los inconvenientes. Volvemos en dos semanas’. Es un escenario realmente muy complejo.»

La necesidad tecnológica se enfrenta a la necesidad de negocio, y pierde. Esto es invariable y pasa (ayer, hoy y siempre) en todas las industrias. Por lo tanto, como pasajero, cuando se encuentre ante una falla del estilo, la recomendación será tomarlo con humor, tratar de obtener las compensaciones que le corresponden como afectado y relajarse. No será la última. Eso se lo aseguro.

 

 

 

7 comentarios en «La Insoportable Levedad del Soft: Sistemas y Aviación Comercial»

  1. Es verdad. Los sistemas de las empresas, no solo las aéreas, terminan siendo un engendro. Sistemas en DOS y sistemas de última generación funcionando en “una perfecta armonía” hasta q vaya a saber uno q coño pasa y a la miércoles con todo.
    Y si no fíjate lo q pasó con Whatsapp hace poco… El pobre hombre de la limpieza q apagó el servidor para calentar el agua para el mate. Jajajajajajjajajajaja.
    P.D.: la liga de Doñas Rosas ha sumado a su lista de pedidos volver al pasaje escrito a mano y carbónico para evitar estos casos de la modernidad.
    Saludos

    Responder
    • Totalmente. Sin ir más lejos, el 90% de los sistemas bancarios está hecho en COBOL, que la última actualización se la hizo Mirtha Legrand después de tomar la confirmación. Así y todo, prefiero 150 veces una plataforma madura como ésa y no estas app para IOS escritas en Smalltalk.

      Responder
      • Ya tanto de lenguajes de programación no se. No tengo paciencia y no me metí en el área. Pero al ser usuario de muchos sistemas te das cuenta q es imposible q no haya un quilombito de estos.
        En la telco q laburo uno no puede mudarse con el número de teléfono fijo de una central a otra justamente x los sistemas. Conviven sistemas viejos y nuevos y la migración a los nuevos lleva una inversión terrible más el tiempo de migración y de corrección de fallas. Así la cosa funciona 10000 veces mejor q realizar el cambio.

        Responder
    • Cierto es. Lo he puesto bien en otras notas y se me escapó en esta. Lo corrijo, gracias.
      Y con respecto al pobre Oscar, al menos fue sincero y puso el tema sobre la mesa. La cantidad de CEOs y CIOs que se jactan de su modernidad y tienen sistemas que solo corren en Windows NT…

      Responder

Deja un comentario