DEV Community

Sergio Jiménez
Sergio Jiménez

Posted on

AWS EC2 vs Hetzner Dedicated Server 🎬 Serie:⚡ Cloud Superpower⚡ 2.05

Image description

Comparativa basada en un ejercicio real, y enumerando pros y contras.

Enunciado:

Hetzner es un proveedor aleman lowcost con diferentes ofertas de hosting, vps y servidores dedicados (hierro).

AWS Es un proveedor global de cloud que precisamente no compite en precio, pero si en prestaciones.

Con calculadora en mano Hetzner se lleva la palma, si solo comparamos cpu, ram, y disco. Se terminó la comparativa.

Siempre asumimos la calculadora de AWS comparando desde un escenario dónde hay un entorno Onprem empresarial a migrar y dónde existe una inversión y amortización a medio plazo. Gastos de electricidad y mantenimiento, pero Hetzner es pago mensual sin compromisos.

Vamos a comparar el Servidor Dedicado:
https://www.hetzner.com/dedicated-rootserver/dx182/configurator/#/

AMD EPYC™ 9454P 48-Core
128 GB DDR5 ECC
2x 1.92 TB NVMe SSD Datacenter Edition
Ubicación: Finlandia o Alemania
Total: 370 €/mes impuestos incluidos (+90 euros setup 1 vez).
Precio sin competencia

Empieza la comparativa

Ahora vamos a buscar la alternativa en AWS, y ver con que argumentos podemos competir.

  • En Hetzner tenemos 2 discos de 1.92 TB, pero al configurar un RAID1 no tendremos 4 TB disponibles si no la mitad.
  • Partimos de la base que este servidor físico instalaremos un hypervisor, para disponer de capacidades de virtualización.
  • Usaremos KVM/Proxmox o cualquier solución opensource para no añadir en la ecuación precios de licencias.
  • El servidor esta ubicado en una sola región. No hay tolerancia a fallos ni de hardware ni de localización.
  • No tenemos mecanismo de backup.

Entonces en la calculadora de AWS necesitaremos cotizar 2 TB de EBS ssd y las EC2 instances hasta completar los 128 Gb de RAM y los 48 cpu. Para simplificar el ejercicio vamos a particionar ese supuesto entorno de virtualización de Hetzner en instancias de EC2.

Partiendo en 8 partes iguales, dispondremos de instancias EC2 con 6vCPU, 16 Gb RAM, EBS 256 Gb cada una, que suman 128 Gb RAM, 48 Cores, 2TB de Hetzner.

(Estamos siendo generosos, porque estamos asumiendo que el 100% de los recursos en Hetzner serán utiles, pero seguro que un 20% se los va a comer el hypervisor, ... pero es igual).

La instancia más cercana a esa configuración podría ser:
c6gd.2xlarge 8vCPU, 16Gb RAM, 474 SSD en 104,43 EUR/mes reserva 3 años x 8 = 835 €

(Fuente: https://instances.vantage.sh/aws/ec2/c6gd.2xlarge?filter=c6gd.2xlarge%7Cc6g.2xlarge&region=eu-central-1&cost_duration=monthly&reserved_term=Standard.noUpfront&compare_on=true&selected=c6gd.2xlarge%2Cc6g.2xlarge&os=linux)

Resultado de las estimaciones:
AWS Capacidad de computo total: 64 vCPU, 128 RAM, 3,7 TB SSD NVMe
vs
Hetzner Capacidad de computo total: 48 CPU, 128 RAM, 2 TB SSD NVMe

En AWS tenemos

  • 85% más de disco
  • 33% más de CPU
  • Misma RAM
  • 125% más caro

AWS 835€ reservando a 3 años vs Hetzner 370€ sin compromiso.

¿Porque pagar 125% más?

Argumentos a favor:

  • Tendremos más recursos en general.
  • Podemos distribuirlos en diferentes AZ (mayor tolerancia a fallos)
  • Dispondremos de mecanismo de snapshot y recuperación en otra region (menor tiempo de recuperación ante desastres).
  • No perdemos recursos de computo por el hypervisor
  • No tenemos que instalar (horas hombre) ni mantener el hypervisor (horas hombre y gestión de vulnerabilidades).
  • Si necesito más recursos en el futuro incrementará en las unidades necesarias, y si en algún momento dispongo de menos demanda podré ajustar los recursos.

Argumentos en contra:

  • Pagar 125% más en proyectos de corta duración, pilotos, sandbox, no se justifica.
  • En entornos no-productivos no necesito resiliencia ni redundancia.
  • Podría pagar 2 servidores en Hetzner y todavía pagaría un 25% menos.

Conclusión:
Si queremos capacidades de entornos empresariales productivos, los argumentos a favor pueden ser argumentos suficientes para justificar el incremento de precio.

Si nuestro proyecto es un piloto o entorno no productivo el incremento de precio no se justifica.

¿Que opinas?
¿Que estimaciones o cálculos harías tu?

¿Hay alguna forma de conseguir bajar el precio en AWS?
Podemos usar instancias Spot y en algunos casos conseguiremos precios cercanos a Hetzner, pero este tipo de instancias no es adecuado para todo tipo de usos.

Podríamos asumir la perdida de recursos de hypervisor en Hetzner y ajustar el tamaño de las EC2.
O analizar el porcentaje de uso de recursos, los periodos picos y valles, saber si el cliente que contrata ese servidor en Hetzner lo tendra 99% del tiempo idle como suele pasar, o sobre dimensionado, lo que ayudaría a ajustar el tamaño en las EC2. Aunque sinceramente no llegaremos nunca a precios de Hetzner y Hetzner no podrá igualar las prestaciones de AWS.

¿Entonces AWS no sirve para entornos de sandbox o pilotos?
Si podemos ajustar los recursos de computo en entornos no productivos a la mínima expresión si, si nuestro piloto necesita alta demanda de recursos. No veo la forma.

¿Sirve Hetzner para entornos productivos?
Pues francamente opino que no. Carece de de los mínimos requisitos que debes plantearte a la hora de dar un servicio con un SLA.

¿Te digo un secreto?

No estamos comparando lo mismo.
AWS no es CPU, RAM y disco, es un ecosistema empresarial:

  • Gestión de identidades (IAM).
  • Servicios administrados PaaS (Bases de datos, Kubernetes, Lambda, Backup, IA, Data Analitycs, Arquitecturas basadas en eventos).
  • Herramientas de CI/CD, repositorios GIT.
  • Soporte para (Infraestructura como Código) IaC
  • Seguridad avanzada (Control Policies, Cumplimiento, gestión de secretos, identidades, Auditoria (CloudTrail), Monitorización (CloudWatch), Gestión de configuración (AWS Config), Recomendador de seguridad (Trusted Advisor), Threat Intelligence (GuardDuty), Firewall, WAF..., Gestión de configuración y acceso seguro (AWS System Manager).

Y ahora, aún piensas que AWS es solo CPU, RAM y DISCO?
Al escoger un proveedor lowcost como Hetzner estas renunciando a todo lo anterior y eso obviamente tiene un precio menor. Nadie regala duros a cuatro pesetas.

Tenlo en cuenta, todo tiene un precio, y hay servicios y prestaciones de las que dispones en AWS (o en un cloud provider de primer nivel), que no dispones en un proveedor de hosting de tercera regional, por muy bien que funcione.

Por cierto, AWS dispone de diferentes programas de descuentos y créditos para sandbox, y pruebas de concepto. ¡Informate con tu partner local!

Y ya para otro ejercicio:

Pruebas de rendimiento

Spoiler: El rendimiento en vm sobre ese entorno en Hetzner, se verá penalizado por la carga del servidor, y aún cuando el entorno este bien de carga, penalizará en rendimiento, IOPS, latencia, etc etc.... ¿Apuestas?

Top comments (0)