¿Porqué las aplicaciones monolíticas sobreviven tanto tiempo?


¿Porqué las aplicaciones monolíticas sobreviven tanto tiempo? - Gastón Krasny

¿A quién no le tocó entrar a un nuevo trabajo y encontrarse con una aplicación monolítica gigante? ¿Dónde están los micro-servicios que usan en todo el mundo? Seguro que lo primero que pensaste es adónde me metí, cómo sobrevivió esta empresa? En mi caso personal, me tocó trabajar en dos muy grandes .com en las cuales después de 10 años, aplicaciones monolíticas eran aún core del negocio, pero con contextos diferentes; una en proceso de desaparecer ya que imposibilitaba escalar, otra aún sosteniendo (como podía) el negocio. Me costaba bastante entender cómo esas aplicaciones habían perdurado tanto tiempo.

Hoy encabezando las decisiones tecnológicas de mi propia startup, empecé a disipar mis dudas. Cuando uno trabaja en una empresa con muchos años encima, no entiende ni vivió el contexto en el cual surgieron esas aplicaciones. Realmente es imposible comprenderlo hasta no vivirlo en carne propia. 

1. Los plazos 

Una startup nace y enfrenta una constante lucha por sobrevivir. Las probabilidades están en su contra, el 90% fracasan. En el mejor de los casos, se toma decisiones sabiendo que te quedan entre 12-18 meses de capital por delante. En este contexto, los plazos son infinitamente diferentes a los de una gran .com. El corto plazo son algunas horas. El mediano plazo no pasa de un par de días. El largo plazo es a lo sumo 2-3 meses. En este contexto, gran parte del código que escribas hoy, seguramente sea obsoleto en pocas semanas. ¿Por qué dedicar tiempo a separar una aplicación por el simple hecho de separarla?

2. La velocidad de desarrollo

En este contexto, muchas startups enfrentan un desafío clave: la velocidad con la que pueden subir nuevas funcionalidades. Es muy atípico que la escalabilidad sea un desafío real a esta altura. En cambio poder idear y subir nuevas funcionalidades en pocas horas, es mucho más relevante que tener una aplicación ordenada de la que cualquier nuevo desarrollador que entre al equipo esté orgulloso. Un buen parche que ayude a la facturación en el corto plazo es una buena decisión. 

3. Tamaño del equipo 

Cuando un proyecto arranca los equipos de trabajo suelen ser chicos. Nos conocemos todos, no hay tantas manos tocando el código. En este contexto, el riesgo de mantener una sola aplicación no es tan grande. Un solo equipo manteniendo una aplicación, podría ser equivalente a una empresa grande donde cada equipo tiene (al menos) una aplicación por equipo. 

4. Vender 

Muchos emprendimientos surgen a partir de que un grupo de amigos desarrolladores se juntaron con una idea. Creo que éste es el motivo por el que muchos proyectos fracasan (y también del que surgieron otros proyectos excepcionales). ¿Por qué? La falta de interdisciplinas en el equipo y poder entender que lo que te va a hacer sobrevivir es el valor de la empresa y la facturación. Y aunque te duela mucho, nadie va a mirar la calidad del código y las tecnologías usadas para evaluar tu empresa. En ese contexto, cada minuto de valor agregado en funcionalidades es clave.

Entonces, ¿cuándo salir de la aplicación monolítica? Cuando mantenerla te represente un freno en el desarrollo, en lugar de una aceleración. Cuando la escalabilidad te represente un problema del cual no puedas salir sin tener que separar. Cuando puedas levantar la cabeza, mirar adelante y entender que es momento de tomar decisiones en cuanto a tu código que te darán beneficios en varios meses. Cuando tengas más de 5-10 personas tocando el mismo código.

Tomar esta decisión a tiempo seguramente sea parte del éxito a largo plazo de tu empresa y una de las decisiones más difíciles que te toque tomar. ¿Estás atravesando realmente alguna de estas etapas?

Gastón Krasny

Gastón es el CTO y cofundador de SeSocio.com. Previamente, fue manager de diversas áreas en las más importantes .com tecnológicas del país y es especialista en temas de Machine Learning, Big Data y Data Science.

Ver más notas y consejos de Gastón Krasny.
navigate_next Siguiente

¿Querés ser el primero en descubrir todas las novedades?

Suscribite YA y recibí información con el mejor contenido, empresas y oportunidades laborales.