Una introducción al alojamiento en la nube

Introducción

El alojamiento en la nube es un método para utilizar servidores virtuales en línea que pueden crearse, modificarse y destruirse según demanda. Los servidores en la nube asignan recursos como núcleos de CPU y memoria según el físico en el que estén alojados, y pueden configurarse con cualquier sistema operativo y software acompañante. El alojamiento en la nube puede utilizarse para alojar sitios web, distribuir aplicaciones basadas en web u otros servicios.

En esta guía, repasaremos algunos de los conceptos básicos involucrados en el alojamiento en la nube, incluyendo cómo funciona la virtualización, los componentes en un entorno virtual y comparaciones con otros métodos de alojamiento comunes.

¿Qué es “la Nube”?

“La Nube” es un término común que se refiere a servidores accesibles a través de internet que están disponibles para uso público, ya sea mediante arrendamiento pagado o como parte de un servicio de software o plataforma. Un servicio basado en la nube puede tomar muchas formas, incluyendo alojamiento web, alojamiento y compartición de archivos y distribución de software. “La Nube” también puede referirse a la computación en la nube, es decir, la distribución transparente de una tarea en múltiples servidores. En lugar de ejecutar un proceso complejo en una sola máquina potente, la computación en la nube distribuye la tarea entre muchos nodos más pequeños.

Cómo funciona la virtualización

Los entornos de alojamiento en la nube se dividen en dos partes principales: los servidores virtuales en los que se pueden alojar aplicaciones y sitios web, y los hosts físicos que gestionan los servidores virtuales. La virtualización hace posible el alojamiento en la nube: la relación entre el host y el servidor virtual proporciona flexibilidad y escalabilidad que no están disponibles a través de otros métodos de alojamiento.

Servidores Virtuales

La forma más común de alojamiento en la nube hoy en día es el uso de un servidor virtual privado, o VPS. Un VPS es un servidor virtual que actúa como una computadora real con su propio sistema operativo. Si bien los servidores virtuales comparten recursos que les asigna el host, están totalmente aislados en la práctica, por lo que las operaciones en un VPS no afectarán a los demás.

Los servidores virtuales son implementados y gestionados por el hipervisor de un host físico. Cada servidor virtual tiene un sistema operativo instalado por el hipervisor, que está disponible para el usuario. Para fines prácticos, un servidor virtual es idéntico en uso a un servidor físico dedicado, aunque un servidor virtual necesita compartir recursos de hardware físico con otros servidores en el mismo host.

Anfitriones

Los recursos se asignan a un servidor virtual por el servidor físico en el que está alojado. Este anfitrión utiliza una capa de software llamada hipervisor para implementar, gestionar y asignar recursos a los servidores virtuales que están bajo su control. El término “hipervisor” también se utiliza a menudo para referirse a los anfitriones físicos en los que se instalan los hipervisores (y sus servidores virtuales).

El anfitrión se encarga de asignar memoria, núcleos de CPU y una conexión de red a un servidor virtual cuando se inicia uno. Una tarea continua del hipervisor es programar procesos entre los núcleos virtuales de la CPU y los físicos, ya que varios servidores virtuales pueden estar utilizando los mismos núcleos físicos. Los hipervisores difieren entre sí en los matices de la programación de procesos y el uso de recursos.

Hipervisores

Hoy en día, hay algunos hipervisores comunes disponibles para los anfitriones en la nube. Estos diferentes métodos de virtualización tienen algunas diferencias clave, pero todos proporcionan las herramientas que un anfitrión necesita para implementar, mantener, mover y destruir servidores virtuales según sea necesario.

KVM, abreviatura de “Kernel-Based Virtual Machine”, es una infraestructura de virtualización que está integrada en el núcleo de Linux. Cuando se activa, este módulo del núcleo convierte la máquina Linux en un hipervisor, lo que le permite comenzar a alojar servidores virtuales. Este método contrasta con la forma en que suelen trabajar otros hipervisores, ya que KVM no necesita crear o emular componentes del núcleo que se utilizan para el alojamiento virtual.

Xen es uno de los hipervisores más comunes. A diferencia de KVM, Xen utiliza su propio microkernel, que proporciona las herramientas necesarias para admitir servidores virtuales sin modificar el núcleo del host. Xen admite dos métodos distintos de virtualización: la paravirtualización, que evita la necesidad de emular hardware pero requiere modificaciones especiales en el sistema operativo de los servidores virtuales, y la virtualización asistida por hardware (o HVM), que utiliza características especiales del hardware para emular eficientemente un servidor virtual de manera que puedan utilizar sistemas operativos no modificados. HVM se generalizó en CPUs de consumo alrededor de 2006, lo que permitió que la mayoría de los equipos de escritorio y portátiles lograran un rendimiento similar al ejecutar máquinas virtuales o contenedores basados en microkernel (por ejemplo, a través de Docker).

ESXi es un hipervisor de nivel empresarial ofrecido por VMware. ESXi es único en el sentido de que no requiere que el host tenga un sistema operativo subyacente. Esto se denomina hipervisor de “tipo 1” y es extremadamente eficiente debido a la falta de un “intermediario” entre el hardware y los servidores virtuales. Con hipervisores de tipo 1 como ESXi, no es necesario cargar ningún sistema operativo en el host porque el propio hipervisor actúa como sistema operativo.

Hyper-V es uno de los métodos más populares para virtualizar servidores Windows y está disponible como un servicio del sistema en Windows Server. Esto hace que Hyper-V sea una opción común para los desarrolladores que trabajan dentro de un entorno de software de Windows. Hyper-V está incluido en versiones modernas de Windows y también está disponible como un servidor independiente sin una instalación existente de Windows Server. WSL2, el Subsistema de Windows para Linux, se implementa a través de Hyper-V.

¿Por qué el Alojamiento en la Nube?

Las características ofrecidas por la virtualización se adaptan bien a un entorno de alojamiento en la nube. Los servidores virtuales pueden configurarse con una amplia gama de asignaciones de recursos de hardware y, a menudo, pueden agregarse o eliminarse recursos según cambien las necesidades con el tiempo. Algunos proveedores de servicios en la nube pueden mover un servidor virtual de un hipervisor a otro con poco o ningún tiempo de inactividad, o duplicar el servidor para redundancia en caso de falla de un nodo.

Personalización

Los desarrolladores a menudo prefieren trabajar en un VPS debido al control que tienen sobre el entorno virtual. La mayoría de los servidores virtuales que ejecutan Linux ofrecen acceso a la cuenta de root (administrador) o privilegios de sudo por defecto, lo que le da al desarrollador la capacidad de instalar y modificar el software que necesite.

Esta libertad de elección comienza con el sistema operativo. La mayoría de los hipervisores son capaces de alojar casi cualquier sistema operativo invitado, desde software de código abierto como Linux y BSD hasta sistemas propietarios como Windows. A partir de ahí, los desarrolladores pueden comenzar a instalar y configurar los componentes necesarios para lo que están trabajando. Las configuraciones de un servidor en la nube pueden incluir un servidor web, una base de datos o una aplicación que haya sido desarrollada y esté lista para su distribución.

Elasticidad

Los servidores en la nube son muy flexibles en su capacidad para escalar. Los métodos de escalabilidad se dividen en dos categorías principales: escalabilidad horizontal y escalabilidad vertical. La mayoría de los métodos de alojamiento pueden escalar de una forma u otra, pero el alojamiento en la nube es único en su capacidad para escalar tanto horizontal como verticalmente. Esto se debe al entorno virtual en el que se construye un servidor en la nube: como sus recursos son una parte asignada de un pool físico más grande, estos recursos pueden ajustarse o duplicarse a otros hipervisores.

Escalado horizontal, a menudo conocido como “escalar hacia afuera”, es el proceso de agregar más nodos a un sistema en clúster. Esto podría implicar agregar más servidores web para gestionar mejor el tráfico, agregar nuevos servidores a una región para reducir la latencia o agregar más trabajadores de base de datos para aumentar la velocidad de transferencia de datos.

El escalado vertical, o “escalar hacia arriba”, es cuando se mejora un solo servidor con recursos adicionales. Esto podría ser una expansión de la memoria disponible, una asignación de más núcleos de CPU u alguna otra actualización que aumente la capacidad de ese servidor. Estas actualizaciones generalmente abren el camino para instancias de software adicionales, como trabajadores de base de datos, para operar en ese servidor. Antes de que el escalado horizontal se volviera rentable, el escalado vertical era la forma predeterminada de responder a la creciente demanda.

Con el alojamiento en la nube, los desarrolladores pueden escalar según las necesidades de su aplicación: pueden escalar hacia afuera desplegando nodos VPS adicionales, escalar hacia arriba mejorando los servidores existentes o hacer ambas cosas cuando las necesidades del servidor han aumentado drásticamente.

Conclusión

Para este punto, deberías tener una comprensión de cómo funciona el alojamiento en la nube, incluida la relación entre los hipervisores y los servidores virtuales de los que son responsables, así como cómo se compara el alojamiento en la nube con otros métodos de alojamiento comunes. Con esta información en mente, puedes elegir el mejor alojamiento para tus necesidades.

Para obtener una visión más amplia del panorama general de la informática en la nube, puedes leer Una Introducción General a la Computación en la Nube.

Source:
https://www.digitalocean.com/community/tutorials/an-introduction-to-cloud-hosting