Ya está bien de virtualizar
(2.03.2014. Revisión. Voy a corregir algunas frases. Elegí para escribir este post un momento de tranquilidad que se torno en un momento de caos familiar: el reparto de los tiempos de la Wii)
Hasta el corrector ortográfico detesta el palabro: virtualizar. La virtualización y la nube son parte del problema. Mejor, del reto. En la nube las cosas pasan en un nivel abstracto.
Quien lo diría: dos siglos defendiendo la ciencia, los hechos, lo medible y refutable, para pasar ahora administrar conceptos e ideas. Por higiene mental, será bueno, entonces, poner las cosas en orden.
Tejido /fabric
En la nube lo que consumimos son recursos sin ver la complejidad física. Lo que nos muestra es tres conjuntos definidos de recursos: computación, red y almacenamiento. Son elementos que tienen sus componentes y su capacidad para relacionarse entre ellos como una unidad.
- Computación es la capacidad de ejecutar código e instancias.
- Red es la forma en que los recursos e instancias hablan o se aíslan entre ellas.
- Espacio es dónde se alojan recursos, configuraciones y datos.
Tejido /fabric es la habilidad de descubrir y administrar recursos de los Centros de Datos físicos y/o virtuales. Un servidor es entregado como la suma de una máquina virtual, espacio de dirección IP dentro de una capa de red virtual, junto a un disco que esta en un espacio de almacenamiento masivo y continuo, que es un sólo grupo de discos. Es mucho más que virtualización.
Así que la virtualización es un componente esencial de la nube pero, se ha de entender el tejido /fabric como la capa de abstracción de la arquitectura.
El reto, es pues recoger, repito,
- Computación es la capacidad de ejecutar código e instancias.
- Red es la forma en que los recursos e instancias hablan o se aíslan entre ellas.
- Espacio es dónde se alojan recursos, configuraciones y datos
y desplegar un sistema de gestión integrado y operado como tejido /fabric ya sea virtual o físico, privado o público, de forma que sean visible y manejable de forma transparente. Así pues una nube puede ser perfectamente soportada por elementos SÓLO físicos.
Sólo así somos capaces de:
-
No desandar lo andado, en lo que ya forma de activos a amortizar.
-
Crecer sin incurrir en costes prohibitivos y que ya lo son.
-
Reaccionar a tiempo a las demandas del mercado
-
Ahorrar cuando sea necesario
En definitiva, orientarnos al servicio y no a la tecnología en un momento de transición tan difícil sin tener que soportar el riesgo de acertar con un modelo u otro.
Y es el servicio
No las máquinas virtuales. IaaS no es desplegar virtualización, sino servicios. Si vemos un despliegue típico de la nube, una aplicación de tres capas, no es sólo el despliegue de maquinas virtuales sino de instancias que tiene varias maquinas virtuales. Y lo que desplegamos es un servicio para aplicaciones con un conjunto de maquinas virtuales en balanceo de carga en el frontal, servidores de aplicaciones y de bases de datos. Servidor de manera conjunta y administrados como un servicio completo en la nube. En su sentido más potente se presenta ante el negocio como un servicio bajo demanda y con el control de costes controlado por el mismo negocio.
Así que administramos:
-
Una instancia de aplicación
-
Un entorno de seguridad
-
Un entidad a gestionar
como un servicio, no sólo maquinas virtuales.
Entonces IaaS será el despliegue de arquitectura de servicio y no sólo maquinas virtuales.
No servidores
Desde el punto de vista operaciones servicio será un conjunto de servidores que forman una arquitectura de servicio. Y la nube es la entrega de recursos para consumirlos: servicio. Si no es la entrega de ese servicio NO es nube. Que quede claro. Claro queda si todos hablamos de lo mismo como diré más adelante.
Así, para los profesionales de IT, es servicio que se consume, por los clientes, es la gestión de la aplicación que trabaja en una instancia de servidor y lo que realizar es su definición, elaboración, despliegue y gestión de disponibilidad, redundancia, SLA, precio, costes, recuperación, etc.
No me puedo quedar en lo privado
Más allá de las discusiones sobre privatizaciones o no, que no inspiran estas palabras ni el modelo, una solución en la nube privada sólo podrá ser el primer paso para la gestión de la computación en la nube. No es la economía de escala o la optimización de recursos sólo, en clave privada, es la posibilidad de tener dos elementos más para poder diseñar un servicio sin perder la consistencia de lo que ya tenemos. La coexistencia en una nube hibrida tendría que estar disponible por defecto en cualquier oferta de IaaS o SaaS.
Así que tenemos que desarrollar un tejido /fabric con una metodología en nube /cloud computing.
The NIST Definition of Cloud Computing.
NIST Special Publication 800-145
Y para que podamos hablar un mismo lenguaje, nos fijamos en en lo que nos dice la National Institute of Standards and Technology. En Europa estamos a la búsqueda de una posición común, primero, y la obsesión sobre la privacidad de los datos, que ya es enfermiza.
El proyecto Cloud for Europe, del 7º Programa Marco de la Comisión Europea, hace un llamamiento a la industria TIC para avanzar junto con el sector público europeo en el desarrollo de servicios de cloud computing. No puedo esperar así que sigo por el lado americano que, además, no me molesta en absoluto.
Por empezar por la Nist, cloud computing sería:
Un modelo que permite el acceso bajo demanda a través de la Red a un conjunto compartido de recursos de computación configurables (redes, servidores, almacenamiento, aplicaciones y servicios) que se pueden aprovisionar rápidamente con el mínimo esfuerzo de gestión o interacción del proveedor del servicio
Siento las citas en inglés pero nos ayudarán al marco referencial y no tener que lamentarnos de las traducciones. Si quieren que tengamos palabras adecuadas en castellano, tendrá que ser el ámbito latinoamericano el que lidere a estos visionarios. Mientras sean americanos, las cosas serán en inglés. Lo bueno es que están siendo.
Essential Characteristics
On-demand self-service. A consumer can unilaterally provision computing capabilities, such as server time and network storage, as needed automatically without requiring human interaction with each service provider.
Broad network access. Capabilities are available over the network and accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms (e.g., mobile phones, tablets, laptops, and workstations).
Resource pooling. The provider’s computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically assigned and reassigned according to consumer demand. There is a sense of location independence in that the customer generally has no control or knowledge over the exact location of the provided resources but may be able to specify location at a higher level of abstraction (e.g., country, state, or datacenter). Examples of resources include storage, processing, memory, and network bandwidth.
Rapid elasticity. Capabilities can be elastically provisioned and released, in some cases automatically, to scale rapidly outward and inward commensurate with demand. To the consumer, the capabilities available for provisioning often appear to be unlimited and can be appropriated in any quantity at any time.
Measured service. Cloud systems automatically control and optimize resource use by leveraging a metering capability1 at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported, providing transparency for both the provider and consumer of the utilized service.
Service Models:
Software as a Service (SaaS). The capability provided to the consumer is to use the provider’s applications running on a cloud infrastructure. The applications are accessible from various client devices through either a thin client interface, such as a web browser (e.g., web-based email), or a program interface. The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, storage, or even individual application capabilities, with the possible exception of limited user-specific application configuration settings.
Platform as a Service (PaaS). The capability provided to the consumer is to deploy onto the cloud infrastructure consumer-created or acquired applications created using programming languages, libraries, services, and tools supported by the provider. The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, or storage, but has control over the deployed applications and possibly configuration settings for the application-hosting environment.
Infrastructure as a Service (IaaS). The capability provided to the consumer is to provision processing, storage, networks, and other fundamental computing resources where the consumer is able to deploy and run arbitrary software, which can include operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure but has control over operating systems, storage, and deployed applications; and possibly limited control of select networking components
Deployment Models
Private cloud. The cloud infrastructure is provisioned for exclusive use by a single organization comprising multiple consumers (e.g., business units). It may be owned, managed, and operated by the organization, a third party, or some combination of them, and it may exist on or off premises.
Community cloud. The cloud infrastructure is provisioned for exclusive use by a specific community of consumers from organizations that have shared concerns (e.g., mission, security requirements, policy, and compliance considerations). It may be owned, managed, and operated by one or more of the organizations in the community, a third party, or some combination of them, and it may exist on or off premises.
Public cloud. The cloud infrastructure is provisioned for open use by the general public. It may be owned, managed, and operated by a business, academic, or government organization, or some combination of them. It exists on the premises of the cloud provider.
Hybrid cloud. The cloud infrastructure is a composition of two or more distinct cloud infrastructures (private, community, or public) that remain unique entities, but are bound together by standardized or proprietary technology that enables data and application portability (e.g., cloud bursting for load balancing between clouds).
Con estas notas, podemos decir quien habla de nube o quien habla de lentejas. Por tanto, cambiamos de paradigma mental: administrar dispositivos y servicios, como sugiere el cambio de modelo en Microsoft. ¿Cuál es la otra opción?