Llegamos a ustedes gracias a:



Columnas de opinión

El caso contra el Cloud Computing: Cuarta parte

Por: Bernard Golden, CEO de la consultoría HyperStratus

[10/04/2009) En las entregas previas de esta serie, escribí sobre las objeciones más comunes a la computación en la nube: la dificultad de migrar aplicaciones existentes, la gestión de riesgo y el cumplimiento de los SLA. En esta ocasión, me gustaría ocuparme de un punto que también suele mencionarse reiteradamente: que lejos de ahorrarles dinero a las organizaciones, en realidad, el cloud computing sale más caro que suministrar los mismos servicios internamente. 

Por lo general, quienes hacen este comentario suelen referirse a la plataforma Amazon EC2, es decir: servidor Linux (15GB memoria, ocho unidades de cómputo EC2 (cuatro cores virtuales con 2 EC2 unidades de cómputo cada uno); 1690G de almacenamiento (cuatro por 420GB más 10GB de partición para el root) plataforma a 64-bit I/O Performance: alta (costo: 80 centavos de dólares la hora o  576 dólares al mes). La versión con Windows es aún más cara: Con Windows Server 2003, Microsoft Authentication Services, y SQL Server cuesta 3,20 dólares la hora o 2.304 dólares al mes. Si comparamos un paquete de similar tamaño para Windows, sin el software adiciona, el costo sería de 1,20 dólares por hora o 864 dólares al mes.
Por comparación, las versiones más pequeñas de Amazon (1.7 GB de memoria, 1 unidad de cómputo EC2 (1 core virtual con una unidad de cómputo EC2), 160GB de almacenamiento, plataforma a 32 bits) sale a 10 centavos de dólar la hora o 72 dólares al mes para Linux, y 12 centavos la hora o 90 dólares al mes para Windows.
Sin duda, es evidente que las versiones más grandes de Amazon EC2 son sumamente costosas. De otro lado, estamos hablando de máquinas bastante robustas, lo suficiente como para asumir sofisticadas tareas de cómputo. Para muchos sistemas más ligeros, el costo suele ser menos oneroso. Así que la conclusión no es complicada: el costo mensual varía de acuerdo a la capacidad que uno necesite comprar. A más capacidad, más gasto, y viceversa.
De todas maneras, pese a la obvia conclusión, el argumento que da origen a este artículo sostiene que, para operaciones equivalentes, Amazon resulta más costoso que las demás alternativas disponibles. Al respecto, un conocido me comentó que aun si una organización de TI no desea alojar una máquina, siempre podía recurrir a un proveedor externo. Para él, lo real es que, de todas maneras, la propuesta de Amazon termina siendo más cara que las vías tradicionales de obtener capacidad de cómputo. 
Su opinión se basa en algo que resulta obvio: ¿2.300 dólares al mes por un servidor Windows? Sin duda sale más caro que una caja Windows en el data center!!! ¿Después de todo, cuánto puede costar un servidor? ¿1.500 dólares? ¿Tal vez 2.000 dólares? Si optamos por una licencia Windows Server y una SQLServer no llegaríamos a rebasar los 10,000 dólares, ¡frente a los 25 mil dólares anuales de Amazon! E incluso si las operaciones no son el punto fuerte de una organización de TI, siempre se podrá acudir a un outsourcer que, como todos sabemos, puede resultar sumamente barato.
Saque bien la cuenta
La pregunta que surge al evaluar los (presuntamente) altos costos de Amazon EC2 es: ¿comparados con qué? En otras palabras, para afirmar que Amazon (o alguno de los otros proveedores de la nube) es más caro que un proceso interno o de outsourcing, debemos saber exactamente cuánto cuesta correr una máquina internamente o a través de un proveedor de outsourcing. Y, pese a la opinión expresada por mi colega, yo dudo que alguien conozca realmente esos costos. De hecho, inclusive osaría decir que, en realidad, la mayoría de organizaciones de TI no tienen mayor idea respecto a los costos reales que implica, digamos, correr un servidor del tipo rack 1U. Como no es lo mismo tener una idea aproximada de la cifra que conocerla cabalmente, decidí investigar un poco al respecto.
Esto es lo que descubrí.
Primero, acudí a la herramienta de búsqueda favorita de todo el mundo: Google. Ahí encontré una corriente bastante popular de cálculo, conocida como Activity-based Costing (ABC por sus siglas en inglés). Mientras seguía mi MBA ya había aprendido algo al respecto, así que seguí investigando. Hay toneladas de material sobre la aplicación del ABC en diversas áreas, especialmente en manufactura (a propósito, ABC es la voz: puede resultar realmente revelador en cuanto al costo requerido para producir un determinado tipo de mercadería o servicio). Pero, me fue imposible encontrar un solo ejemplo del ABC aplicado a las TI. Nada. Cero. O las TI no representan una aplicación interesante del ABC, o es demasiado complicado usarlo en ese campo. El hecho es que no existe.
Acto seguido, acudí a la segunda herramienta de búsqueda preferida de todo el mundo: el vox populi, en este caso expresado a través de LinkedIn. Publiqué  un post preguntando si alguien sabía de algún buen estudio sobre costos internos de organizaciones de TI vs. costos de outsourcing.
Recibí una serie de respuestas e incluso conversé con mi amigo David Moufarrege, un profesional con amplia experiencia en outsourcing y, específicamente, en precios de outsourcing. Le pregunté sobre su experiencia en este tema y me contestó que uno de las principales problemas que su compañía había tenido que enfrentar a la hora de proponer tarifas, es que la organización de TI que las solicitaba generalmente no comprendía la estructura de costo.
Las organizaciones de TI hacían sus cálculos en base a una cantidad de máquinas, les asignaban un costo aproximado,  le sumaban los gastos de personal y elaboraban un costo general. La compañía de David tenía que hacerles ver que las máquinas necesitaban licencias de software, programas de administración, etc., etc., y recién entonces asomaba un panorama real de costos.
Desde el punto de vista del outsourcing, le pregunté a David cómo hacían para establecer cuánto les costaba correr un conjunto de máquinas, y así sucesivamente hasta tener una propuesta concreta qué presentar. Me respondió que por lo general el cálculo del precio estaba basado en la paridad, es decir que la cifra final suele ser una comparación con los propios costos de la compañía de TI (luego de pasar por una serie de ajustes pertinentes, como me explicó posteriormente). Al final, me quedé con la impresión de que, en realidad, el slogan del outsourcing es "Mismo caos por menos plata".
Los proveedores de outsourcing establecen un costo de ejecución para las tareas que las organizaciones de TI ya están realizando por sí mismas, plantean una oferta un poco inferior a ese monto y basan su expectativa de ganancia en la posibilidad de dividir los costos laborales entre varios clientes. Por ejemplo, si un administrador de bases de datos Oracle (DBA por sus siglas en inglés) gestiona los sistemas de cuatro empresas distintas, lo que cada empresa debe pagarle a ese DBA -1/4 del salario más el margen de beneficio del outsourcer- es mucho menos de lo que les costaría contratar su propio administrador Oracle por separado.
Cuando le pregunté a David cuánto costaría un sistema individual (a fin de establecer una comparación de costos más equitativa con Amazon, que es la idea original de este ejercicio), me indicó que los proveedores de outosurcing hacen todo lo posible por evitar un acuerdo que incluya algo como un menú de precios y, en cambio, apuntar a presentar un precio general, excluyendo de esta manera la posibilidad de que la organización de TI compare cifras (esto último me permitió confirmar uno de mis viejos axiomas: "a todos les encanta la transparencia pero en el negocio del vecino). En el fondo, también existe la posibilidad de que ni siquiera los propios outsourcers sepan realmente cuánto cuesta correr un solo equipo. De hecho, una de las respuestas a la pregunta que posteé en LinkedIn me sugería conversar con alguien que trabajara en una de estas grandes firmas de outsourcing, dado que su función consiste justamente en proyectar los costos reales de su servicio.
Como si no bastara con el evidente problema que surge al intentar comparar los precios de Amazon con los precios de una gestión interna -falta de información concreta sobre los costos directos reales y poca transparencia en el lado de los costos del outsourcing-, hay otro obstáculo que sortear. Al comparar el cálculo aproximado de los costos internos  (si correr un servidor tipo rack 1U cuesta alrededor de 1.500 dólares, y un administrador de servidores puede gestionar cerca de 25 máquinas, súmele 4% del costo de un administrador al costo de la máquina) con los costos de Amazon, tenemos que la comparación está basada en el costo marginal de Amazon versus el costo de un servidor interno o de outsourcing.
¿Y? Pues que hay todo un rango de costos indirectos que no se han considerado en este cálculo: (1) el costo del personal extra que se necesita para el proceso de elegir, comprar e instalar un servidor -técnicos internos para hacer los cálculos y para las diferentes ofertas de hardware, personas aptas para negociar la compra del equipo, costos internos y externos por concepto de diseñadores de bases de datos, administración de las instalaciones, etc.; (2) demás personal técnico requerido para el mantenimiento y la administración de un data center, una red y otras gestiones de información, etc.; y (3) personal a cargo de contabilidad y contratos para llevar registro de las diferentes licencias, locación de servicios, etc. Hay innumerables costos indirectos asociados con las TI que nunca son considerados como parte del cálculo del costo de un servidor individual pero que, en cambio, se suman a los costos de la estructura de la organización de TI o de la compañía misma.
A propósito, muchos de estos costos seguirán surgiendo aunque se haya contratado a un outsourcer, solo que en lugar de que el departamento de contabilidad maneje un contrato con proveedor particular de hardware, hará lo propio con un contrato de outsourcing. Valga mencionar que estos costos indirectos son justamente lo que el ABC trata de identificar y calcular; la falta del ABC dentro de las TI es un buen indicador de que, en realidad, nadie hace un buen trabajo definiendo los verdaderos costos marginales de los recursos de TI suministrados internamente. 
Y eso que todos los costos mencionados hasta el momento no incluyen el que bien  podría ser el más elevado de todos: el costo del tiempo que invierte un equipo de administración senior -definiendo perfiles para la gente que se encargará de las operaciones, de la implementación del data center y de la tercerización de servidores, etc., etc.-, en lugar de buscar la forma de usar la tecnología para cumplir el principal objetivo del negocio: vender más, reducir costos operativos, mejorar la comunicación entre clientes y socios, y otros asuntos similares. Cada minuto invertido en revisar una licitación para contratar  otra serie de servidores, es un minuto que se dedica a encontrar maneras de aplicar las TI para obtener ventajas competitivas de negocio.
Las ventajas del costo en la nube
Por todas estas razones, es un error tomar el precio de Amazon, calcular costo aproximado de un servidor y llegar a la conclusión de que Amazon es más caro. Además, Amazon (al igual que sus primos de la nube) ofrece las siguientes ventajas:
- Un sistema transparente para fijar precios: el usuario sabe cuánto tendrá que pagar por hora de servidor. El precio es público, así que nada de sorpresas. Y si uno decide hacer algún cambio, puede calcular el nuevo precio, algo que no ocurre con los contratos de outsourcing donde los proveedores aprovechan las órdenes de cambio para tratar de inflar sus márgenes.
- Conociendo el precio, es posible calcular el costo mensual. No subestime las bondades de la certeza. La mayoría de nosotros compramos paquetes de telefonía celular que ofrecen más  minutos de servicio de los que realmente necesitamos; y esto ocurre porque preferimos saber desde ya cuánto tendremos que pagar al final del mes.
- La compra es fácil: lo único que se necesita es una tarjeta de crédito. No hay que aguantar las visitas del equipo de ventas, crear licitaciones, comprar máquinas, etc., etc. Así, se reduce significativamente el lapso que transcurre la toma decisión y el momento en que se pasa a la acción, y la agilidad organizacional resulta ciertamente favorecida.
Y, en realidad, el precio es barato: desconozco las tarifas de electricidad en su región, pero en Silicon Valley, donde yo vivo, tengo entendido que encender una máquina cuesta menos de diez centavos de dólar por hora; súmele el precio de la máquina y los demás costos que hemos revisado, y verá que Amazon bien puede ser más barato en un enfoque de precio/hora.
Entonces, ¿qué hacer si queremos dar el salto a Amazon pero nos preocupa la ecuación costo/beneficio? Algunos consejos:
1. No recargue los suministros de su sistema de recursos: a diferencia de las máquinas internas, donde la consecuencia de tener suministros insuficientes es un servidor estropeado y un desembolso extra para un servidor más grande, con Amazon es fácil actualizar la capacidad del sistema. Así que empiece de a pocos, y si necesita elevar sus requerimientos, hágalo.
2. Busque aplicaciones que aprovechen realmente la facilidad de uso de Amazon: las instancias EC2 pueden desactivarse e incluso eliminarse sin mayor complicación, de manera que no hace falta tenerlas encendidas y corriendo todo el día. A diferencia de un data center -donde una vez que el servidor ha sido instalado resulta más fácil mantenerlo funcionando que conectarlo y desconectarlo-, Amazon es ideal para las aplicaciones que se usan de manera transitoria o temporal. Por ejemplo, una empresa en la que trabajé tenía una aplicación en la que se requería evaluar un sistema con cien niveles simultáneos de browsers. La compañía activó 100 instancias de Amazon EC2, corrió un script de browser en cada una durante la noche y al día siguiente procedió con el test, permitiendo así que se desactivaran las instancias y se descartaran los sistemas. Todo esto tomó tres días. Imagínense cuánto hubiera tomado hacer lo mismo en un entorno tradicional de TI. Mejor aun: el costo total de la simulación fue de 100 dólares.
3. Haga su propio cálculo: Escoja una aplicación de menor importancia, mígrela a EC2 y calcule el costo. Use la aplicación con el mismo rigor e intensidad que si estuviera en su data center. Saque la cuenta de lo que le cuesta en EC2 y compárela a lo que le costaría si corriera en el sistema interno. Esa es la mejor manera de establecer los costos internos y los de nube.
Es un error evaluar aisladamente los costos del cloud computing. El criterio adecuado es basarse en el costo general de la gestión de la capacidad de cómputo de un servidor. Es entonces que las presuntas desventajas de costo del cloud computing se vuelven mucho menos consistentes.
Bernard Golden es CEO de la firma de consultoría HyperStratus, que se especializa en virtualización, cloud computing and temas afines. También es autor del libro Virtualization for Dummies, un best seller en este tema.
CIO.com