lunes, 22 de octubre de 2012


Cloud Computing

¿Qué es el cómputo en la nube?

¿Alguna vez te has preguntado que es el cómputo de nube? De acuerdo al diccionario de Cambridge el cómputo de nube es “el uso de tecnología, servicios, software y demás sobre internet en lugar de software y hardware que compras e instalas en tú computadora”.
De acuerdo a lo anterior, alguna empresa que se digne de usar cómputo de nube es debido al hecho que su infraestructura de cómputo y aplicaciones se encuentran expuestas en internet y con ello la desaparición dentro de sus instalaciones de un Centro de Cómputo o uno muy reducido. Y los servicios de cómputo los adquieren como un servicio con cobro bajo demanda.

¿Por qué surge el cómputo en la nube?

Históricamente la nube surge como una metáfora de internet remontándonos a 1961 donde el profesor John McCarthy sugería que el tiempo de cómputo y aplicaciones específicas debería ser provisionadas mediante un modelo utilitario, pero esta visión no prospero debido a la carencia de infraestructura y sofisticación que pudiera soportar tal visión.  Este concepto ha resurgido debido a las necesidades de los entornos tecnológicos que requieren agregar mayores capacidades en su infraestructura sin invertir en nuevos equipos, capacitación, más personal o nuevo licenciamiento; debido a estos antecedentes las empresas que tenían grandes centros de cómputo detectaron la oportunidad de ofrecer servicios sobre internet para aprovechar su capacidad ociosa debido a las características de la demanda de su negocio; de esta forma se genera una mejora importante en la optimización de los recursos de cómputo mundiales bajo las modalidades de IaaS, PaaS y SaaS que se tratan en las siguientes secciones.

Características de Cloud Computing

Cloud Computing representa un cambio sin precedentes en los paradigmas de cómputo debido a las características que lo hacen tan particular al adquirir servicios de un proveedor de cómputo en nube (Sosinsky, 2011):
  1. Renta. Comienza a rentar infraestructura de centros de datos, computadoras, almacenamiento y red total o parcialmente alrededor de todo el mundo.
  2. Demanda y Costo Elástico. Los sistemas implementados bajo un esquema de  cómputo en nube tienen la flexibilidad de procesar picos de tráfico mediante el aumento de capacidad de cómputo y así mismo, su reducción cuando ocurre un valle de tráfico.
  3. Centros de cómputo amigables con el ambiente. Conforme los centros de cómputo han crecido los proveedores de cómputo en nube han enfocado la creación de sus centros de cómputo en proyectos amigables con el ambiente poniendo atención en:
    1. Bajos costos en el consumo de energía
    2. Potenciar fuentes de energía renovable
    3. Estar cerca de agua abundante
    4. Ubicarse cerca de redes de alta velocidad
    5. Costos de terrenos moderados
    6. Beneficios fiscales
    7. Optimizar los tiempos de respuesta de los sistemas
    8. Alta rentabilidad basada en la eficiencia de los recursos de cómputo.
  4. Reducción de costos en el servicio final. Gracias al cómputo en nube y la optimización de los recursos de cómputo habilitado por los proveedores de cómputo en nube es posible reducir los costos de entrega final de un producto o servicio.

Tipos de nubes

Los tipos de nubes (Escalante, 2010) que podemos encontrar en el mercado en la actualidad son:
  1. Nubes privadas. Las nubes privadas son operadas por empresas o dependencias de gobierno y sirven a clientes internos dentro del ámbito de la empresa o dependencia en cuestión. Usualmente las implantan empresas o entidades de gobierno que prefieren mantener sus datos dentro de ambientes controlados
  2. Nubes públicas o externas. Las nubes públicas son el tipo más común de nubes donde normalmente son usadas por el público en general con el esquema de pago por consumo, las cuales son habilitadas por proveedores  que desean compartir sus recursos con muchos clientes tales como: Amazon, Microsoft, Google e IBM. Los proveedores de nubes públicas tienen centros de cómputo con una gran cantidad de recursos permitiendo a sus clientes escalar sus requerimientos por un costo considerablemente bajo. Una de las mayores preocupaciones de los clientes hacia este esquema de nubes son la seguridad y su gobierno.
  3. Nube hibrida. La composición de la nube pública y la nube privada se denomina una nube hibrida, donde la nube privada mantiene altos niveles de disponibilidad mediante el aprovisionamiento de recursos por la nube publica cuando hay fluctuaciones en la demanda de las aplicaciones o fallas de infraestructura. Las empresas usualmente se interesan por las nubes hibridas cuando mantienen sus datos críticos dentro de la nube privada mientras que el resto permanecen en la nube pública.
  4. Nube comunitaria. El concepto de nube comunitaria proviene de la idea del cómputo distribuido donde las empresas pueden compartir sus recursos para incrementar la carga de sus aplicaciones al compartir el costo del cómputo.
  5. Nube móvil. Cuando hablamos de nube móvil se tiene que entender aquellos servicios donde el procesamiento y almacenamiento se realiza en la nube mientras que la presentación se realiza en un dispositivo móvil (Sosinsky, Cloud Computing Bible , 2011).

Servicios que se ofrecen en los esquemas de cómputo en nube

Esencialmente el cómputo en la nube son sistemas que ofrecen servicios a un usuario remoto. Los servicios que ofrecen pueden ser desde hardware hasta aplicaciones. Estos servicios pueden clasificarse en:
  1. IaaS (Infraestructura como servicio) provee el hardware como un servicio con grandes volúmenes de transacciones, almacenamiento, conectividad y disponibilidad, donde las empresas en lugar de construir sus propios centros de datos, redes, instalación y configuración de servidores acuden a una empresa que los provea. Ejemplos de estos servicios se pueden encontrar en Amazon, IBM y Microsoft.
  1. PaaS(Plataforma como servicio) provee la plataforma de ejecución de software como servicio con el fin de que las aplicaciones se puedan ejecutar. Desde el punto de vista de los usuarios los recursos están contenidos en contenedores independientes sin tener que preocuparse de la administración de los recursos o la solución de los problemas mientras que las aplicaciones se autoescalan y autobalancean en cuanto a la carga de trabajo. Ejemplos de estos servicios los podemos encontrar en IBM Bluemix (revisa mí blog para profundizar), Google App Engine, Microsoft Azure y Salesforce.
  2. SaaS(Software como servicio) provee el licenciamiento de software como un servicio bajo demanda que se está ejecutando en un entorno basado en la nube reemplazando  el uso tradicional del software con un esquema de renta o suscripción reduciendo el equipamiento del usuario y los costos de administración. Ejemplos de estos servicios los podemos encontrar en: cursos en línea, Microsoft Office Live Meeting, redes sociales, y Correo electrónico.

Sistemas fundamentales para el cómputo en nube

De acuerdo a Gartner en su estudio “Magic Quadrant for Public Cloud Infrastructure as a Service” la recomendación para la implementación de aplicaciones más típicas en la nube son:
  1. Aplicaciones nativas de la nube. Hay aplicaciones que están arquitectadas específicamente para ejecutarse en un entorno IaaS (Infraestructura como Servicio por sus siglas en inglés).
  2. Hospedaje de negocios electrónicos.  Hay sitios de mercadeo electrónico, aplicaciones SaaS (Software como Servicio por sus siglas en inglés y, sitios y aplicaciones basadas en internet. Estas aplicaciones están pensadas para crecer y son resilientes a fallos.
  3. Aplicaciones de Negocio en General. Las aplicaciones que se encuentran alojadas en un centro de datos de la mayoría de los negocios tradicionales dentro de sus propias instalaciones y donde las cargas de trabajo son pequeñas, no están diseñadas para el crecimiento y asumen el correcto funcionamiento de la infraestructura.
  4. Desarrollo y Pruebas. Ambientes donde se realizan desarrollo de productos y sus pruebas donde no es requerido un ambiente de alta disponibilidad y desempeño.
Algunos ejemplos de lo anterior los podemos encontrar en aplicaciones como:
a)      Correo electrónico en internet
b)      Redes sociales
c)      Sitios de respaldo
d)      Comercio electrónico
e)      Páginas de internet

Necesidades de negocio solventadas en la nube

Con el cómputo en la nube los negocios pueden solventar necesidades de cómputo que apoyen al crecimiento de los negocios. Entre las necesidades que se pueden enunciar están:
  1. Pago por uso. Con el pago por uso las empresas se benefician del cómputo en la nube al evitar incurrir en gastos involucrados con la adquisición de equipos de cómputo, espacios físicos dentro del centro de cómputo, tiempo de consultoría para la instalación y configuración de los equipos, devaluación del equipo de cómputo y nuevo personal para operar y soportar los nuevos equipos todo lo anterior sin contemplar el consumo de tiempo para habilitar dicha infraestructura.
  2. Incremento de capacidad. Las empresas se ven beneficiadas con el cómputo en la nube por esta característica puesto que al contratar servicios se este tipo pueden soportar las demandas de procesos estacionales sin prever capacidad de cómputo adicional en las estaciones donde se encuentran los picos o incluso soportar picos inesperados en los procesos de negocio.
  3. Finanzas. Las empresas así mismo, se ven beneficiadas al cambiar capital de inversión por gastos operativos y así evitar una posible descapitalización para realizar inversiones de adicionales sobre los procesos que conforman la cadena de valor de un negocio.

Factores de Éxito para Desplegar el Cómputo en Nube dentro de las organizaciones

De acuerdo a un estudio de 314 organizaciones de diversas industrias en las que se incluyen la manufactura, finanzas, logística, TI y educación publicado por la revista “Communications of the ACM” (Gary Garrison, 2012)  se han detectado los factores de éxito que inciden en la implementación del cómputo en la nube dentro de las organizaciones que son:
  1. Relacional. La organización tiene que tener confianza en su proveedor de cómputo en nube para conseguir apoyo en su implementación que debe reflejarse en confianza, confiabilidad y trabajar en los mejores intereses del cliente. Es de destacar en este aspecto que la confianza mutua entre clientes y proveedores de cómputo en nube es un buen predictor del éxito dentro de una implementación en el cómputo en nube dada la confidencialidad de información que se comparte en un esfuerzo de este tipo tal como se mencionó en la sección Tipos de Nubes.
  2. Técnico. Una organización con capacidades tecnológicas únicas pueda responder a los cambios tecnológicos del momento y con antecedentes previos generar economías de escala a través de la tecnología pueden llegar a generar una ventaja competitiva con cómputo en nube puesto que puede adoptar rápidamente este enfoque. En este mismo sentido cuando el cliente tiene capacidades técnicas fuertes mayores serán las economías de escala generadas a través del cómputo en nube.
  3. Administrativo. La implantación de un nuevo sistema dentro de la organización es una tarea completamente administrativa puesto que tiene que coordinar las actividades asociadas con el esfuerzo de implementación y dichas actividades son críticas para lograr el beneficio del cómputo en nube. Las actividades administrativas incluyen aquellas que son técnicas y de negocio así como el conocimiento específico de la organización. Una buena administración debe explotar las ventajas del cómputo en nube a través de las unidades de negocio para mejorar el desempeño mientras que se minimizan los gastos en tecnología y maximizar las economías de escala.
  4. Cultural. La nube nos es para cualquier cultura, a lo largo de varios años en mí país, la mayor barrera para la adopción  de la nube ha sido la cultura empresarial y las luchas de poder dentro de las organizaciones. Así mismo, esta cultura ha perrneado en las licitaciones de proyectos limitando la adopción de estas tecnologías.
De acuerdo a lo expuesto anteriormente es altamente recomendado que las organizaciones interesadas en adoptar un esquema de cómputo en nube primero revise sus capacidades técnicas, administrativas y relaciones con sus proveedores de tecnología ya que de esto dependerá en mayor grado el éxito de la implementación del cómputo en nube dentro de la organización y a su vez la organización de se verá beneficiada de la generación de mayores economías de escala. .



Bibliografía

Escalante, B. F. (2010). Handbook of Cloud Computing . En B. F. Escalante, Handbook of Cloud Computing . Springer.
Gary Garrison, S. K. (2012). Success Factors for Deploying Cloud Computing. En ACM, Communications of the ACM (págs. 62-68). New York: ACM Media.
Sosinsky, B. (2011). Chapter 1 - Defining Cloud Computing . En B. Sosinsky, Cloud Computing Bible. John Wiley & Sons © 2011 Citation.
Sosinsky, B. (2011). Cloud Computing Bible . En B. Sosinsky, Cloud Computing Bible . John Wiley & Sons.