La Fed y los Microservicios

Published by

on

Durante el 2023 aparecieron una serie de artículos y presentaciones (y sus ecos), planteando resultados adversos/dudosos sobre la superioridad de Microservicios como respuesta universal a la arquitectura de un sistema web.

Que esto se haya planteado en uno de los años más desafiantes a nivel financiero y de negocio para empresas tecnológicas, creo yo, no es casualidad . No soy el único parece. Y el fenómeno de fondo explica, para mi, porqué frecuentemente se comienza con una mentalidad que termina en overkills innecesarios.

La Fed y las empresas tecnológicas

Durante el 2022 y 2023 las de tasas de interés que regula la Reserva Federal de los Estados Unidos («la Fed») fueron noticia, y su suba fue la más agresiva desde que estoy vivo – que se puede ver en el pico del final.

Esto tuvo un impacto directo en el mundo de la tecnología, que supo recibir inversiones muy importantes (por momentos ridículas) y que repentinamente se detuvieron.

En muchos casos estas inversiones se utilizaban para pagar gastos corrientes (en lugar de crecimiento) y distorsionaban la capacidad de entender si atrás de una empresa había un buen negocio o no.

Después de más de una década casi sin restricciones de capital empezaron a sentir la presión de rentabilidad que durante mucho tiempo se pospuso. Mucha gente habló de esto mucho mejor de lo que lo voy a poder explicar yo – como en este video.

¿Porqué invertían así?

Porque había pocas opciones y una buena inversión de estas podía dar retornos extraordinarios y cubrir todas las malas decisiones. Si invertiste en AirBnB en 2009 o en Stripe en 2011 hiciste un gran negocio – incluso si invertiste también en «Yo».

Un aspecto clave de estos productos es que escalan fácil: AirBnB no precisa duplicar sus costos para duplicar su facturación sólo «algunos servidores más» – y un software bien diseñado. Así que con un gran foco en el crecimiento y la escala, nacieron un montón de productos digitales.

Follow the leader

Cómo en tantas otras disciplinas, todos miramos las soluciones que implementan los que están en la vanguardia enfrentando problemas que costaría siquiera imaginar. En el caso del software las soluciones son diseños, herramientas y productos innovadores que además muchas veces comparten y publican. Y en muchos casos, les copiamos nos inspiramos en lo que hacen para no repetir errores.

Ejemplos sobran: Microservicios, JWT, Kubernetes, Serverless. Y un tendal de cosas más.

Y cuando tenemos que tomar una decisión, cuesta cargar con la culpa de «no hacer lo que hace Facebook» si las cosas salen mal. Pero es importante ser claros con los supuestos y las consecuencias asumidas. Porque todo es un trade-off.

Ojo con gastar como el leader

Hay veces que en el rubro del software perdemos la perspectiva del negocio que hay detrás cuando llevamos adelante nuestro trabajo. No voy a especular sobre las razones que creo que son variadas, pero entiendo que objetivamente sucede y se puede ver en distintos ejemplos.

A diferencia de otras disciplinas donde los costos de realizar cambios son mayores/imposibles (porque involucra acero o cemento), los intangibles que construimos en desarrollo de software permiten «adaptarse sobre la marcha». Esto hace que muchas veces hagamos análisis más livianos de las decisiones – y que no incluyan una mirada completa.

La elección de Microservicios como arquitectura incial para un sistema es totalmente válida. Pero introduce complejidad, un mayor gasto en infraestructura y un mayor head-count permanente solamente para que funcione.

Capaz que sin plata infinita, el CFO tiene algo para decir sobre eso.

Architectural Decision Records

En algún momento hablé de Architectural Decision Records en una charla, que creo es una buena herramienta para tomar decisiones desafectadamente y ser más claro.