Saturday, May 12, 2012

Pay as you go: Cloud Computing


La primera pregunta que nos hicimos al elaborar este blog fue ¿Qué es “Cloud Computing”? así que comenzaremos con una definición formal, es un nuevo modelo de prestación de servicios de negocio y tecnología, que permite al usuario acceder a un catálogo de servicios estandarizados y responder a las necesidades de su negocio, de forma flexible y adaptativa, en caso de demandas no previsibles o de picos de trabajo, pagando únicamente por el consumo efectuado. En términos más coloquiales este modelo propone pagar por los servicios de computo tal como se hace con el servicio de la luz actualmente, es decir, se paga por lo que se consume, rompiendo el paradigma de lo que conocemos como el cómputo tradicional.


Las modalidades de entrega de servicios bajo este esquema son: Infraestructura como servicio, Software como servicio y Plataforma como servicio (IaaS, PaaS y SaaS por sus siglas en inglés respectivamente).

·         IaaS (Infraestructure as a Service): es la capa más baja, por ser una prestación que entrega los medios para el realizar cómputo  y almacenamiento básico, como servicios estandarizados en la red. Servidores, sistemas de almacenamiento, conexiones, enrutadores, y es lo más parecido al pago de hosting de servidores, que conocemos hoy en día. En esta línea el proveedor más conocido es Amazon.

·         PaaS (Platform as a Service): es la segunda capa de este modelo en el que se ofrece todo lo necesario para soportar el ciclo de vida completo de construcción y puesta en marcha de aplicaciones y servicios web completamente disponibles en el Internet, gracias a una red global de centros de datos administrados, mejor conocidos como CDAs. En esta línea tenemos como ejemplo a force.com.
·         SaaS (Software as a Service): es la última capa y la más conocida entre los usuarios comunes, donde se paga  por usar una aplicación desde cualquier computadora. En esta línea tenemos como ejemplo más representativo MS Office 365.



La nube ha sido una evolución y revolución en todo sentido, ya que a nivel público la nube ha revolucionado la forma de concebir los centros de cómputo; mientras que la información sensible a seguridad de las empresas, que se ubica dentro de la nube privada ha tenido lento crecimiento  por lo cual podemos decir que ha tenido una poca evolución. Como nube pública, se entiende como la eliminación de costos de adquisición, mantenimiento y actualización de infraestructura, plataforma y software dentro de una empresa, compartiendo estos servicios con otros usuarios o empresas para la disminución de costos, tercerizando a un proveedor; como el caso del outsourcing de recursos humanos, donde el usuario no se preocupe por donde está almacenando su información, solo por tenerla siempre disponible. En contraste la nube privada es costear los servicios antes mencionados por una sola entidad, para asegurar la confidencialidad de su información. Este último esquema es el más utilizado por instituciones financieras. A partir de estos dos conceptos podemos definir una tercera, la híbrida que combina las ventajas de ambas.



Como parte de los retos de este nuevo modelo, la nube trae consigo la necesidad de almacenar grandes cantidades de datos para poderlos transformar rápidamente en información con valor agregado, así nace el “Big Data”, el cual contempla las enormes cantidades de datos que generan empresas, usuarios y dispositivos principalmente móviles, que han experimentado un crecimiento exponencial que requerirá en un futuro cercano su análisis para obtener ventajas competitivas. La clave de la productividad de las empresas será transformar  sus datos “Big Data” en inteligencia de negocios (BI). Como ejemplo de este caso tenemos a Twitter, el cual está basado en Windows Azure Storage(WAS), que es una base de datos no relacional, donde no hay límite alguno para el almacenamiento de datos, la cual genera inteligencia de negocios en cuestión de segundos para generar sus “Trending Topics”(TT).
 
 

Para manejar grandes volúmenes de información, como el “Big Data”, es necesario cambiar la tendencia de las bases de datos como se ha manejado en los últimos años, utilizando ahora bases de datos no relacionales, donde nos preocuparemos más por el tiempo de la consulta que por la transaccionalidad o indexado de los datos.


 
Bajo este nuevo esquema, “Governance” adquiere otro sentido, ya que todo este proceso debe ser pensado cual será la mejor opción para administrar tus propios datos dentro de la nube. Para establecer “Governance”, los componentes de tecnología deben ser desarrollados y usados acorde a políticas y procedimientos establecidos para asegurar que provean suficiente valor a la organización y sean controlados y mantenidos apropiadamente; aunque en la actualidad tendremos que adaptar las políticas presentes hacia la nube y sus diferencias con el cómputo tradicional.
 
 
La inclusión de técnicas y reglas para controlar como se administran los sistemas asegura la efectividad de “Governance”, este debe estar totalmente integrado con el negocio acerca de las preocupaciones de las organizaciones y como la gente debe trabajar en conjunto para alcanzar las metas del negocio a través de la tecnología. El mejor “Governance” ocurre cuando la tecnología y el negocio trabajan simultáneamente, para la implementación de estas políticas debemos incluir estándares de programación, diseño, monitoreo, etc.; entender las necesidades de negocio y el cómo regularlos; establecer mejores prácticas.


Como cualquier producto nuevo deseamos encontrar diversas ventajas en la novedad, pero aún dentro de estas ventajas encontraremos algunos defectos que no nos satisfará el producto al 100%. Aún podemos decir que el cómputo en la nube está en una fase de desarrollo y crecimiento, por lo cual esperamos que como cualquier producto vaya perfeccionándose a través del tiempo.


 
Los beneficios son muy palpables, ya que en la parte de implementación, se puede integrar los nuevos servicios de una compañía con mayor rapidez. Otro beneficio importante es la réplica o la disponibilidad de los servicios a nivel mundial, previniendo cualquier desastre natural o error humano, tendremos un tiempo de inactividad menor al tradicional obteniendo una disponibilidad mayor de 99%. Las actualizaciones de las infraestructuras tecnológicas, se da muy constante y rápidamente en el medio de la computación, y se considera como un punto débil desde el punto del director de finanza, ya que la devaluación de los equipos de cómputo son muy rápidos; con los servicios de la nube la relación de costo/producto es menor.
       



                         Pero tenemos algunas desventajas, la más importante de ellas es la centralización de las aplicaciones y el almacenamiento de los datos que nos conlleva a una dependencia al 100% de  nuestro proveedor de servicios en la nube. Al tener nuestros servicios a distancia siempre tendremos que depender de nuestra velocidad de internet y nuestra posibilidad de accesar a internet. El segundo punto más importante a nuestra consideración es el de las políticas de las empresas o las leyes gubernamentales de un país, donde se han preocupado por la vulnerabilidad de nuestros datos. Actualmente los servidores de la nube pública solo se encuentran disponibles en algunos países, por lo cual será necesario adecuar las leyes y políticas para permitir este nuevo cambio para almacenar la información más allá de nuestras fronteras, pero con la seguridad de que no será sustraída o robada.




Un punto importante a desarrollar sería la maduración del concepto del cómputo en la nube, donde los costos tendrán que disminuir al paso del tiempo para que este servicio sea más popular, pero sin descuidar el performance que actualmente brinda. ¿Será que los proveedores están preparados para tener un crecimiento exponencial de usuarios?
 
 
Bueno, ya hemos pasado por varias aristas del concepto del cómputo de la nube (CC), el tema se pone cada vez más interesante, pues no todo es miel sobre hojuelas con este modelo, como todo aquello que rompe un paradigma y plantea una forma distinta de hacer las cosas, surgen nuevos cuestionamientos, nuevos retos y se acentúan algunas preocupaciones; fácilmente podríamos preguntarnos cosas cómo: ¿no estamos regresando al cómputo centralizado de la década de los 80´s?, ¿Será esto un vino viejo en una nueva botella?, ¿Será solamente un invento mercadológico para vender más servicios de tecnología?, ¿Dónde está mi información?, ¿Quién tiene acceso a ella?, ¿Qué tan seguros están mis datos y qué sucede con la confidencialidad de la información y la propiedad intelectual? ¿Los departamentos de TI se harán irrelevantes?
 
 
Contestemos estas preguntas reflexionando un poco sobre como fue evolucionando la computación: Arrancamos en la época de los mainframes de los años 80’s donde IBM era el amo y señor de la computación, en esta época la tecnología era alcanzable económicamente sólo para enormes corporativos el tener un servidor y capacidad de cómputo para la inmensa mayoría organizaciones era impensable, de esta época notemos que el modelo de cómputo era el centralizado. Al pasar de los años, cuando la tecnología avanza, surgen las computadoras personales, el poder de cómputo se traslada ahora a los escritorios y se hace costeable para un mayor número de clientes, en este momento surgen el modelo cliente servidor pues había que aprovechar las capacidades de las PC’s y con ello surgieron muchas herramientas conocidas hasta nuestros días como los manejadores de bases de datos, software de programación y el middelware. La tecnología sigue avanzando y abaratándose, surgen los conceptos de virtualización de servidores, de escritorios y por supuesto el tema central de este blog, el cloud computing, así pues, somos testigos de que existe una tendencia natural por volver al cómputo centralizado con la diferencia de que los costos son alcanzables por casi cualquier empresa.


 
            Tal ha sido el interés por el Cloud Computing y sus ventajas que existen en internet diversos lugares dónde la gente intercambia opiniones, dudas y experiencias en torno a ello, un ejemplo de esto es el espacio de grupos de Google donde al día de hoy hay más de 325 entradas de casos de uso desarrollándose.



 
            Para responder a las preguntas que tienen que ver con preocupaciones de seguridad, hemos concluido que el “Cloud computing” se contrapone con algunos de los principios básicos de la computación, como pueden ser la flexibilidad y escalabilidad, ya que como bien sabemos la seguridad es inversamente proporcional a la operación. En este caso la abstracción del hardware impide a las organizaciones trabajar con un nivel de seguridad y control; por lo que para trabajar bajo este esquema se deben contemplar controles de acuerdo a la nube, como parte de un esfuerzo para asegurar la información de las organizaciones en la nube, la Cloud Security Alliance (CSA) definió una guía de referencia para conocer las  implicaciones que tiene migrar a la nube.


Otro punto importante que les preocupa a todos es el del dinero, ya que es realmente viable este nuevo esquema, como todo negocio siempre debemos analizarlo desde nuestro punto de vista,  ya que una mala decisión de arquitectura nos hará gastar demás en la nube cuando el costo pudo haber sido menor. Hoy en día hemos podido ver que ha tenido una disminución de costo, con el propósito de atraer más clientes, como el caso de la telefonía donde al principio fue cara y poco a poco fue disminuyendo su costo. Aquí viene el concepto “Pay as you go”, paga por lo que realmente consumes, donde si tus procesos tienen una poca actividad pagarás solo por esas transacciones mientras tu negocio crece tu actividad crecerá también.


Lo que es innegable es que los estándares para cómputo en la nube están aún madurando en muchos aspectos, todavía hay huecos en lo que respecta a la interoperabilidad entre distintos proveedores de servicios de nube y sin lugar a dudas dónde hay mucho que avanzar es en el aspecto legal. Tomemos en cuenta en que un proveedor de CC podría tener acceso a nuestros datos e inclusive trasladar la información a servidores en el extranjero, por lo tanto, para no atentar contra la propiedad intelectual de la información, es importante tomar en cuenta las soluciones jurídicas existentes antes de contratar a un proveedor de CC.  Se deberá analizar minuciosamente los términos y alcances de las cláusulas que traten el tema de localización geográfica de los datos, así pues, como mínimo debe aclararse contractualmente la propiedad de los datos, el acceso a los mismos (quién, cuándo, dónde y cómo), mínimos y máximos de retención, procedimientos para la devolución y destrucción de los datos, auditorías, segregación y requisitos de seguridad, régimen de titularidad de derecho sobre las creaciones intelectuales que se incluyan, y finalmente, penas por incumplimiento.


Conclusión general
 
 
El mayor miedo al cambio de paradigma que propone el modelo de CC es a la pérdida de control por el hecho de depender de otras entidades para la entrega de nuestros servicios, pero seamos honestos, lo cotidiano no es que cada uno de nosotros tenga su propia planta de energía eléctrica para hacerse llegar del servicio de luz. Lo que se ve venir es que los departamentos de Tecnología de Información en las organizaciones que no evoluciones estarán destinados a morir, el reto ahora es convertirse en un socio estratégico para la organización, una especie de bróker en casa, que entiende perfectamente las necesidades del negocio y que pueda dirigir adecuadamente la estrategia con la que se interactuará con los diversos proveedores de servicios en la nube; las labores de arquitectura empresarial y governance se deben enfatizar, al grado de hacerse prácticamente imprescindibles.