![Search icon](https://hackernoon.imgix.net/search-new.png?w=19&h=19)
Si llegaste a esta página pensando que te harías rico con algún plan para hacerte rico rápidamente, lamento decepcionarte. Este artículo más bien hablará sobre cómo reducir sus facturas de costos de la nube en $1 millón. Al hacer eso, básicamente habrá generado un millón de dólares adicionales en ingresos, que puede gastar comprando mi curso en línea sobre cómo hacerse rico con AWS ( enlace al curso aquí ).
El costo de la nube a menudo se pasa por alto y no se contabiliza al comienzo de los proyectos de las empresas. La encuesta de HashiCorp de 2021 encontró que casi el 40% de las empresas gastaron de más en costos de la nube en 2021 [ 1 ]. En 2023, casi todas las empresas (94 %) admitieron que estaban desperdiciando dinero en la nube [ 1 ] y que al menos el 30 % del coste de la nube se desperdició [ 2 ]. El gasto en la nube fue de casi 500 mil millones de dólares en 2022; por lo tanto, ¡estamos hablando de 150 mil millones de dólares desperdiciados al año!
No sólo se trata de una preocupación por la pérdida de ingresos, sino también por malas prácticas de sostenibilidad. ¡150 mil millones de dólares de energía desperdiciada!
Estos hallazgos involucran tanto a empresas grandes como a las más pequeñas, desde la madurez de la nube alta hasta la madurez de la nube baja. Se refiere a AWS, pero se pueden aplicar los mismos principios a cualquier otro proveedor de la nube. Entonces, si alguna parte de su trabajo se realiza en la nube, este artículo es para usted.
Hablo desde la perspectiva de un ingeniero de datos, pero los mismos aprendizajes se pueden aplicar a otras prácticas de ingeniería de software.
Vamos a sumergirnos.
Este tipo de factura de la nube suele estar restringida a empresas muy grandes que operan globalmente con millones de clientes.
Para darle una idea, una factura en la nube de $1 millón puede resultar de un trabajo de Spark ETL que procesa ~1,5 Tb por hora, 24 horas al día, 7 días a la semana, durante los 365 días del año. Otro ejemplo podría ser una aplicación que recibe miles de millones de solicitudes al día desde múltiples ubicaciones en el mundo.
En una gran empresa, hay cientos de aplicaciones de este tamaño, lo que da lugar a contratos por miles de millones de dólares con proveedores de nube. Por ejemplo, Airbnb se había comprometido a gastar 1.200 millones de dólares en recursos de la nube durante cinco años a finales de 2019 [3 ].
En Expedia reducimos los costos de un ETL de procesamiento de datos que cuesta $1,1 millones de dólares al año a tan solo $100.000 al año mediante la implementación de prácticas de optimización. ¡¡Eso es una reducción de costos del 91 %!!
No todas las empresas tienen aplicaciones de un tamaño tan grande, pero imagine reducir el costo de la nube en un 90 % solo para una sola aplicación o para toda su empresa.
Vaya y obtenga una lista de sus aplicaciones más caras y desafíe sus suposiciones de diseño .
Todas estas preguntas vuelven a la pregunta más importante: ¿cómo se va a utilizar la aplicación? ¿Cuál es el valor comercial para que exista? ¿Cómo nos ayuda la aplicación a conseguir un objetivo determinado?
Por supuesto, todas estas respuestas muchas veces no están claras al comienzo de un proyecto; pero es por eso que el diseño siempre debe ser un proceso iterativo, permitiendo que los cambios se produzcan de la manera más fluida posible. Los ingenieros deben aceptar la evolución y el cambio, alineando el desarrollo de aplicaciones con el impacto.
El segundo paso consiste en proporcionar a la aplicación los recursos adecuados y ajustarla a la infraestructura adecuada.
Como ingeniero, tenga en cuenta cómo se calculan los costos de la nube. Por ejemplo, AWS proporciona instancias puntuales en las que puede ofertar por el precio del clúster; esto es particularmente útil si tiene aplicaciones flexibles y tolerantes a fallas. Úselos si puede: AWS afirma reducir hasta un 90% los costos [ 4 ].
Algunas otras consideraciones que quizás desee abordar son:
Hay pocos o ningún inconveniente al utilizar instancias de AWS Graviton. AWS ha invertido mucho en la creación de los procesadores más rentables. Puede obtener hasta un 40% de reducción en el gasto en la nube simplemente cambiando de un procesador basado en Intel a un procesador basado en ARM [ 10 ].
La única advertencia es que su aplicación debe ser compatible con los procesadores basados en ARM en los que se ejecuta Graviton. Si se trata de un servicio administrado como RDS u OpenSearch, entonces no hay ninguna complicación en el cambio: AWS se ocupa del sistema operativo subyacente y la compatibilidad de las aplicaciones. Si está creando su propia aplicación, es posible que deba volver a compilar el paquete según el lenguaje que esté utilizando: Java y otros lenguajes no requieren cambios, mientras que Python requiere cierta atención.
Por último, no olvide seguir controlando sus costos para detectar picos inesperados y sorpresas. El costo del día 0 de su aplicación será diferente del costo del día 170. Asegúrese de realizar un seguimiento de los cambios y de comprender por qué se produce el cambio: ¿está acumulando costos de almacenamiento de s3 o es solo una única vez? ¿espiga?
¡Configure las alertas y guías operativas necesarias !
Es importante destacar que implemente etiquetas de asignación de costos para realizar un seguimiento del gasto por departamento, proyecto o entorno. Evite el riesgo de crear un pantano de datos donde el costo sea imposible de rastrear o requiera un largo viaje a través de diferentes sistemas de registro. Debería ser rápido y sencillo volver al costo de cualquier aplicación determinada.
Dondequiera que trabaje, es difícil equilibrar la entrega de nuevas funciones con la optimización de las actuales. ¿Quién no se ha sentido presionado para ofrecer nuevas funciones extravagantes a la velocidad de la luz?
Sin embargo, es fundamental que tanto los ingenieros como los directivos tomen decisiones deliberadas y proactivas sobre sus proyectos actuales, gestionando riesgos y oportunidades de forma eficaz.