Para nadie es un secreto que en una startup de tecnologÃa, en sus etapas iniciales, el foco está en crecer. Pero crecer no siempre implica construir una buena infraestructura, ni escribir código legible, ni mucho menos garantizar que todo cumpla con un estándar de calidad. Sin embargo, a futuro esto nos pasa factura: a medida que crecemos, necesitamos generar una buena experiencia para el usuario final y tener costos operativos que permitan un margen de ganancia significativo para la empresa.
En Picap Latam tuvimos que afrontar este dolor.
Acá te cuento cómo atravesamos esta etapa, logrando reducir aproximadamente un 70% en costos: pasamos de gastar $120k USD a $30k USD por mes.
Actualización del Stack
Muchas veces pasamos por alto algo tan simple como actualizar las versiones de nuestro framework. Estas incluyen parches de seguridad, mejoras en rendimiento, nuevos features, etc.
En nuestro caso, el foco era el rendimiento.
Pasamos de Ruby 2.7.2
con Rails 5
a Ruby 3.2.2
y Rails 8
. El impacto fue altamente visible: en Kubernetes tenÃamos aproximadamente 110 pods en alta demanda, y ahora solo 30 pods.
Las mejoras propias del core de Rails permitieron bajar el tiempo de respuesta, y esto se traduce en menor carga para las máquinas y menor cantidad de recursos para atender solicitudes. Como resultado tuvimos una aplicación mucho más rápida.
No le temas a actualizar.
Con ambientes controlados, puedes ver qué partes de la aplicación se rompen al hacer un upgrade de versión e ir corrigiendo los fallos poco a poco.
Estrategias de Caching
Rails tiene como aliado a Redis, una base de datos en memoria extremadamente rápida. Aunque tiene varios propósitos, nosotros la usamos principalmente para caching, es decir, para mantener datos que sabemos que cambian muy poco. Memorizar estos datos evita que el sistema haga llamados innecesarios a la base de datos (MongoDB).
Resultado: menos consumo, menos pods y... más ahorro 🤑🤑🤑
Migración de infraestructura
Quienes alojan los servidores también pueden ofrecerte servicios con costos altos por features que, muy seguramente, no vas a necesitar.
En nuestro caso, el popular AWS era nuestra nube. Pero debido a los costos excesivos, optamos por movernos a DigitalOcean.
El efecto fue significativo: los servicios de DigitalOcean están pensados para que te preocupes menos por desplegar y más por enfocarte en el negocio.
De esta manera, administrar 70 apps con 1 solo ingeniero de DevOps se volvió algo sencillo y sostenible.
MentorÃa y formación
Aunque muchos esfuerzos se centran en la tecnologÃa para reducir costos operativos, también hay otros frentes que no puedes descuidar.
Si eres dueño de la compañÃa, no te gustará leer comentarios como:
"Esa app se cae todo el tiempo..."
Dedicar tiempo a la mentorÃa y formación de tu equipo genera productos de mayor valor, impulsa la innovación y la competitividad, reduce la rotación y construye equipos sólidos y motivados.
Conclusiones ðŸ§
Reducir costos operativos no se trata de hacer magia, sino de tomar decisiones estratégicas, actualizarte, enfocarte en lo esencial y formar un equipo sólido.
Gracias a estos cuatro pilares:
- Stack actualizado
- Infraestructura adecuada
- Caching
- MentorÃa y formación
...logramos reducir más del 70% de nuestros costos, lo que nos permitió usar el presupuesto en nuevos proyectos orientados a mejorar la experiencia del usuario y a innovar en tecnologÃa.
Si estás atravesando una etapa de crecimiento acelerado, detente un momento, evalúa, y prioriza. A veces, la optimización correcta vale más que seguir creciendo desordenadamente.
¿Tienes experiencias similares?
¡Déjamelo saber en los comentarios o compártelo con quien lo necesite! 🚀
Top comments (0)