¿Sabía que puede reducir su factura en la nube en un 30%, 40% y quizás mucho más si sabe dónde buscar?
La nube comenzó como una propuesta económica. Los servidores son caros y también lo son las salas con aire acondicionado y las conexiones a Internet que necesitan para funcionar. ¿Por qué no alquilarlos y dejar de pagar las grandes facturas del hardware y del personal que lo cuida? Los grandes centros de datos en la nube pueden ahorrar en escala y luego trasladar este ahorro al resto de nosotros.
Ahora, más de una década después, esos recortes han empezado a sumarse. Las empresas están gastando fácilmente millones en estas pequeñas instancias. El precio de lista puede ser de unos pocos céntimos de euro por hora, pero los desarrolladores utilizan tantos que el total hace que el director financiero se aferre a la medicación para el corazón.
En consecuencia, aquí le ofrecemos una serie de consejos para empezar a ahorrar. Algunas implican la sustitución de piezas más baratas. Otras, la supresión total de algunas piezas; y muchas otras implican mejorar las comunicaciones para que los desarrolladores y el equipo de desarrollo puedan tomar decisiones más inteligentes desde el punto de vista financiero. Ninguna es perfecta. Todas implican compensaciones. Ninguna de ellas funciona en todas las situaciones, pero vale la pena considerarlas todas.
1. Recurrir a proveedores de nube básicos
Las grandes empresas de la nube ofrecen una asombrosa variedad de opciones, entre las que se incluyen algunos servicios de primera categoría tanto para trabajos habituales como el almacenamiento de datos o tan ocasionales como el aprendizaje automático o la visión por computadora. Pero si no va a utilizar las mejores API y servicios, puede encontrar corredores de nube básicos que venden más o menos lo mismo por mucho menos. Empresas como Linode, DigitalOcean, Vultr, Hetzner, Scaleway y LightSail pueden ser más baratas, especialmente para cargas sencillas.
2. Encuentre los principales descuentos en la nube
Nadie necesita pagar los precios de lista en las grandes empresas de la nube. AWS, por ejemplo, ofrece descuentos para compromisos a largo plazo a través de instancias reservadas. Su mercado al contado puede ser un buen lugar para ejecutar el procesamiento en segundo plano cuando los precios bajan a horas menos habituales. Google ofrece descuentos automáticos que se activan cuanto más tiempo permanezca la máquina en funcionamiento. Los precios de lista están pensados para personas que quieren una gratificación instantánea y máquinas que arrancan con un chasquido de dedos. Planificar con antelación y buscar opciones de descuento es una de las formas más sencillas de pagar menos por las principales nubes.
3. Crear nubes híbridas
No todo el mundo tiene buenas máquinas con ciclos de sobra en su oficina, pero los que las tienen pueden aprovechar los paquetes de software cada vez más sofisticados para construir subredes seguras que las conecten entre sí. Las máquinas propias pueden ser mucho más baratas, e incluso un poco más seguras.
Tailscale, Submariner y Traefik son algunas de las opciones para construir esta malla segura a partir de una mezcla de máquinas de la nube pública y cualquier cosa que esté acumulando polvo. Algunos están construyendo clústeres Kubernetes. Otros se limitan a alojar servicios de back-end que no necesitan una baja latencia. No es una solución para las cargas de trabajo de cara al cliente, donde los clientes cuentan los milisegundos mientras esperan, pero es más fácil que nunca improvisar algo útil para el procesamiento en segundo plano.
4. Explorar los servidores bare metal
No todo el mundo necesita la flexibilidad de las modernas instancias en la nube. Algunos proveedores alquilan servidores completos sin las capas adicionales de hipervisores y virtualización. Su código se queda con toda la máquina, algo que también viene con menos preocupaciones por la seguridad. Tiene la verdadera contraseña de root. Puede que tenga que trabajar un poco más en la conservación de la capa del sistema operativo, pero a veces eso supone la oportunidad de hacer un mejor trabajo de ajuste de la máquina. IBM, OVHcloud, GTHost y Vultr son sólo cuatro de las muchas empresas que alquilan servidores bare-metal. O puede comprar los suyos propios.
5. Desglose la factura y tenga en cuenta las partes
Algunos usuarios de la nube se derriten cuando reciben la factura mensual porque sus aplicaciones consumen muchos datos. Algunas nubes cobran por la exfiltración de datos y esto puede sumar, especialmente si su contenido se vuelve viral. Otras empresas como Cloudflare están construyendo deliberadamente redes que no cobran por la exfiltración. Así que mire cuidadosamente el perfil de su aplicación. ¿Utiliza mucho la red, el almacenamiento de datos o una partida concreta de la factura? Es muy probable que alguna otra empresa de la nube tenga una fórmula mejor para usted.
6. Deje de pagar más por el almacenamiento de datos
Algunas empresas en la nube, como Backblaze o Wasabi, están especializadas en el almacenamiento de datos a bajo precio, con tarifas hasta un 80% inferiores a las de las principales nubes. El ahorro también puede ser mayor porque tienen estructuras de tarifas diferentes para el movimiento de datos, lo que le permite ahorrar en la exfiltración de datos. Estas empresas también ofrecen una API compatible con Amazon S3 que facilita el cambio.
7. Opte por la estática
Si su aplicación tiene una gran cantidad de información que no cambia, las aplicaciones construidas a partir de páginas web estáticas pueden ser la forma más barata de llegar a una amplia audiencia a través de una red de distribución de contenidos. No son una gran solución para las tareas que requieren mucho cálculo y personalización de back-end, pero tal vez ese procesamiento podría ser dividido en un servicio separado. Entre los buenos frameworks estáticos se encuentran Jekyll, Gatsby, Middleman y Hugo. Los programadores suelen hablar de reducir los costes por un factor de 10 o 20 cuando pueden trasladar todo a una CDN.
8. Ir sin servidor
La nube suele ser mejor para aplicaciones con grandes picos de demanda. Si su aplicación permanece inactiva durante horas o incluso días, reescribirla para que se ejecute en un marco sin servidor como Cloudflare Workers o AWS Lambda significará que no pagará por todo ese tiempo de inactividad. Tampoco estarás pagando tanto cuando la carga sea baja.
9. Recompilar para Arm
AWS y algunos otros proveedores de la nube están añadiendo nuevos servidores construidos en torno a CPUs Arm. Estos chips RISC pueden ser más rápidos y baratos, pero a menudo requieren que se recompile cualquier aplicación binaria. El ahorro depende del tipo de aplicación y de la carga de la máquina. AWS, por ejemplo, estima que sus chips Graviton pueden ser entre un 25% y un 100% más eficientes que sus homólogos x86. El aumento de velocidad podría crecer porque AWS acaba de lanzar el nuevo procesador Graviton3, que la compañía estima que puede ser tres veces más rápido que Graviton2, al menos en un benchmark para aplicaciones de aprendizaje automático que dependen de valores bfloat16.
Puede que no sea fácil captar este valor a menos que el servidor esté funcionando a plena carga, una propuesta que pone un poco nerviosos a algunos DevOps. Una solución es empezar a utilizar los chips Arm para el procesamiento en segundo plano que se ejecuta a toda máquina. Otra es pasar a un servicio de computación basado en eventos que ofrezca procesadores Arm, como AWS Lambda, una solución que un intrépido codificador descubrió que podría ser un 20% más barata, pero solo para algunos lenguajes y aplicaciones. Es hora de empezar a hacer benchmarking.
10. Ir a lo pequeño
El número de opciones de Arm está creciendo rápidamente y a veces de forma sorprendente. Muchos de nosotros aprendimos a hackear con las diminutas máquinas Raspberry Pi o Jetson que no cuestan casi nada. Son ideales para construir máquinas embebidas, aplicaciones del Internet de las Cosas o simplemente para experimentar. Ahora también pueden formar parte de tu infraestructura en la nube. Raspberry Hosting y miniNodes, por ejemplo, te alquilan una diminuta placa Raspberry Pi o Jetson Nano en un centro de datos profesional con una conexión a Internet de las gordas para que puedas ejecutar software básico a bajo precio.
11. Cuidado con las configuraciones por defecto
Muchas instancias en la nube vienen con tamaños predeterminados que facilitan su configuración. En muchos casos, nuestro código no necesita todo el almacenamiento pero seguimos pagando por él. Hace varios meses, nuestra factura en la nube casi se duplicó por el almacenamiento local que no estaba utilizando. Para empeorar las cosas, las compañías de la nube a menudo dificultan la reducción de este espacio no utilizado. Si está atento durante la creación, a menudo puedes empezar con el espacio justo para ejecutar su aplicación.
12. Haga que los costos sean evidentes para todos
Compartir los costos ayuda a los ingenieros a comprender que los céntimos por hora se acumulan rápidamente cuando algún clúster de Kubernetes se amplía para soportar cierta carga. Puede que no sea fácil, o incluso posible, que los desarrolladores reduzcan los costos, pero es menos probable que absorban más máquinas en la nube si conocen el precio.
13. Contratar a un ingeniero de costos oficial
No hay nada como poner la responsabilidad en el título de alguien para dejar claro cuál debe ser el enfoque principal. Algunos equipos están designando a algunos desarrolladores como “ingenieros de costos” cuyo trabajo es buscar formas de ahorrar dinero en la factura de la nube. Tal vez esto signifique ajustar algún microservicio para que utilice menos RAM. Tal vez esto significa mover alguna tarea ocasional a una configuración sin servidor. Hay docenas de buenos hacks que se pueden encontrar. Decirle a un desarrollador que la métrica de su trabajo estará ligada a la factura de la nube es una buena manera de cambiar el enfoque hacia el ahorro de dinero.
-Peter Wayner, IDG.es