lunes, 17 de enero de 2011

Fundamentos de la computación en nube (Cloud Computing)

Hace pocos meses donde trabajo se inició una migración importante a servicios en la nube. Hace unos días encontré este artículo y dado que el grueso de los usuarios no tienen una comprensión cabal de la estructura general del cambio, me pareció válido procesarlo y compartírselos como un medio de esclarecer algunas dudas e incomprensiones que surgieron a raíz del cambio.  La migración, de nuevo, está en curso y quedan varios asuntos por resolver, además de que, como veremos mas adelante, la conexión entre el usuario final y la nube propiamente dicha es un elemento crítico en  todo el proceso (y nos ha dado mas de un problema). Dicho esto, aquí les va, pueden encontrar el original aquí, el autor es Grace Walker, al final del artículo hay una breve reseña sobre el autor.

Resumen
Una revolución se define como un cambio en la forma de pensar y comportarse que es a la vez dramática en su naturaleza y de amplio alcance. Según esta definición, el cloud computing es de hecho una revolución. Cloud computing está creando un cambio fundamental en la arquitectura de los computadores, el software y las herramientas de desarrollo, y por supuesto, en la forma de almacenar, distribuir y consumir información. La intención de este artículo es la de ayudarle a asimilar la realidad de la revolución, para que pueda utilizarlo en su propio beneficio y bienestar.
En los últimos años, las Tecnologías de la Información (TI) se ha embarcado en un nuevo paradigma - cloud computing. A pesar de que la computación en nube es sólo una manera diferente de ofrecer recursos de cómputo, en lugar de una nueva tecnología, ha provocado una revolución en la forma en que las organizaciones proporcionan información y servicios.
Los servicios de TI originalmente estaban dominados por la informática mainframe. Esta configuración robusta con el tiempo dio paso al modelo cliente-servidor. Pero las TI contemporáneas son mas una función de tecnologías móviles, una computación omnipresente, obicua, y por supuesto, la computación en la nube. Pero esta revolución, como toda revolución, contiene componentes del pasado del cual evolucionó.
Por lo tanto, para poner cloud computing en el contexto adecuado, tenga en cuenta que en el ADN de la computación en la nube es esencialmente una creación de los sistemas que le precedieron. En muchos aspectos, este cambio trascendental es una cuestión de "regreso al futuro" y no el fin definitivo del pasado. En el nuevo mundo de la computación en la nube, hay espacio para la colaboración innovadora de la tecnología de la nube y de la probada utilidad de los sistemas predecesores, tales como los poderosos mainframes. Este verdadero cambio en la manera de calcular ofrece inmensas oportunidades para que el personal de TI tome las riendas del cambio y las usen en beneficio individual e institucional.

¿Qué es el cloud computing?
Cloud computing es una solución completa que la tecnología ofrece como un servicio. Se trata de una solución informática basada en Internet donde se proporcionan los recursos compartidos como la electricidad distribuida en la red eléctrica. Las computadoras en la nube están configuradas para trabajar en conjunto y las diversas aplicaciones para utilizar la potencia de cálculo colectiva como si se ejecutan en un sistema único.
La flexibilidad de la computación en nube es una función de la asignación de recursos bajo demanda. Esto facilita el uso de los recursos acumulados en el sistema, negando la necesidad de asignar hardware específico para una tarea. Antes de la computación en nube, los sitios web y las aplicaciones basadas en servidores se ejecutaban en sistemas específicos. Con el advenimiento de la computación en la nube, los recursos se utilizan como un ordenador virtual agregado. Esta configuración amalgamada proporciona un entorno donde las aplicaciones se ejecutan de forma independiente sin tener en cuenta ninguna configuración particular.

¿Por qué la prisa por la nube?
Hay razones válidas y significativas de negocios y de TI para el cambio de paradigma a la nube de cómputo.Y se aplican los fundamentos del outsourcing.
  • Costos reducidos: La computación en nube puede reducir tanto los gastos de capital (CAPEX) como los gastos operativos (Opex) ya que los recursos sólo se adquieren cuando se necesitan y sólo se paga cuando se usan.
  • Uso refinado del personal: El uso de la computación en nube libera a personal valioso lo que les permite centrarse en la entrega de valor en lugar de ocuparse en labores de mantenimiento de hardware y software.
  • Sólida escalabilidad: La computación en nube permite la ampliación inmediata, ya sea hacia arriba o hacia abajo, en cualquier momento y sin compromiso a largo plazo.
Componentes de la computación en la nube.
El modelo de computación en la nube se compone de un front-end y un back-end. Estos dos elementos están conectados a través de una red, en la mayoría de los casos de Internet. El front-end es el vehículo mediante el cual el usuario interactúa con el sistema, el back-end es la misma nube. El front-end se compone de un equipo cliente, o la red informática de una empresa, y las aplicaciones utilizadas para acceder a la nube. El back-end proporciona las aplicaciones, computadoras, servidores y almacenamiento de datos que genera los servicios de la nubes.

Capas: La informática como una mercancía
El concepto de nube está basado en capas, cada una proporcionando un nivel de funcionalidad diferente. Esta estratificación de los componentes de la nube ha proporcionado un medio para que las capas de la computación en nube se conviertan en un producto básico como la electricidad, los servicios telefónicos, o el gas natural. El producto que vende la computación en nube es el poder de computación a un costo menor para el usuario. "Cloud computing" está a punto de convertirse en la próxima mega-utilidad de los servicios.
El monitor de la máquina virtual (VMM) proporciona los medios para el uso simultáneo de las instalaciones de la nube (ver Figura 1 ). VMM es un programa en el sistema central que permite a una computadora soportar entornos de ejecución múltiples e idénticos. Desde el punto de vista del usuario, el sistema es un equipo independiente aislado del resto de los usuarios. En realidad, cada usuario es servido por la misma máquina. Una máquina virtual es un sistema operativo (OS) que está siendo gestionado por un programa de control subyacente permitiendo que actúe como si fueran múltiples sistemas operativos. En la computación en nube, VMM permite a los usuarios controlar y gestionar tanto los aspectos del proceso, tales como acceso a datos, almacenamiento de datos, encriptación, direccionamiento, topología como el movimiento de la carga de trabajo.

Fig 1: Como trabaja el monitor de la máquina virtual.


Estas son las capas que provee la nube:
  • La capa de infraestructura es la base de la nube. Se compone de los activos físicos - servidores, dispositivos de red, discos de almacenamiento, etc Infraestructura como Servicio (IaaS, Infrastructure as a Service) cuenta con proveedores como IBM ® Cloud. Usando IaaS en realidad no controlas la infraestructura subyacente, pero sí tienes el control de los sistemas operativos, almacenamiento, despliegue de aplicaciones, y, en un grado limitado, el control sobre determinados componentes de red seleccionados. Impresión bajo demanda (POD, Print On Demand) los servicios son un ejemplo de organizaciones que pueden beneficiarse de IaaS. El modelo de POD se basa en la venta de productos personalizables. POD permiten a las personas abrir tiendas y vender los diseños de los productos. Los comerciantes pueden cargar tantos o tan pocos diseños, como puedan crear. Muchos suben (upload en el original) miles. Con capacidades de almacenamiento en la nube, un POD puede ofrecer espacio de almacenamiento ilimitado.
  • La capa intermedia es la plataforma. Proporciona la infraestructura de aplicaciones. La Plataforma como servicio (PaaS, Platform as a Service) proporciona acceso a los sistemas operativos y servicios asociados. Proporciona una forma de implementar aplicaciones en la nube usando lenguajes de programación y herramientas de apoyo del proveedor. Usted no tiene que administrar o controlar la infraestructura subyacente, pero tiene el control sobre las aplicaciones implementadas y, hasta cierto punto sobre las configuraciones de aplicaciones en el entorno de alojamiento (hosting). PaaS cuenta con proveedores como Elastic Compute Cloud (EC2) de Amazon. La casa de software pequeño del empresario es una empresa ideal para PaaS. Con la plataforma elaborada, productos de clase mundial pueden ser creados sin la sobrecarga de la producción interna.
  • La capa superior es la capa de aplicación, la capa visualizada como la nube. Las aplicaciones se ejecutan aquí y se proporcionan según demanda de los usuarios. Software como Servicio (SaaS, Software as a Service) cuenta con proveedores como Google Pack. Google Pack incluye aplicaciones accedidas vía Internet, herramientas tales como Calendario, Gmail, Google Talk, Docs, y muchas más.
La figura 2 muestra estas capas.














Formación de nubes.
Hay tres tipos de formaciones de nubes: privadas (en instalaciones propias), públicas, e híbridas.
  • Las nubes públicas están a disposición del público en general en un grupo industrial grande y son propiedad y están provistos por una organización de venta de servicios en nube. Una nube pública es lo que se considera como la nube en el sentido habitual, es decir, los recursos provistos dinámicamente a través de Internet usando aplicaciones web de un proveedor de terceros fuera de las instalaciones que suministra los recursos compartidos y cobra en base a esto.
  • Las nubes privadas existen dentro del firewall de una (tu) empresa y son administradas por su organización. Se trata de servicios en la nube creados y controlados en su empresa. Las nubes privadas ofrecen muchos de los mismos beneficios que las nubes públicas - la distinción importante es que su organización está a cargo de la creación y el mantenimiento de la nube.
  • Las híbridas son una combinación de nubes públicas y privadas y usan servicios ubicados en cualquiera de los dos espacios (públicos o privados). Las responsabilidades de administración se dividen entre el proveedor de la nube pública y la propia empresa. Mediante el uso de una nube híbrida, las organizaciones pueden determinar los objetivos y requisitos de los servicios que se creen y obtenerlos basados en una alternativa más adecuada.
Roles de las TI en la nube.
Vamos a considerar la probabilidad de que la gestión y administración requieran una mayor automatización, lo que requerirá un cambio en las tareas del personal responsable del diseño de los scripts, debido al crecimiento en la producción de código. Como ven, las TI pueden estarse consolidando, con una menor necesidad de hardware e implementaciones de software, pero también está creando nuevas formaciones. El cambio en TI es hacia el trabajador capacitado. En el nuevo paradigma, los recursos humanos técnicos tendrán mayores responsabilidades para mejorar y actualizar los procesos de negocios en general.

El desarrollador
El creciente uso de dispositivos móviles, la popularidad de las redes sociales, y otros aspectos de la evolución comercial de los procesos y sistemas de TI, garantizará el trabajo para la comunidad de desarrolladores, sin embargo, algunos de los roles tradicionales del personal de desarrollo serán desplazados de los desarrolladores debido a los procesos sistémicos y sistemáticos de la configuración del modelo de nube de la empresa.
Una reciente encuesta realizada por IBM, Una encuesta reciente de developerWorks muestra el dominio de la computación en nube y desarrollo de aplicaciones móviles (vea los Recursos al final) demuestra que la demanda de la tecnología móvil crecerá exponencialmente. Este desarrollo, junto con la rápida aceptación de la computación en la nube en todo el mundo, requerirá un aumento radical de los desarrolladores con una comprensión de esta área. Para satisfacer las crecientes necesidades de conectividad móvil, se requerirán mas desarrolladores que entiendan cómo funciona la computación en la nube.
La computación en nube proporciona una capacidad casi ilimitada, eliminando las preocupaciones de la escalabilidad. La computación en nube permite a los desarrolladores acceso a los activos de software y hardware que la mayoría de las empresas pequeñas y medianas empresas no podrían pagar. Los desarrolladores, usando la computación en nube y los activos que son consecuencia de esta configuración, tendrán acceso a recursos que la mayoría solo podría haber soñado en el pasado reciente.

El administrador
Los administradores son los guardianes y los legisladores de un sistema de TI. Ellos son responsables del control del acceso del usuario a la red. Esto significa estar en la parte superior de la creación de contraseñas de usuario y la formulación de normas y procedimientos para una funcionalidad tan fundamental como el acceso general a los activos del sistema. El advenimiento de la computación en la nube necesitará la adaptación de este proceso dado que el administrador en este entorno ya no solo estará preocupado por los asuntos internos, sino también la relaciones externas de su empresa y los asuntos relacionados con la nube, así como las acciones de otros individuos en una nube pública.
Esto altera la función del servidor de seguridad (firewall) mantenido por la administración y la naturaleza de los procedimientos de seguridad en general de la empresa. No niega la necesidad de el guardián del sistema. Con la computación en nube, su responsabilidad es aún mayor, no menor. Bajo la computación en nube, el administrador no sólo debe asegurar los datos y los sistemas internos de la organización, también deben supervisar y administrar la nube para garantizar la seguridad de su sistema y datos en todas partes.

El arquitecto
La función de la arquitectura es el modelado efectivo de la funcionalidad del sistema dado en el mundo real. La responsabilidad básica del arquitecto es el desarrollo del marco arquitectónico del modelo de computación en nube de la agencia. La arquitectura de computación en la nube se compone esencialmente de la abstracción de una construcción de tres capas, IaaS, PaaS, SaaS y, de tal manera que la empresa particular que implementa del enfoque de la computación en nube cumpla sus metas y objetivos. La abstracción de la funcionalidad de las capas se desarrolla de modo que los que toman las decisiones y los soldados de a pie puedan utilizar la abstracción para planificar, ejecutar y evaluar la eficacia de los procedimientos y procesos del sistema de TI.
El papel del arquitecto en la era de la computación en nube es concebir y modelar una interacción funcional de las capas de la nube. El arquitecto debe utilizar la abstracción como un medio para asegurarse de que las TI están jugando su propio papel en la consecución de los objetivos organizacionales.

Si o no a la nube: La evaluación de riesgos
Las principales preocupaciones manifestadas por los que migran a la nube son la seguridad y la privacidad. Las empresas proveedoras de servicios de cloud computing lo saben y entienden que sin una seguridad fiable, su negocio se derrumbará. Así que la seguridad y la privacidad son de alta prioridad para todas las entidades de la computación en nube.
Gobernabilidad: ¿Cómo van a ser monitoreados los estándares industriales?
La gobernabilidad es la responsabilidad principal del propietario de una nube privada y una responsabilidad compartida de la empresa y del consumidor de servicios en la nube pública. Sin embargo, teniendo en cuenta elementos tales como el terrorismo transnacional, los ataques DOS, virus, gusanos y similares - que tienen o podrian tener aspectos que escapan al control de cualquiera de los propietarios de la nube privada o del proveedor de servicios de nube pública y de los consumidores - son necesarios algunos tipo de colaboración más amplios, sobre todo en los niveles mundial, regional y nacional. Por supuesto, esta colaboración ha de ser instituida de manera que no se diluya o perjudicaría el control del propietario del proceso o de los abonados en el caso de la nube pública.

Requisitos de ancho de banda
Si usted va a adoptar el esquema de una nube, el ancho de banda y el cuello de botella que puede significar deben ser evaluados en su estrategia. En el artículo CIO.com: El popote (se refiere a sorbete o pajilla) delgado: El cuello de botella de la computación en nube y cómo abordarlo, se hace la siguiente declaración:
Los implementadores de la virtualización encontraron que el cuello de botella clave para la densidad de la máquina virtual es la capacidad de memoria, ahora hay un montón de nuevos servidores que con una capacidad de memoria mucho mayor, eliminando la memoria como un cuello de botella del sistema. La computación en nube niega este cuello de botella mediante la eliminación del asunto de la densidad de la máquina de la ecuación esto último se convierte en la responsabilidad del proveedor de la nube, liberando al usuario de esta preocupación.
Para la computación en nube, el ancho de banda desde y hacia el proveedor de la nube es el cuello de botella.
Entonces, ¿cuál es la mejor solución actual de la cuestión del ancho de banda? En el mercado actual la mejor respuesta es el servidor blade. Un servidor blade es un servidor que ha sido optimizado para minimizar el uso del espacio físico y la energía. Una de las grandes ventajas de los servidores blade para el uso de computación en nube es la mejora de la velocidad del ancho de banda . Por ejemplo, el BladeCenter de IBM está diseñado para acelerar las cargas de trabajo de computación de alto rendimiento de forma rápida y eficiente. Así como había que superar el problema de memoria para aliviar con eficacia el cuello de botella de la densidad de la máquina virtual, el cuello de botella del ancho de banda de la computación en nube también se debe superar, así que analice las capacidades de su proveedor para determinar si el cuello de botella del ancho de banda será un problema de rendimiento.

Impacto financiero
Debido a que una proporción considerable de los costos en las operaciones de TI provienen de las funciones administrativas y de gestión, la automatización implícita de algunas de estas funciones reducirá per se los costos en un entorno de computación en nube. La automatización puede reducir el factor de error y el costo de la redundancia de la repetición manual de forma significativa.
Hay otros contribuyentes a los problemas financieros, tales como el costo de mantenimiento de las instalaciones físicas, el uso de energía eléctrica, los sistemas de refrigeración, y por supuesto los factores de administración y gestión. Como puede ver, el ancho de banda no es lo único, de ninguna manera.

Mitigar el riesgo
Tenga en cuenta estos posibles riesgos:
  • Efectos adversos del mal manejo de los datos.
  • Cargas de servicios injustificadas.
  • Problemas financieros o jurídicos de los proveedores.
  • Problemas o paradas operacionales del vendedor.
  • Recuperación de datos y problemas de confidencialidad.
  • Preocupaciones generales de seguridad.
  • Ataques al sistema por fuerzas externas.
Con el uso de sistemas en la nube, se corre el riesgo siempre presente de la seguridad de los datos, la conectividad y acciones maliciosas interfiriendo con los procesos de computación. Sin embargo, con un plan cuidadosamente pensado, una metodología de selección del proveedor de servicios, y una perspectiva sagaz sobre la gestión de riesgo en general, la mayoría de empresas pueden aprovechar esta tecnología con seguridad.

En conclusión
En esta nueva era revolucionaria, el cloud computing puede proporcionar a las organizaciones los medios y métodos necesarios para asegurar la estabilidad financiera y un servicio de alta calidad. Por supuesto, debe haber una cooperación global para que el proceso en general alcance una seguridad y unas normas operacionales óptimas. Con el advenimiento de la computación en nube es imperativo para todos nosotros estar preparados para la revolución.


Recursos.

Para aprender
Obtener productos y tecnologías
Discuciones