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 |
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.
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.
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?
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