Virtualización y cloud computing
Introducción
La aparición de la cloud computing no es sólo un punto de inflexión en la informática, sino también un cambio de percepción en el que el software y el hardware se ven como un "paquete de software". En la década de 2000, la virtualización ya había establecido una nueva división entre la informática "tradicional" y la "moderna", pero el aumento de la popularidad de la cloud computing marca realmente una nueva era, la de la informática como servicio.
El enfoque tradicional gira en torno a la noción de propiedad de la infraestructura necesaria para hacer funcionar el software, mientras que el modelo introducido por el cloud se refiere a un modelo de externalización en el que los recursos de hardware (procesamiento) se consumen a demanda de uno o varios proveedores terceros.
La virtualización de servidores desempeña un papel crucial en la cloud computing al proporcionar la base para la abstracción, aislamiento y asignación eficiente de recursos. Permite a los proveedores del cloud maximizar el uso de sus recursos de hardware, mientras que los usuarios pueden disfrutar de una serie de ventajas como el despliegue de máquinas virtuales con un sistema operativo preinstalado en cuestión de minutos. Por supuesto, esta flexibilidad tiene un coste, que se debe evaluar adecuadamente antes de utilizar...
Virtualización y cloud computing
Para entender el papel de la virtualización de servidores en el mundo de la cloud computing, primero tenemos que ofrecer una visión general de cómo funciona y de los modelos de servicio que ofrece. modelos de servicio que ofrece la cloud computing.
Para explicar qué es la cloud computing, proponemos recurrir a las definiciones dadas por dos autoridades en la materia: Gartner y el National Institute of Standards and Technology (NIST).
1. Definición de cloud computing de Gartner
Según Gartner, la cloud computing es un enfoque de la informática en el que los recursos de procesamiento se caracterizan por su elasticidad (elasticity) y escalabilidad (scalability) y por el hecho de que se ofrecen como servicio (as a Service) utilizando tecnologías de Internet.
https://www.gartner.com/en/information-technology/glossary/cloud-computing
Esta definición pone de relieve dos conceptos importantes de la cloud computing: elasticidad y escalabilidad. El primer concepto se refiere a un objeto elástico, es decir, que puede estirarse y volver a su forma inicial por sí solo. Un objeto así se caracteriza por su adaptabilidad y flexibilidad. Por ejemplo, una aplicación web se puede considerar altamente adaptable o elástica si es capaz de asumir una carga de peticiones inesperadas.
a. Los conceptos de elasticidad y escalado
La elasticidad se refiere a la capacidad de una aplicación para aumentar o disminuir dinámicamente sus instancias de procesamiento (máquinas virtuales o contenedores) en respuesta a un aumento o disminución repentinos del tráfico web. Un sistema elástico se adapta automáticamente para ajustar los recursos a la demanda en tiempo real.
Este enfoque se denomina escalado horizontal (horizontal scaling).
Esta forma de escalado no es específica de la cloud comp ting, pero es una de sus principales ventajas, ya que los recursos se utilizan bajo demanda.
Por el contrario, el escalado vertical (vertical scaling) consiste en añadir más recursos y aumentar la capacidad de los servidores añadiendo procesadores, RAM, discos duros o tarjetas de red. Este tipo de escalado no es específico de las infraestructuras "in situ", pero es donde se da con más frecuencia porque suele ser más barato y sencillo añadir recursos a un servidor...
Ofertas de cloud computing de VMware
VMware cuenta con una serie de ofertas y servicios que permiten a las empresas aprovechar las ventajas de la computación en la nube, pero la empresa no dispone de una plataforma pública unificada como AWS, Azure o Google Cloud Platform. En 2008, VMware puso en marcha una oferta de nube pública llamada vCloud, que cambió de nombre varias veces hasta que fue adquirida por OVH en 2017.
Algunos argumentarían que VMware no ha sabido aprovechar la oportunidad de convertirse en proveedor de nube pública, a pesar de contar con una amplia gama de productos que ya están lo suficientemente maduros para hacerlo. Sea como fuere, la oferta de nube del proveedor de vSphere ha dado un giro diferente, al ofrecer integraciones de sus productos con otras plataformas o recursos cloud para crear un servicio de nube privada, híbrida o pública. Las últimas innovaciones de VMware en cloud computing pasan por el desarrollo de soluciones de gestión multicloud, con especial atención a la automatización.
Estas son algunas de las principales ofertas cloud de VMware.
1. Ofertas propias de VMware
a. vSphere +
VMware vSphere+ es ferta de nube híbrida que combina el entorno vSphere de una organización, con componentes de VMware Cloud suministrados en modo SaaS. Es una solución basada en suscripción que utiliza hosts ESXi y servidores vCenter hosts ESXi y servidores vCenter, existentes para...
DevOps y automatización
DevOps (concatenación de las tres primeras letras de Development Operations) es una cultura y filosofía informática que hace hincapié en la colaboración, la automatización y la mejora continua en la entrega de soluciones.
Este enfoque tiende un puente entre los equipos de y los equipos operativos responsables de la gestión de la infraestructura. DevOps promueve una cultura de responsabilidad compartida y colaboración entre los dos equipos tradicionales de TI, rompiendo los silos y fomentando la comunicación entre ambos. En esta cultura, las tareas de desarrollo y operativas se entrelazan y forman parte del mismo proceso de mejora continua.
Cadena de herramientas DevOps (DevOps Toolchain)
https://commons.wikimedia.org/w/index.php?search=devops&title=Special:MediaSearch&go=Go&type=image
La filosofía DevOps anima a los equipos a desarrollar perfiles en "T": cada miembro tiene una cierta especialidad, pero tiende a adquirir conocimientos transversales para aspirar a la polivalencia.
La automatización es un elemento clave de DevOps, ya que permite desplegar software de forma rápida, iterativa y con mayor frecuencia, aprovechando diversas herramientas que facilitan estas tareas.
La integración continua (Continuous Integration, CI) y la entrega/despliegue continuo (Continuous Delivery/Deployment, CD), son parte integrante de DevOps, ya que permiten que el código se despliegue sin problemas en entornos de producción. Al adoptar los principios de DevOps, las organizaciones pueden acelerar los ciclos de despliegue y reducir el tiempo de comercialización de nuevas funcionalidades.
La noción de “pipeline" es un aspecto fundamental de CI/CD. Se refiere a una serie de pasos automatizados que facilitan la creación, prueba y despliegue de aplicaciones de software. Los pipelines permiten definir las etapas y acciones necesarias para desplegar el código en varias fases de pruebas y de aceptación, hasta el entorno de producción. Las soluciones que ofrecen un servicio de pipeline se suelen basar en software de control de versiones de código como Git. Esto se puede configurar, por ejemplo, para activar un despliegue de código en una aplicación en la nube cuando se realiza...
Virtualización del sistema operativo
La virtualización de servidores fue la tecnología revolucionaria de la década de 2000. Con el tiempo, una nueva forma de virtualización -la virtualización del sistema operativo- tiende a revolucionar la virtualización de servidores o, al menos, a transformarla y ampliar sus capacidades.
La virtualización a nivel de sistema operativo (o contenedorización) se utiliza para crear contenedores. Los contenedores son entornos ligeros y aislados que se ejecutan en un sistema operativo anfitrión y comparten su núcleo. Proporcionan un medio para agrupar y distribuir aplicaciones y sus dependencias, haciéndolas portables y fáciles de desplegar en distintos entornos.
Para crear contenedores, la virtualización a nivel de sistema operativo aprovecha las capacidades que ofrecen tecnologías de contenedorización como Docker y Kubernetes.
1. Docker
Docker es una plataforma de código abierto introducida en 2013 que automatiza el despliegue y la gestión de aplicaciones en contenedores. La solución también se conoce como "motor de contenedores" porque proporciona un entorno de ejecución para crear y gestionar contenedores.
Logotipo de Docker
Docker ofrece funciones para agrupar una aplicación y sus dependencias en una imagen de contenedor, haciéndola portátil y fácil...
Conclusión
La virtualización de servidores ha experimentado grandes transformaciones a lo largo de los años y sigue evolucionando para satisfacer las necesidades cambiantes de las infraestructuras de procesamiento.
Con la creciente importancia de las tecnologías de contenedorización, las plataformas de virtualización de servidores están integrando aún más estas tecnologías. Esta integración permite gestionar y desplegar sin problemas máquinas virtuales y contenedores dentro del mismo entorno de virtualización, creando una plataforma unificada para ejecutar diversas cargas de trabajo.
Del mismo modo, el aumento de la popularidad de la cloud computing ha dado lugar a una serie de innovaciones en la virtualización de servidores para dar soporte a soluciones de nube híbrida y avanzar más hacia soluciones multicloud.
En un futuro próximo, la virtualización aprovechará sin duda la inteligencia artificial y el machine learning para optimizar la asignación de recursos, automatizar las tareas de gestión y mejorar el rendimiento. Se podrían desarrollar algoritmos para analizar las cargas de trabajo, prever las demandas de recursos y ajustar dinámicamente la asignación de recursos para maximizar la eficiencia de los entornos de virtualización.
A pesar del auge del cloud pública, la tendencia actual parece orientarse...