La Red de Conocimientos Pedagógicos - Conocimientos históricos - ¿Cuál es la diferencia entre la computación en la nube y las máquinas virtuales?

¿Cuál es la diferencia entre la computación en la nube y las máquinas virtuales?

Autor: int32bit

Fuente: Zhihu.

La computación en la nube es un modelo de servicio, no exclusivo de la industria informática o de los tiempos modernos, sino un modelo de servicio que existe desde hace mucho tiempo. La idea es integrar varios recursos y alquilarlos a usuarios que los necesiten. En comparación con la biblioteca, todo el mundo está más familiarizado con ella. La biblioteca tiene una gran colección de libros. Si quieres leer, sólo tienes que pedirlo prestado en la biblioteca según tus necesidades. La biblioteca le cobrará según la cantidad y el tiempo que solicite prestado, y lo devolverán a la biblioteca después de leer. Los libros se devuelven a sus estantes originales y otros usuarios pueden tomarlos prestados y reutilizarlos.

Algunas personas definitivamente pensarán en trasplantar este modelo a la industria de TI tradicional, pero cambiando los objetos alquilados de libros a recursos de servidor, así nació la computación en la nube. ¿Por qué se llama computación en la nube? Debido a que la función del servidor es proporcionar potencia informática, alquilarle el servidor equivale a venderle la potencia informática durante el período de arrendamiento del servidor, por lo que se denomina computación en la nube.

El funcionamiento es muy sencillo. ¿Cuántas CPU y discos duros se necesitan? Ve a la sala de ordenadores y muévelo tú mismo. El proveedor de servicios en la nube le cobrará una tarifa diaria según su volumen. Por supuesto, también puedes pagar mensual o anualmente. Si está dispuesto a pagar más, también puede ofrecer entrega puerta a puerta. Te he dado el hardware del servidor. Siempre que pueda disponer de él como desee durante el período de arrendamiento, será igual que el servidor que compró. Después de trasladar el servidor a su propia sala de ordenadores, descubre que le falta mano de obra. Hay que instalar los sistemas operativos uno por uno y contratar gente para hacerlo es caro. Por lo tanto, los proveedores de servicios en la nube brindan otros servicios de valor agregado, como la instalación puerta a puerta de sistemas operativos, la configuración de red puerta a puerta e incluso le brindan instalación de bases de datos y servicios de construcción de clústeres Hadoop/Spark de big data, dejando este problema a otros, lo que obviamente ahorra en gran medida su propio costo de transporte.

También han surgido los beneficios de la computación en la nube. ¿Por qué alquilar un servidor en lugar de comprarlo usted mismo? Porque tal vez quieras usarlo por un tiempo. En comparación con comprar un servidor usted mismo, el costo es demasiado alto, por lo que alquilarlo es más conveniente. Además, debe evaluar cuánto desea comprar en función de su negocio. Puedes comprarlo pero descubres que no es suficiente y tienes que comprar más. El proceso es engorroso, se compra demasiado y se desperdician recursos. El alquiler es más flexible. Simplemente alquile todo lo que necesite al proveedor de servicios en la nube. Lo mismo ocurre con las nubes privadas, que no son más que acuerdos internos dentro de la empresa. Lo anterior es el modelo operativo de IaaS. Esto puede pasarte a ti. Escribiste un proyecto web e hiciste un buen paquete de guerra, pero no hay ningún servidor para ejecutarlo. Puede entregar su paquete de guerra al proveedor de servicios en la nube y ellos lo ejecutarán por usted. No es necesario alquilar un servidor completo ni crear un entorno operativo. Simplemente copie el paquete de guerra y ellos lo implementarán por usted. Esto es lo que llamamos un servicio PaaS. Más avanzado, tienes muchas fotos a mano y quieres extraer a las personas que aparecen en las fotos, pero no sabes cómo escribir código. Puede enviar la foto al proveedor de servicios en la nube, quien la procesará con su propia tecnología de reconocimiento facial y le enviará el resultado, similar a SaaS.

Lo anterior es una interpretación no autorizada de la computación en la nube. Para ser más precisos, la computación en la nube no se refiere a una tecnología específica, sino a un modelo de servicio y un método de entrega. El problema es que resulta demasiado complicado mover los servidores. Los usuarios necesitan tener su propia sala de ordenadores para almacenar el servidor alquilado. ¿Existe alguna tecnología que pueda empaquetar y alquilar recursos como CPU, memoria, disco, etc. a usuarios sin un servidor móvil para resolver los problemas anteriores? Creo que todo el mundo sabe la respuesta y la tecnología de virtualización puede resolver perfectamente este problema. Una máquina virtual es un tipo de implementación de virtualización, pero de ninguna manera es la única. También puede ser un contenedor o incluso una máquina física real (metal desnudo). El hipervisor que proporciona máquinas virtuales no es solo vmware, sino también kvm/qemu, xen, etc. Además de las máquinas virtuales, existen muchas otras tecnologías de virtualización, como la red virtual ovs. Con la tecnología de virtualización, ya no necesita mover servidores y es completamente autoservicio. Además, es más conveniente implementar y operar utilizando tecnología de virtualización. Por ejemplo, no es necesario instalar los sistemas operativos uno por uno. Una vez que instales uno, podrás clonarlo fácilmente, evitando mucho trabajo repetitivo. No es necesario construir una sala de ordenadores usted mismo, lo que ahorra mucho trabajo y lo deja enteramente en manos del proveedor de servicios en la nube o de su propio equipo interno de plataforma en la nube.

La razón por la que es fácil confundir las máquinas virtuales con la computación en la nube es porque las máquinas virtuales son muy comunes en la computación en la nube. Es la disciplina más activa en la computación en la nube y una de las principales que se brindan en torno a las máquinas virtuales. La forma más directa de adquirir servicios en la nube en AWS u otras nubes públicas es solicitar una máquina virtual. La base de datos en la nube que compre también puede ser una máquina virtual subyacente. El principio probablemente sea este. Por ejemplo, si compra una base de datos en la nube MySQL, la plataforma en la nube primero le proporcionará una máquina virtual en segundo plano. Esta imagen de máquina virtual contiene el servicio mysql. Cuando se inicie la máquina virtual, se ejecutará el servicio mysql. No solo necesita acceder a la base de datos, sino que también puede requerir otras funciones relacionadas, como configurar maestro y esclavo, ver registros, crear copias de seguridad, configurar permisos de cuenta, etc. Debido a que la máquina virtual es invisible para los usuarios, no todos los usuarios pueden realizar estas operaciones. Por lo tanto, los proveedores de servicios en la nube también proporcionan interfaces API muy convenientes. Los usuarios solo necesitan llamar a la API o la interfaz web para completar todas las operaciones anteriores sin tener que aprender ni preocuparse por cómo hacerlo ellos mismos. No existe un método fijo sobre cómo implementar la capa inferior. Puede ejecutar el agente en una máquina virtual y realizar operaciones como crear un usuario de base de datos y el agente ejecutará el script definido. Por supuesto, la gestión de la configuración interna de la base de datos también se puede completar mediante programas externos, como ssh/ansible/puppet.

En definitiva, la computación en la nube está en alza y se ha popularizado en los últimos años, pero su esencia es un cambio de pensamiento más que una innovación tecnológica. Usted le da poder de computación a otros (computación en la nube), almacenamiento a otros (almacenamiento en la nube), base de datos a otros (base de datos en la nube como servicio (DBaaS), equilibrio de carga a otros (LBaaS) y firewall a otros (fwa as). Sin embargo, las tecnologías de TI tradicionales, como la tecnología distribuida, la tecnología de virtualización, la tecnología de red, la tecnología de operación y mantenimiento automatizados, la tecnología de recuperación ante desastres, etc. Sigue siendo un medio de implementación y no crea nuevas tecnologías. Simplemente empaqueta algunos recursos, productos funcionales o software en API para proporcionar servicios externos a través de una combinación de estas tecnologías.

El estándar más autorizado de computación en la nube puede referirse a AWS, y la solución de implementación de código abierto de IaaS puede referirse a OpenStack. Actualmente es uno de los proyectos de código abierto más activos en el campo de la computación en la nube. Actualmente, además de brindar servicios básicos de IaaS (computación, almacenamiento y red), servicio de base de datos Trove, flujo de trabajo Mistral, servicio cron en la nube, servicio de gran base de datos Sahara, servicio de disposición de contenedores Magnum, etc. también se implementa.