La guía sagrada de la optimización de costos en AWS
En este artículo verás 20 formas de optimizar tu cuenta y reducir significativamente costos de los diferentes servicios que AWS ofrece.
Te presento los 20 puntos sagrados de optimización de costos en AWS que TODOS deberíamos aplicar.
1. AWS Cost Explorer y Budgets
El primer paso de esta guía es tener bien configurado AWS Cost Explorer
¿Cómo ocuparlo? Revisa el siguiente artículo 👇
2. AWS Compute Optimizer
AWS Compute Optimizer es un servicio de AWS que mediante Machine Learning ayuda a los usuarios a identificar formas de mejorar el rendimiento y reducir los costos en sus entornos de computación en la nube.
¿Cómo ocuparlo? Fácil… Ingresa en el servicio por la consola web y activalo
AWS Compute Optimizer en su versión básica es gratuito, si quieres agregarle funciones extra tiene un costo por recurso. Acá puedes ver los costos totales: https://aws.amazon.com/es/compute-optimizer/pricing/
3. Trusted Advisor
Otra herramienta muy poderosa de AWS que entrega alertas sobre posible problemas o recomendaciones con tu cuenta.
¿Cómo ocuparlo? Ingresa en la herramienta mediante la consola web y comienza a revisar cada alerta.
4. Etiquetas y Políticas de Organización de recursos
Debes mantener políticas de costo y de seguridad para que cada recurso existente y nuevo dentro de tu cuenta quede identificado con su respectiva etiqueta.
Revisa este artículo sobre AWS Organizations para comenzar 👇
5- Apaga recursos fuera de horario laboral
Puedes ahorrar hasta un 70% de los costos realizando esta acción, te dejo este artículo que permite automatizar este proceso mediante Lambda
6- Savings Plans
Los Savings Plans son un modelo de precios flexible que ofrece precios bajos por el uso de AWS, a cambio de un compromiso con una cantidad de uso uniforme (medido en USD/hora) durante un plazo de 1 o 3 años.
Para comenzar con un Saving plan haz click acá: https://aws.amazon.com/es/savingsplans/
7- Instancias reservadas
Esta opción te permite reservar con descuentos una cantidad de instancias por un periodo de 1 o 3 años.
Selecciona cual será la característica de la instancia que quieres reservar
Y luego AWS te entregará el total a pagar dependiendo de los datos que hayas seleccionado.
8- Instancias Spots
Las instancias Spot son instancias que están disponibles pero en la nube de AWS no se están utilizando, entonces Amazon las deja a libre disposición de una suerte de oferta y demanda. Esto quiere decir que puedes utilizar una instancia Spot y el precio varía según cuanta gente este ofertando por esta instancia.
Los pro: Son muy baratas y puedes ahorrar hasta un 90% del costo normal de una instancia.
Los contra: En cualquier momento puedes perder la instancia, si así es, Amazón te avisa con unos minutos de antelación que tu instancia será entregada a otro usuario así que debes mover tu proyecto a una nueva instancia. DATO: Esto se puede automatizar con contenedores.
Es muy buna idea ocupar instancias Spots para correr pruebas o tener cualquier proyecto que no este en producción.
9- Actualiza tus instancias a las más nuevas y baratas
AWS constantemente está sacando nuevas instancias, esto quiere decir que el hardware mejora y cada nueva generación viene con un mejor rendimiento y lo mejor de todo MÁS BARATA!
Por ejemplo:
- Antigua: c4.large -> 2 CPUs -> 3.75 GiB Memory : $0.100/hour 🤨
- Nueva: c5.large -> 2 CPUs -> 4 GiB Memory: $0.085/hour 😱
Comienza a actualizar YA! todos tus c4 a c5, mejorará el performance y bajarán los costos.
10- Selecciona tus buckets S3
Los buckets S3 permiten guardar objetos ( documentos, fotos, videos, código, etc.) y debes tener en cuenta que tipo de bucket ocupar.
Por ejemplo acá podemos ver la diferencia de precios entre dos diferentes tipos de Buckets
S3 Standard: $0.023/GB
S3 Glacier: $0.004/GB
Glacier es común ocuparlo para almacenar objetos que no necesitan una respuesta rápida para obtenerlos. Sin embargo Standard tiene una respuesta casi inmediata.
11- Auto scaling
El escalado automático agrega o elimina automáticamente recursos de computación en la nube de acuerdo con las necesidades del proyecto.
Esto es muy conveniente ya que no tienes que monitorear constantemente el tráfico de los clientes y no te arriesgas a pagar por recursos que no usas ni necesitas.
El Auto Scaling groups para instancias EC2 funciona increíble y es muy fácil de configurar.
12- Performance Insights en RDS
Apaga o configura en el free tier el Performance Insights para tus instancias RDS que no estén en producción, estos son pequeños gastos que no deberías tener prendidos en instancias de prueba.
13- DynamoDB o RDS?
En pequeños proyectos donde necesitas guardar una cantidad reducida de registros DynamoDB cumple perfectamente, incluso puede llegar a mantenerse dentro de la capa gratuita de AWS.
14- Elimina los volumenes EBS
Cada vez que detienes una instancia EC2, los volumenes EBS que están adjuntos a la instancia NO SE ELIMINAN!
El volumen continua en el panel de EBS y Amazon te seguirá cobrando por esos volumenes.
El costo de cada volumen depende del tipo:
- General Purpose SSD: $0.10/GB al mes
- Magnetic: $0.05/GB al mes
Ingresa en el panel de EC2, ingresa en Volumenes y podrás ver la lista completa.
Los volumenes que tienen en su estado Available son los que no están siendo ocupados por ninguna instnacia EC2. Estos puedes eliminarlos 😵
(Asegurate que la información que guardaba ese volumen haya sido respaldada)
15- Selecciona una buena región
El costo de AWS varía por región, es por esto que cuando quieras levantar recursos debes tener en cuenta que región debes ocupar
- Las regiones más baratas son: North Virginia, Ohio y Oregon
- Las regiones más caras son: Sao Paulo, Sidney, and y Kong
16- Elastic IPs Selecciona Private IP lo más posible
Para la transferencia de datos internos dentro de la misma zona de disponibilidad, puedes utilizar IPs privadas. Si cumples con esto, tus costos por transferencias de datos serán 0.
17- CloudFront
CloudFront permite almacenar en caché el contenido web y lo entrega a los usuarios desde el punto de conexión más cercano. Esto significa que sus usuarios obtendrán su contenido más rápido, pagará menos por el ancho de banda y reducirá sus costos 💪
18- Obtén créditos AWS
AWS entrega creditos para ocupar en tu cuenta, puedes obtener créditos de diferentes maneras, acá te dejo algunas:
- Asiste a Webinars: AWS puede darte créditos si asistes a algunos webinars, revisa en esta página para más información: https://aws.amazon.com/es/events/
- Incubadora o Aceleradora de Startups: Muchas de estas entregan perks dentro de su programa, si ya estás en una o vas a postular, fijate que tenga créditos AWS van desde los $5k hasta los $100k USD
- Asiste a Eventos: AWS organiza eventos de manera presencial, en algunos eventos puedes obtener créditos si asistes.
19- Mentalidad Serverles First!
Para mi la mejor y más importante! 🥳
Ya sea con un proyecto existente o con un nuevo proyecto SIEMPRE, debes comenzar el proyecto con la mentalidad de Serverless first.
Serverless es tal cual lo que significa la palabra, crear proyectos sin un servidor por detrás. Ahorras costos de AWS y tiempo del equipo en mantener estos servidores… ya que simplemente, no existen!
Hoy en día, el 75 % de las organizaciones utiliza o planea usar tecnologías Serverless en los próximos dos años.
Si no sabes que es o cómo aplicar Serverless, revisa mis artículos. Tengo mucho material sobre Lambda, API Gateway, Dynamodb, etc. Puedes partir por acá 👇
20 — Suscríbete
Suscríbete a mi canal de Youtube donde estaré subiendo varios tips sobre AWS, Serverless y programación en general
Enseñaré varios de estos puntos en los próximos videos que estaré publicando.
👇👇👇👇👇👇 Suscríbete 👇👇👇👇👇 (Estoy recien comenzando)
Gracias por leer la guía completa! Guarda el artículo en tu cuenta de Medium para que lo tengas siempre a mano y comparte si te gustó 😃👍