Tenía pensado publicar un artículo sobre la computación en la nube sobre lo prematura, poco portable, muy orientada a marketing, ... que es y otros tópicos pero, tras una reorganización de la información de que disponía, creo que es más útil y práctico el enfoque opuesto: los conceptos y arquitectura comunes de los más importantes proveedores de computación en la red.
CPD, una especie en extinción en las empresas By RobH (Own work) [CC-BY-SA-3.0 (http://creativecommons.org/licenses/by-sa/3.0)], via Wikimedia Commons |
- Infraestructura como servicio, donde el proveedor pone el CPD, las conexiones de red, la forma de crear servidores virtuales, la gestión de bajo nivel,... y nosotros nos encargamos de todo lo demás, desde maquetar una máquina (aunque pueden darnos algunas maquetas preconfiguradas). Aquí hay muchos proveedores, muchos de ellos que ya existían antes de la nube, y ofrecían servidores a empresas. Ahora, con la virtualización, han entrado grandes nombre como Amazon.
- Plataforma como servicio, donde el proveedor nos pone máquinas interconectadas, que ejecutarán una serie de "tareas de trabajo", que se repartirán entre ellas el supuesto trabajo, se crearán y destruirán a necesidad,... Por ejemplo Heroku y su modelo de "workers".
- Software como servicio, es el más habitual para el usuario final, ya que aquí el proveedor pone hasta el software, la configuración,... y el usuario solo tiene que poner sus datos. Ejemplos serían casi cualquier aplicación web que se nos ocurra, desde el antiguamente llamado Google Docs, pasando por un Dropbox, hasta un Evernote.
Pirámide de servicios |
Servicios de computación en la nube
Además de un incremento en la velocidad de las comunicaciones y un aumento de las necesidades de computación de las empresas / particulares, 2 tecnologías se han adueñado de nuestros CPD en los últimos años para que la computación en la nube se haya incrementado tanto:
- virtualización. Dentro de una máquina creamos máquinas virtuales, simulando una máquina completa. Originalmente esto sólo se hacía por motivos de demostraciones o educativos, pero con el ascenso en importancia y el añadido de instrucciones e infraestructura en las máquinas para facilitar la virtualización, se ha convertido en una tecnología muy habitual en nuestros CPDs. VMWare sería la marca más conocida en este mundo.
Virtualización. La máquina virtual (Guest) corre sobre el Sistema operativo Host |
- particionado. Dentro de una caja / chasis / sistema, tenemos diferentes CPUs, memoria, acceso a disco,... todo tipo de recursos en diferentes cantidades. Podemos, ya sea estáticamente o dinámicamente asignar varios de dichos componentes a diferentes particiones, cada una de ellas correspondiéndose con un "ordenador". Todos los grandes proveedores de informática empresarial tienen productos de este tipo como IBM ( LPAR), Sun / Oracle (LDOM),... basados en un hipervisor que lo gestiona todo y conoce todo el sistema y las diferentes particiones que lo componen.
Particionado. Apenas una fina capa gestiona el reparto de recursos hardware para cada partición |
Servicios en general
Una arquitectura general de computación en la nube, habitual entre los proveedores más conocidos es la siguiente:Diagrama general de computación en la nube
Donde podemos apreciar:
Dichos proveedores habituales suelen:
Apartado especial se merece Heroku que, a todos los servicios que ofrecen los demás proveedores, añade:
Computación especializada
Aunque la computación en red es genérica, han surgido soluciones especializadas para diferentes tipos de datos. Uno de los más conocidos es el de las granjas de render, que funcionan:
Como vemos, la clave, para que todo funcione, es que en nuestras instalaciones hayamos podido preparar nuestro proyecto para un entorno casi idéntico al que luego habrá en la red de computación. No es lo mismo un 3DMax + Final Render que un Maya + VRay.
Ejemplos:
Ejemplos en España
En España, aunque parezca mentira, también tenemos proveedores de computación en la red.
Casos de éxito
Diferentes empresas, con diferentes negocios, y orientadas a diferentes productos emplean computación en la nube para aportar su valor añadido:
Estandarización
Pero no todo son infraestructuras diferentes, recursos diferentes, APIs diferentes, en el mundo de la computación en red.
Ya ha habido varios intentos de, añadiendo una capa intermedia, crear un único API para varios proveedores. Por ejemplo libcloud, es una API realizada en Python, que nos permite, con las mismas llamadas, acceder a recursos de almacenamiento de Amazon S3 o de Google Cloud Storage, o hacer el deploy de nuestra aplicación en Rackspace, Amazon,... Lo mismo hace deltacloud, aunque en este caso esta hecho en Ruby. Pero cada uno tiene su propio API, incompatible entre si. Pasamos de depender del API de nuestro proveedor al API del producto intermedio que hayamos elegido.
El Open Grid Forum ha creado la Open Cloud Computing Interface (OCCI) intentando lo casi imposible: unificar APIs pero permitir la diferenciación de los proveedores. Para ello, ha incluido en OCCI una forma de preguntar por los servicios disponibles siendo un API modular pudiendo incluir más o menos funcionalidad, centrándose en Infraestructura como Servicio.
OCCI - Nueva capa intermedia
Y ya hay una serie de implementaciones abiertas como:
Se divide en 3 módulos:
ConclusiónComo resumen general, podemos decir que la computación en red, alias nube, es una tendencia cada vez mayor, más apoyada por los proveedores y fabricante, que permite dimensionar dinámicamente las infraestructuras de una empresa, y que poco a poco va madurando:
|
No hay comentarios:
Publicar un comentario