7 puntos por GN⁺ 2023-11-21 | 4 comentarios | Compartir por WhatsApp
  • OneUptime, una plataforma de observabilidad de código abierto, migró su infraestructura de AWS a una solución bare metal, logrando mayor control sobre sus recursos y un ahorro financiero significativo.
  • Como la mayoría de sus clientes usan la nube pública, necesitaban un centro de datos independiente para poder ofrecer el servicio de alertas durante caídas de la nube.

Configuración inicial: Kubernetes en AWS

  • Adoptaron un clúster de Kubernetes usando Elastic Kubernetes Service (EKS) administrado por AWS.
  • OneUptime está construido sobre software de código abierto no específico de AWS, como Redis, Postgres, Clickhouse, Docker, NodeJS y BullMQ.
  • Evitaron la dependencia de AWS para que los clientes también pudieran autoalojar OneUptime en sus propios clústeres.

La transición: migración a bare metal

  • Como parte de su búsqueda de excelencia técnica, decidieron pasar a una solución bare metal.
  • Eligieron operar un clúster de Microk8s en una instalación de colocación, basándose en experiencia previa y objetivos orientados al futuro.
  • Microk8s puede usarse también en producción, y la migración a servidores bare metal permite contar con recursos dedicados y optimizar el rendimiento.

El papel de Kubernetes y Helm

  • Kubernetes y Helm desempeñaron un papel clave en la transición desde la nube hacia servidores propios.
  • Kubernetes es una plataforma de código abierto para automatizar el despliegue, escalado y operación de contenedores de aplicaciones.
  • Helm es un gestor de paquetes que simplifica la definición, instalación y actualización de aplicaciones de Kubernetes.

Almacenamiento y balanceador de carga

  • En el clúster de Kubernetes sobre bare metal, usaron Network File System (NFS) para los volúmenes y MetalLB para el balanceador de carga.
  • NFS es un protocolo de sistema de archivos distribuido que permite a las computadoras cliente acceder a archivos a través de una red.
  • MetalLB es una implementación de balanceador de carga para clústeres de Kubernetes sobre bare metal que usa protocolos de enrutamiento estándar.

Impacto financiero: más de $230,000 ahorrados al año

  • Cuando usaban AWS, gastaban más de $38,000 al mes, es decir, más de $456,000 al año.
  • Después de migrar a bare metal, utilizaron una configuración de un solo rack con su socio de colocación, reduciendo el costo operativo mensual a unos $5,500.
  • Amortizando el costo de los servidores a lo largo de 5 años, ahorran más de $230,000 al año, y esa reducción de costos les permite ampliar el equipo y asignar recursos a otras áreas del negocio.

Consideraciones

  • Los datos se respaldan varias veces al día en dos oficinas, y también pueden respaldarse en la nube pública.
  • Es posible operar un clúster de Kubernetes multisitio en dos instalaciones de colocación ubicadas en continentes distintos.
  • Tienen un clúster de respaldo preparado en AWS, que puede levantarse en menos de 10 minutos en caso de desastre.
  • Al pasar a bare metal no es obligatorio contratar un administrador de servidores, ya que la instalación de colocación se encarga de la mayor parte del mantenimiento del hardware.
  • Microk8s se usa no solo para desarrollo sino también en producción, y si es necesario puede cambiarse fácilmente a otra distribución de Kubernetes.

Conclusión

  • Los servicios en la nube como AWS ofrecen flexibilidad y potencia, pero no siempre son la opción más económica para todas las empresas.
  • Aprovechar tecnologías de código abierto e invertir en hardware propio puede aumentar el control sobre los recursos y reducir considerablemente los costos operativos.
  • Como cada negocio tiene necesidades únicas, hace falta una evaluación integral antes de hacer el cambio.

Opinión de GN⁺

Lo más importante de este artículo es la ventaja en control y ahorro de costos que una empresa puede obtener al pasar de servicios en la nube a infraestructura bare metal. Resulta interesante porque muestra, con un caso concreto, cómo las decisiones técnicas pueden influir en los resultados financieros. Gracias a avances en tecnologías como Docker, Kubernetes, Helm y Microk8s, este tipo de transición es mucho más fácil que hace unos años, lo que subraya la importancia de elegir bien la tecnología y del valor de un enfoque estratégico.

4 comentarios

 
hhcrux 2023-11-22

230 mil dólares... ¿no es dinero que se esfuma con solo contratar a dos administradores para gestionar esos servidores en colocation? La razón de usar servicios totalmente administrados es justamente ahorrarse eso.

 
gunrok 2023-11-23

Eso también es cierto, pero la trampa es que incluso para AWS también se necesitan expertos por cada especialidad.

 
wedding 2023-11-21

Las valoraciones son, en general, bastante negativas. Viendo el contenido resumido, da la impresión de que también está algo exagerado.

 
GN⁺ 2023-11-21
Comentarios de Hacker News
  • Usar instancias reservadas y Savings Plans puede reducir mucho los costos de AWS. Esto también aplica a costos de transferencia y almacenamiento, y realmente puede ahorrar bastante dinero, aunque la diferencia no sea tan dramática como se pensó al principio.
  • Dada la situación económica actual, muchos dicen "podemos contratar a un ingeniero más", pero hay que recordar que también significa "podemos conservar a un ingeniero más". La duda es si despedirías a alguien del equipo para seguir manteniendo AWS.
  • Administrar racks de servidores no es algo tan extraordinario como mucha gente cree. Los ingenieros cloud-native suelen mostrarse reacios a aprender sobre gestión de hardware.
  • Si no usas servicios cloud y simplemente utilizas máquinas virtuales, rara vez vale la pena. Para muchas personas, alquilar servidores dedicados puede ser la mejor decisión de negocio. Puede ser mucho más barato que EC2, y si tienes bastante capacidad ociosa, puedes resolver los problemas habituales de escalabilidad.
  • Hay que enfocarse en los objetivos del negocio y no dejarse llevar por el hype. A veces el downtime sí es un gran problema, pero para muchos negocios el costo de unos minutos de interrupción es mucho menor que el de diseñar mecanismos complejos y costosos de alta disponibilidad (HA).
  • Se puede ahorrar mucho dinero si en AWS compras un Toyota Camry en lugar de un Ferrari. Este tipo de historias suelen ser spam de blogs donde la empresa afirma que logró un nuevo hack impresionante. En realidad, quemaron efectivo por no saber cómo controlar el gasto.
  • Apenas ayer estaba buscando un proveedor de colocation, así que genera dudas la afirmación de que lograron ahorrar 230 mil dólares tan rápido.
  • Considerando la eficiencia en costos, si no estás invirtiendo un año-persona de esfuerzo en administrar tus propios servidores, entonces tomaste la decisión correcta.
  • La publicación es demasiado escueta en los detalles, así que es difícil juzgar si realmente tiene valor.
  • Los negocios existen para ganar dinero, y lo que genera ingresos es el producto, no la capacidad de administrar hardware e infraestructura de TI.
  • Si se gastan 500 mil dólares al año en AWS, y la infraestructura es relativamente simple y no se espera que el gasto aumente mucho, entonces salir de la nube realmente podría tener sentido.
  • Si gastas 500 mil dólares al año en AWS, basta con poner los montos en una hoja de cálculo y revisarlos durante una hora para ver que hay ahorros evidentes; eso es algo que debería hacerse antes de llegar a gastar cientos de miles de dólares al año en AWS.