Computo en la Nube
4. Arquitectura de la nube
La arquitectura de nube constituye la forma en la que se integran las
distintas tecnologías para crear las nubes, es decir, los entornos de TI
que extraen, agrupan y comparten los recursos escalables en una red.
Define cómo se conectan todos los elementos y las funciones que se
necesitan para diseñar una nube y obtener una plataforma en línea en
la que se puedan ejecutar las aplicaciones.
Es similar a la construcción de una vivienda: la infraestructura de
nube incorpora todos los materiales, y la arquitectura de nube es el
plano técnico
3
¿Cómo es una arquitectura de nube?
Las nubes se consideran plataformas como servicio (PaaS), ya que un proveedor de
nube ofrece a los usuarios tanto la plataforma como la infraestructura de
TI subyacente.
Diseñar la arquitectura de una plataforma de nube implica mucho más que extraer
las funciones informáticas de los elementos de hardware, lo cual sintetiza la forma en
la que los proveedores crean una infraestructura de nube y la ofrecen a los usuarios.
También requiere niveles adicionales de desarrollo para incorporar la organización en
contenedores, la coordinación, las interfaces de programación de aplicaciones (API),
el enrutamiento, la seguridad, la gestión y el software de automatización. El diseño
de la experiencia del usuario (UX) también es importante para crear una experiencia
en línea por la que se pueda navegar con facilidad.
4
¿Qué son las nubes?
Las nubes son entornos de TI que extraen, agrupan y comparten recursos
escalables en una red. Suelen crearse para habilitar el cloud computing, que
consiste en ejecutar cargas de trabajo dentro del sistema. Sin embargo, las nubes y
el cloud computing no son tecnologías en sí mismas.
Las nubes son entornos: sitios donde se ejecutan las aplicaciones.
El cloud computing es una acción: la función que se encarga de ejecutar cierta
carga de trabajo en una nube.
Las tecnologías son elementos: sistemas de software y hardware que se utilizan
para diseñar y usar las nubes.
5
¿Qué es la infraestructura de TI?
La infraestructura de tecnología de la información (TI) hace referencia a los
elementos necesarios para operar y gestionar entornos de TI empresariales. La
infraestructura de TI puede implementarse en un sistema de cloud computing o en
las instalaciones de la empresa.
Estos elementos incluyen el hardware, el software, los elementos de red, un sistema
operativo (SO) y el almacenamiento de datos. Todos ellos se utilizan para ofrecer
servicios y soluciones de TI. Los productos de infraestructura de TI se pueden
descargar como aplicaciones de software que se ejecutan sobre los recursos de TI
actuales (por ejemplo, el almacenamiento definido por software) o como soluciones
en línea que ofrecen los proveedores de servicios (por ejemplo, la infraestructura
como servicio o IaaS).
7
4.1 Hypervisor
En el hypervisor existe un objeto llamado máquina virtual que encapsula el sistema
operativo, las aplicaciones y la configuración. De forma opcional, la emulación de
dispositivo puede proporcionarse en el hypervisor o como una VM.
Finalmente, dada la nueva naturaleza dinámica de la virtualización y las nuevas
capacidades que proporciona, se necesitan nuevos esquemas de administración.
Esta administración se efectúa mejor en capas, considerando la administración local
en el servidor, así como administración de infraestructura de alto nivel,
proporcionando la orquestación general del entorno virtual.
9
4.1 Hypervisor
La base de la nube a nivel de nodo es el hypervisor. Aunque la virtualización no es un
requisito, proporciona capacidades indiscutibles en cuanto a arquitecturas
escalables y eficientes en energía.
Existen numerosas soluciones de virtualización de fuente abierta, pero dos
soluciones clave son las que transforman el sistema operativo Linux en un
hypervisor: Linux Kernel Virtual Machine (KVM) y Lguest. KVM es la solución de
hypervisor oficial, la cual se está implementando en entornos de producción. Lguest
es una solución enfocada en Linux que solo se ejecuta en VMs Linux pero que está
integrada al kernel y que está encontrando usos más amplios.
10
4.1 Hypervisor
Además de convertir a Linux en un hypervisor, hay otras soluciones que adoptan un
enfoque de huésped centrado en VM. User-Mode Linux (UML) es otro enfoque que
modifica un kernel de huésped Linux para ejecutarse encima de otro sistema
operativo Linux (sin extensiones de hypervisor). Como la mayoría de los usuarios
desean ejecutar un kernel no modificado, se prefieren soluciones de virtualización
completa (como KVM).
Este enfoque UML también es popular, pero requiere hardware virtualizado (como
una consola, disco virtual y redes).
12
4.1 Hypervisor
La base de la nube a nivel de nodo es el hypervisor. Aunque la virtualización no es un
requisito, proporciona capacidades indiscutibles en cuanto a arquitecturas
escalables y eficientes en energía. Existen numerosas soluciones de virtualización de
fuente abierta, pero dos soluciones clave son las que transforman el sistema
operativo Linux en un hypervisor: Linux Kernel Virtual Machine (KVM) y Lguest.
KVM es la solución de hypervisor oficial, la cual se está implementando en entornos
de producción.
13
4.1 Hypervisor
Lguest es una solución enfocada en Linux que solo se ejecuta en VMs Linux pero que
está integrada al kernel y que está encontrando usos más amplios.
Además de convertir a Linux en un hypervisor, hay otras soluciones que adoptan un
enfoque de huésped centrado en VM. User-Mode Linux (UML) es otro enfoque que
modifica un kernel de huésped Linux para ejecutarse encima de otro sistema
operativo Linux (sin extensiones de hypervisor). Como la mayoría de los usuarios
desean ejecutar un kernel no modificado, se prefieren soluciones de virtualización
completa (como KVM).
Este enfoque UML también es popular, pero requiere hardware virtualizado (como
una consola, disco virtual y redes).
14
4.1 Hypervisor
Xen Project Code:
Este hipervisor es utilizado en los grandes proveedores como Amazon Web
Services (desde 2006), Rackspace Hosting, Verizon Cloud, entre otros, y
puede ser instalado desde las distribuciones de Linux que contienen los
paquetes, instalar las extensiones o desde una imagen ISO para instalarlo
directamente (e incluso algunas distribuciones incluyen extensiones
LiveCD para probarlo sin necesidad de instalarlo y también existen
versiones comerciales del hipervisor, por ejemplo, Citrix).
15
4.1 Hypervisor
Xen Project Code:
Este hipervisor es utilizado en los grandes proveedores como Amazon Web
Services (desde 2006), Rackspace Hosting, Verizon Cloud, entre otros, y
puede ser instalado desde las distribuciones de Linux que contienen los
paquetes, instalar las extensiones o desde una imagen ISO para instalarlo
directamente (e incluso algunas distribuciones incluyen extensiones
LiveCD para probarlo sin necesidad de instalarlo y también existen
versiones comerciales del hipervisor, por ejemplo, Citrix).
16
4.1 Hypervisor
KVM:
Es el acrónimo de Kernel-based Virtual Machine y es una opción de
virtualización total (full virtualization) para Linux sobre arquitecturas x86
que dispongan de extensiones Intel VT o AMD-V. Su instalación es por
medio de módulos que se insertan en el núcleo del SO host y que proveen
el entorno de virtualización (kvm-intel.ko o kvm-amd.ko).
Con este se pueden ejecutar múltiples máquinas virtuales (Linux o
Windows) sin modificación alguna sobre ellas y donde cada una podrá
acceder al hardware virtualizado (red, disco, tarjeta gráfica, etc.). Existe
una cierta discusión sobre la vinculación de KVM y QEMU (Quick Emulator)
y los roles que juegan cada uno de ellos.
17
4.1 Hypervisor
VirtualBox: es un hipervisor open source, de tipo 2, muy flexible para
arquitecturas x86 y AMD64/Intel64 tanto para uso empresarial como
doméstico y se instala sobre Linux, Windows, Macintosh y Solaris; soporta
un gran núme- CC-BY-SA • PID_00241979 32 Fundamentos y plataformas
de cloud computing ro de SO guest (Windows, DOS, Linux, OpenSolaris,
OS/2, OpenBSD, Android, ChromiunOS y otros más. VirtualBox puede ser
complementado con HyperBox (permite gestionar diferentes hipervisores
y representa una alternativa libre a productos comerciales como VMware
vCenter/ESXi y Citrix XenCenter) o phpVIrtualBox para gestionar las
instancias de VirtualBox remotamente.
19
4.1 Hypervisor
Es una opción muy aceptable para pruebas o pequeñas/medianas
instalaciones y permite que las máquinas virtuales puedan ser convertidas
a otros formatos (por ejemplo, vmdk de VmWare) y ser reutilizadas en
otras infraestructuras. La opción de VirtualBox está tan extendida que
existen diversas páginas mantenidas por la comunidad que permiten
bajarse las imágenes de diferentes SO/ distribuciones ya instaladas y listas
para ser cargadas y ejecutadas; entre ellas, se puede mencionar: OSBoxes,
Virtualboxes, Oracle.
20
4.1 Hypervisor
Vmware Workstation Player y ESXi:
VMware Workstation Pro y VMware Workstation Player (versión gratuita
para uso no comercial o doméstico) se han transformado en un estándar
en las empresas para ejecutar múltiples SO como máquinas virtuales sobre
un PC.
Estas pueden ser útiles en diferentes áreas como desarrollo de
aplicaciones o replicación de entornos, o también para homogenización de
recursos o acceso controlado a ellos para tener un entorno homogéneo
corporativo y que puede ser controlado y gestionado desde el
departamento de IT de la empresa por herramientas como VMware
VSphere/Horizon FLEX.
21
4.1 Hypervisor
Microsoft Hiper-V:
Es un hipervisor para sistemas de 64 bits con procesadores que disponen
de extensiones hardware: VT-x y AMD-V (no obstante, los programas de
gestión se pueden instalar sobre sistemas x86). Desde la versión incluida
en Windows Server 2008 R2, el hipervisor incorpora funcionalidades
extendidas como migración en caliente de las máquinas virtuales (live
migration), almacenamiento en máquinas virtuales dinámicas,
compatibilidad mejorada con procesadores y redes, soporte para Linux
(Debian, Ubuntu, Centos/RH, Oracle, SuSE), FreeBSD, y obviamente
Windows (desde Vista hasta W10 incluyendo servers desde 2008).
22
4.1 Hypervisor
Existen algunas diferencias entre Hyper-V ejecutándose por ejemplo, en
Windows 10 y sobre Windows Server 2012, que se centran en la gestión
de la memoria, la virtualización de GPU, la migración en caliente, réplicas,
o compartición de VHDX (discos virtuales), pero por el resto son iguales
(sobre Windows 10 estas extensiones reemplazan CC-BY-SA •
PID_00241979 33 Fundamentos y plataformas de cloud computing a un
producto anterior de virtualización llamado Virtual PC). Su instalación es
simple tanto en W10 como en WS2012 y permite que las máquinas
creadas puedan ser exportadas a otros entornos Hyper-V o directamente a
Azure (plataforma de cloud público de Microsoft).
23
Proxmox:
4.1 Hypervisor
Con las facilidades de KVM y otras tecnologías, han salido diferentes
soluciones como el Proxmox VE, que permite tener un entorno
virtualizado con KVM y Linux Containers (LXC).
Esta solución completa de virtualización open source es adecuada para
muchas empresas ya que permite gestionar y configurar máquinas
virtuales sobre la base de KVM, contenedores Linux (LXC),
almacenamiento y redes virtualizadas y clústeres de alta disponibilidad. Su
administración y monitorización se realiza a través de una interfaz web y
soporta tanto SO guest como Linux y Windows en máquinas virtuales o
contenedores como virtualización de sistema Linux (a nivel del SO). Esta
distribución es un hipervisor tipo 1 (bare-metal); está basado en la
combinación de Debian+KVM+LXC, soporta migración en caliente (live
migration), permite configurar clústeres de alta disponibilidad y puede
interactuar con diferentes sistemas de archivos locales o remotos (NFS,
24
iSCSI, Ceph, GlusterFS, etc.).