Escrito por: Jesús Machado, Systems Engineer VMware
¿Qué es la computación en la nube?
La computación en la nube ofrece bajo demanda cualquier recurso computacional que el consumidor necesite como un servicio.
De acuerdo con los recursos que se necesitan, los principales modelos de servicio son los siguientes (ordenados del más complejo al más básico):
Software como servicio (SaaS, Software as a Service): La funcionalidad que se ofrece al consumidor le permite usar la aplicación del proveedor ejecutándose en una plataforma de nube. El consumidor acceder a la aplicación mediante un programa cliente o navegador web y no necesita administrar ningún componente de software ni hardware que soporte la ejecución de la aplicación.
Plataforma como servicio, (PaaS, Platform as a Service): La funcionalidad que se ofrece al consumidor le permite instalar y ejecutar aplicaciones en la plataforma de nube del proveedor, ya que usa como base los componentes de software previamente configurados (bases de datos, servidores web, entre otros). El consumidor no controla ningún aspecto de la plataforma de virtualización, redes, almacenamiento, ni el sistema operativo que se utilizará.
Infraestructura como servicio (IaaS, Infrastructure as a Service): La funcionalidad que se ofrece al consumidor le permite aprovisionar procesamiento, redes y almacenamiento; de esta forma, puede implementar software, incluidas aplicaciones y sistemas operativos. El consumidor no administra la plataforma de virtualización pero puede modificar configuraciones relacionadas a su contenedor (la máquina virtual).
Cada uno de estos modelos de servicio tiene proveedores que buscan cubrir un nicho de mercado o una necesidad específica de sus potenciales clientes. Desde la perspectiva del cliente, cada uno de estos proveedores es una opción viable para un tipo de proyecto, ya que son rentables y cubren la necesidad específica. Es normal que un mismo cliente necesite servicios de varios de estos proveedores.
Un poco de historia
En el año 1961, el profesor John McCarthy (MIT, Standford, otras) presenta el concepto de la computación como un “servicio”, al igual que la electricidad, el agua, gas y otros. Sin embargo, en ese momento la tecnología no permitía que este concepto fuera ampliamente adoptado en computación como propósito general y desapareció por un tiempo. Entre ese momento y la creación de la computación en la nube como la conocemos ahora, hubo adelantos que marcaron el camino, como el avance de los mainframe y los primeros hipervisores basados en esta tecnología, la popularización de las redes privadas virtuales (VPN, Virtual Private Network), los avances en procesadores x86, el nacimiento de la virtualización y los hipervisores basados en x86. Desde el punto de vista comercial, mucho más adelante en el tiempo, ya en 1999 nace salesforce.com, el primer software como servicio, y en 2002 Amazon crea Amazon Web Services (AWS). Se vuelve a revisar el esquema de computación como servicio como modelo exitoso de operaciones y negocio. En 2002, se presentan los productos comerciales de VMware y proyectos de código abierto para hipervisores nativos de sistemas x86.
Alrededor de 2005, los fabricantes de CPU implementan la compatibilidad con hipervisores y la virtualización de procesamientos de 64 bits. La virtualización comienza a verse como una tecnología robusta y capaz de soportar cargas corporativas en producción. Esto permite que los fabricantes de hardware y software empiecen a incluir dentro de las funcionalidades de sus productos la integración con plataformas de virtualización para el nivel de monitoreo, administración y funcionalidades de hardware. Hasta este momento, solo trabajan con plataformas de virtualización básicas.
En 2008, nacen los proyectos de software libre Eucaliptus y Open Nebula, que pueden crear nubes privadas, y en 2010 nace Openstack, un proyecto de Rackspace en conjunto con la NASA, y Vmware vCloud Director.
Comienza la carrera
Ya a partir del 2011, se produce un boom en el lanzamiento de productos de “nube privada” de cualquier tipo de fabricante de hardware o software. Estos fabricantes entraron en la competencia apresurados por medio de adquisiciones o nuevos desarrollos, al darse cuenta de que quien no tuviera una propuesta de nube sería visto como un atrasado en el mercado tecnológico. Esto hace que se creen tantas definiciones del término “computación en la nube” como la cantidad de proveedores.
¿Por qué existen tantas definiciones?
Cada proveedor se enfocó en uno de los modelos de servicios específicos, o desarrolló su herramienta basándose en el software administrativo existente y se vio limitado por sus capacidades. Muchos deseaban llegar al mercado con la rapidez, por lo que usaron como base proyectos de software libre o funcionalidades ofrecidas a través de interfaces de programación de aplicaciones (API, Application Program Interfaces) de la plataforma de virtualización. En conclusión, cada uno llegó hasta donde podía con lo que tenía y salió a venderlo a la calle como nube privada, aun cuando las herramientas solo se encargaban del aprovisionamiento de máquinas virtuales, muchas no se integraban con la seguridad y las redes del servicio, varias no se relacionaban con el sistema operativo de la máquina virtual, otras no tienen nada que ver con la aplicación que se instalaría, muchas no tenían herramientas dinámicas de monitoreo y la mayoría requerían que el cliente o servicios profesionales desarrollen muchas líneas de código para que se alcanzar el objetivo establecido.
¿Qué tan fácil es?
Muchos fabricantes salieron a la calle con paquetes de software de computación en la nube, aun cuando los componentes no habían sido diseñados para trabajar en conjunto y requieran servicios profesionales complejos y extensos para hacerlos funcionar, si bien no es mucha la información que comparten. La naturaleza de estas integraciones hace también que existan clientes en el mercado que confiaron en una solución y que llevan más de 2 años tratando de implementarla. Puede ser que simplemente la solución quedó instalada con su funcionalidad básica y no se utiliza a diario porque no cubre sus necesidades o porque trabajar con la herramienta es más difícil que el proceso manual y requiere más servicios profesionales.
El aprovisionamiento incompleto se acerca más al esquema tradicional. En este caso, la parte automatizada termina cuando todavía queda trabajo por hacer: la creación de la máquina virtual tarda 10 minutos pero recién a las 2 semanas queda productiva debido a las interacciones necesarias entre diferentes departamentos.
En un proyecto de nube privada, es recomendable que se revisen de cerca los alcances de los servicios, las integraciones que funcionan de manera nativa, las integraciones que necesitan desarrollo, los casos de éxito, las arquitecturas modelo y los tiempos del servicio.
Cualquier cosa como servicio
Las compañías que están en el mercado buscando una herramienta de nube privada, deben entender que la naturaleza cambiante del negocio hace que los clientes finales se vean a sí mismos como proveedores de cualquier cosa como servicio (XaaS, X as a service), ya que cada proyecto es diferente y puede necesitar un nivel diferente de automatización. Hacer algo que no esté en el catálogo de servicio no debería presentar mayor dificultad, por la facilidad de usar bloques ya armados para su construcción. En general, una solución de nube privada deberá contar con elementos que se encarguen del servicio desde el aprovisionamiento del procesamiento hasta la configuración del servicio o aplicación, incluidos los aspectos operativos como la configuración de redes y el cumplimiento normativo. En resumen, lo ideal es lograr la implementación directa a la producción sin mucha interacción humana.
Para obtener más información acerca de VMware, visite nuestros sitios web de Argentina, Chile, Colombia, México, Perú, Venezuela y otros países. También puede seguirnos en Facebook, Twitter y Youtube para enterarse de las últimas novedades.
Contacte VMware aquí.