Servicios en la nube y virtualización

Skip to content

Este es un texto traducido automáticamente que puede contener errores!

Los servicios en la nube y la virtualización están estrechamente relacionados: ambos se refieren a utilizar recursos de datos sin poseer todo el hardware usted mismo. Pero existen algunas diferencias importantes.

¿Qué es la virtualización?

La virtualización significa ejecutar múltiples máquinas «virtuales» en la misma máquina física. En lugar de tener un servidor físico dedicado para el servidor web, uno para la base de datos y otro para el servidor de archivos, puede ejecutar los tres como máquinas virtuales en la misma máquina.

El software que hace esto posible se llama un hipervisor:

Tipo Explicación Ejemplo
Tipo 1 (bare-metal) Se ejecuta directamente sobre el hardware, sin un SO convencional debajo Proxmox, VMware ESXi
Tipo 2 (hosted) Se ejecuta sobre un sistema operativo convencional VirtualBox, VMware Workstation

Type 1 vs. Type 2

  • Type 1 es lo que usamos en producción y en la sala de servidores. Proxmox se ejecuta directamente en el servidor.
  • Type 2 es lo que usas en tu propio PC para pruebas. VirtualBox se ejecuta sobre Windows o macOS.

¿Qué es una máquina virtual (VM)?

Una VM es un sistema operativo completo que se ejecuta dentro de otro. Tiene su propia (virtual) memoria, CPU y disco, pero comparte el hardware físico con otras VM.

Ventajas de las VM:

  • Aislamiento - Cada VM es independiente. Si una VM se bloquea, las demás no se ven afectadas.
  • Flexibilidad - Puede ejecutar diferentes sistemas operativos en la misma máquina (por ejemplo, Ubuntu y Windows Server).
  • Snapshot/backup - Puede tomar una instantánea de una VM y volver atrás si algo sale mal.
  • Utilización de recursos - Una máquina física con mucha RAM y CPU puede ejecutar muchas VM.

¿Qué son los contenedores?

Los contenedores son más ligeros que las VM. Comparten el kernel del sistema operativo con la máquina host, pero se ejecutan en entornos aislados.

Propiedad VM Contenedor
Tamaño Grande (sistema operativo completo) Pequeño (solo la aplicación y dependencias)
Tiempo de inicio Minutos Segundos
Aislamiento Fuerte (sistema operativo propio) Bueno, pero comparte el kernel del SO
Caso de uso Cuando necesita un sistema operativo completamente separado Aplicaciones individuales y microservicios
Ejemplo Proxmox VM, VirtualBox Docker, Podman

Når bruker vi hva?

  • Usa una VM cuando necesites un sistema operativo completo, por ejemplo, un Windows Server o un servidor Linux con control total.
  • Usa un container cuando solo necesites ejecutar una aplicación, por ejemplo, un servidor web, una base de datos o Grafana.

En la práctica, a menudo usamos ambos: VMs como hosts para contenedores Docker.

Servicios en la nube

Los servicios en la nube significan que otra persona posee y opera el hardware, y usted alquila lo que necesita a través de Internet. En lugar de comprar y mantener un servidor físico, usted paga por usar una máquina virtual en la nube.

Modelos de servicio

Existen tres modelos principales para los servicios en la nube:

Modelo Nombre completo Lo que obtienes Lo que gestionas tú mismo Ejemplo
IaaS Infrastructure as a Service Máquinas virtuales, red y almacenamiento SO, aplicaciones, configuración Azure VM, AWS EC2
PaaS Platform as a Service Una plataforma lista para ejecutar tu código Solo la aplicación Azure App Service, Heroku
SaaS Software as a Service Aplicaciones listas que usas a través del navegador Nada técnico Microsoft 365, Google Docs

Una manera sencilla de recordarlo

  • IaaS = Alquilas una máquina vacía. Tú instalas y configuras todo.
  • PaaS = Alquilas un entorno listo. Solo necesitas introducir tu código.
  • SaaS = Alquilas una aplicación lista. Solo necesitas iniciar sesión y usarla.

Modelos de entrega

Los servicios en la nube se pueden entregar de diferentes maneras:

Modelo Explicación Ejemplo
Nube pública Infraestructura compartida disponible para todos Azure, AWS, Google Cloud
Nube privada Infraestructura dedicada para una empresa Proxmox en la sala de servidores de la escuela
Nube híbrida Combinación de pública y privada Algunos servicios locales, algunos en Azure

VPS: Una solución de nube común

Un VPS (Servidor Privado Virtual) es una de las soluciones IaaS más comunes. Alquila una máquina virtual a un proveedor de nube y tiene control total sobre ella, como si tuviera su propio servidor.

Usos típicos:

  • Ejecutar un servidor web
  • Configurar un servicio VPN
  • Alojar una aplicación (por ejemplo, Flask + base de datos)
  • Probar cosas sin arriesgar su propio hardware

Proveedores VPS populares:

Proveedor Ventajas
Linode (Akamai) Simple, bien de precio, buenas guías
DigitalOcean Fácil de usar, buena documentación
Hetzner Asequible, europeo (compatible con el RGPD)
Azure Integrado con el ecosistema de Microsoft

Costos en la nube

Los servicios en la nube cuestan dinero, y puede volverse caro rápidamente si no se tiene cuidado. Una VM que se ejecuta 24/7 cuesta más que una que apagas después de usarla. Siempre verifica los precios y configura alertas de costos.

Local vs. Nube

Muchas empresas utilizan una combinación de servidores locales y servicios en la nube. Aquí hay algunos factores a considerar:

Factor Local (on-premises) Nube
Control Control total sobre el hardware y los datos Dependiente del proveedor
Costo Gran inversión inicial Costos mensuales recurrentes
Escalabilidad Limitado por el hardware físico Se puede escalar hacia arriba y hacia abajo según sea necesario
Mantenimiento Debes arreglarlo todo tú mismo El proveedor gestiona el hardware
Privacidad Sabes dónde están los datos Los datos pueden almacenarse en otros países

Easy Tarea 1 - Ejecuta una VM en tu propia máquina

Descarga VirtualBox (gratis) e intenta instalar una distribución de Linux, como Ubuntu Desktop o Linux Mint.

  • ¿Cuánta RAM y CPU eliges asignarle a la VM?
  • ¿Notas que tu PC se vuelve más lenta mientras la VM se ejecuta?
  • ¿Qué sucede si intentas asignarle a la VM más RAM de la que tiene tu máquina?

Esto te da una buena idea de cómo las VM comparten los recursos de la máquina física.

Easy Tarea 2 - Iniciar un contenedor con Docker

Si tienes Docker instalado (o tienes acceso a una VM con Docker), intenta ejecutar:

docker run -d -p 8080:80 nginx
# Ejecuta un contenedor de Nginx en segundo plano y mapea el puerto 8080 del host al puerto 80 del contenedor.

Visita luego http://localhost:8080 en tu navegador. ¡Ahora estás ejecutando un servidor web en un contenedor! Compara cuánto tardó esto con la configuración de una VM completa con Nginx.

Easy Tarea 3 - ¿Qué servicios en la nube utilizas ya?

Piensa en qué servicios utilizas en tu día a día:

  • Microsoft 365 (Word, Teams, OneDrive) es SaaS
  • GitHub Pages para alojar una página web es PaaS
  • Si creas una VM en Proxmox en la escuela, es en la práctica IaaS (solo localmente)

¿Puedes categorizar otros servicios que utilizas?

Easy Tarea 4 - ¿Dónde están tus datos?

Ve a Microsoft Privacy Dashboard y mira qué almacena Microsoft sobre ti. También revisa los términos de un servicio en la nube que uses:

  • ¿Dónde en el mundo se almacenan los datos?
  • ¿Qué ocurre con los datos si eliminas tu cuenta?
  • ¿Eres dueño de tus datos, o lo es el proveedor?

Estas preguntas son especialmente importantes en lo que respecta al RGPD y la privacidad.

Resumen

  • Virtualización te permite ejecutar múltiples servicios en el mismo hardware, ya sea como VMs o contenedores
  • Servicios en la nube significa que otra persona posee el hardware, y tú alquilas lo que necesitas
  • IaaS, PaaS y SaaS describen cuánta responsabilidad tienes tú mismo
  • En la práctica, muchos utilizan una solución híbrida con servicios tanto locales como basados en la nube
  • La elección entre local y nube se trata de control, costo, escalabilidad y privacidad