Septiembre 14, 2023
ibonelli
Migrar a la Nube: Nuestro primer paso
Como mencioné en el artículo anterior, una de las ventajas de la nube es la posibilidad de que otros manejen tus servidores por ti. Ya no necesitas tener un centro de datos ni preocuparte por la infraestructura, la energía, la refrigeración, etc. Simplemente pagas por tus servidores y necesidades de centro de datos de manera mensual. A esto se le llama “Infraestructura como Servicio” (IaaS), donde otros gestionan los servidores por ti y tienes la capacidad de expandirlos fácilmente.
Comencemos por lo básico: ¿qué puedes obtener de los proveedores de servicios en la nube? Puedes obtener diferentes tamaños de unidades de cómputo, conocidas como “máquinas virtuales” o VM, con especificaciones que tengan sentido para ti.
Hay una larga lista de proveedores, pero aquí te comparto algunos de los más grandes:
- AWS (Amazon Web Services): Su servicio se llama “Amazon EC2” y ofrece una amplia gama de máquinas virtuales, cada una diseñada para diferentes propósitos, como uso general, optimizadas para cómputo, optimizadas para memoria, optimizadas para almacenamiento, entre otras.
- Azure (Microsoft Azure): En Azure, este servicio se llama simplemente “Virtual Machine” y también ofrece una variedad de tipos y categorías, como A-Series, Bs-Series, D-Series, cada una con sus propias características y usos específicos.
- Google Cloud Services (GCS): Ofrece el servicio “Compute Engine” con una lista extensa de máquinas virtuales, incluyendo las de uso general, optimizadas para cómputo, optimizadas para memoria, entre otras.
- DigitalOcean: Inicialmente comenzaron con una oferta modesta, pero ahora han expandido su catálogo para competir con los grandes. Utilizan el término “Droplets” para sus máquinas virtuales y ofrecen una variedad similar de opciones.
- Linode: También han ampliado su oferta y proporcionan una variedad de instancias, desde las más básicas hasta las más complejas.
Otra consideración importante al utilizar VMs de proveedores de servicios en la nube es comprender su modelo de facturación, los límites que puedes establecer y cómo afecta al rendimiento. Algunas máquinas tienen un precio fijo, como es el caso habitual en las máquinas de nivel de entrada de Digital Ocean y Linode, mientras que otras tienen capacidad de “ráfaga”, como las máquinas de nivel de entrada t2 de AWS EC2 o las Azure B-Series. Esta capacidad de “ráfaga” puede estar sujeta a un límite (lo cual es importante si deseas controlar los costos mensuales) o puedes permitir que funcionen sin restricciones. Si permites que se realicen ráfagas y estas son prolongadas, el costo final de la instancia puede ser mucho mayor de lo esperado.
Por otro lado, si limitas el rendimiento, puedes encontrarte con situaciones en las que tu máquina no responda tan rápidamente como desearías. Existen diversas soluciones para este escenario, pero el primer paso es medir y configurar alertas. Afortunadamente, los proveedores ofrecen soluciones de monitoreo dentro de sus servicios. AWS lo llama CloudWatch, mientras que Azure tiene Azure Monitor. Otra alternativa es optar por máquinas de precio fijo o simplemente seleccionar la máquina adecuada para la tarea. A pesar de que la capacidad de “ráfaga” es atractiva, es importante considerar su posible impacto en el costo.
En términos de costos y precios, también es crucial comprender el modelo de “pago por uso” en comparación con los compromisos a largo plazo y las opciones de precios “spot”. Esto es algo que ofrecen tanto AWS (reservados y spot) como Azure (reservados y spot). En el caso de spot, obtienes un descuento cuando el proveedor tiene capacidad disponible. Sin embargo, debes estar preparado para que la máquina pueda ser interrumpida en cualquier momento si el proveedor necesita la capacidad para otros fines. Esto solo lo hace adecuado para cargas de trabajo ocasionales, pero la diferencia en los precios es atractiva. Por otro lado, con instancias reservadas, te comprometes a largo plazo. Esto reduce la flexibilidad que tenemos, pero ofrece atractivos descuentos. En última instancia, la clave está en conocer bien tus necesidades y ser capaz de preverlas en la medida de lo posible. Esto nos lleva a destacar la importancia de contar con un sistema de monitoreo eficaz.
En cuanto a la IaaS, aquí concluiremos por ahora. Las máquinas virtuales también requerirán dispositivos de almacenamiento y servicios de red, pero no profundizaremos sobre estos aspectos en este artículo. En el siguiente, abordaremos lo que se conoce como Plataforma como Servicio (PaaS), que incluye servicios como almacenamiento en la nube y bases de datos gestionadas, entre otros.