You are on page 1of 15

WINDOWS AZURE Y LOS ISV

GUA PARA LOS ENCARGADOS DE TOMAR DECISIONES

DAVID CHAPPELL JULIO DE 2009

PATROCINADO POR MICROSOFT CORPORATION

CONTENIDO
Los ISV y la informtica cloud .............................................................................................................. 2 Breve visin general de Windows Azure .............................................................................................. 3 Tecnologa .......................................................................................................................................... 3 Modelo comercial ............................................................................................................................... 6 Utilizacin de Windows Azure: algunas opciones para los ISV.............................................................. 7 Utilizar el almacenamiento cloud desde su aplicacin interna ............................................................. 7 Combinar la informtica cloud con su aplicacin interna ..................................................................... 8 Crear una versin SaaS de su aplicacin .............................................................................................. 8 Ofrecer servicios de soporte para las plataformas cloud .................................................................... 11 Comparacin de Windows Azure con alternativas ............................................................................. 12 Hosting tradicional ........................................................................................................................... 12 VM a pedido ..................................................................................................................................... 13 Conclusiones .................................................................................................................................... 13 Acerca del autor ............................................................................................................................... 14

LOS ISV Y LA INFORMTICA CLOUD


Por qu un proveedor de software independiente (ISV) debera considerar la informtica cloud? La respuesta es sencilla: utilizar la informtica cloud puede aumentar los ingresos de un ISV y/o reducir sus costos. Ejecutar cdigos y almacenar datos en PC que cuentan con grandes centros de datos con acceso desde Internet de un tercero pueden ofrecer ventajas convincentes. Cualquiera que sea responsable de planificar el curso para un ISV debe pensar seriamente sobre cmo la informtica cloud afectar sus negocios. Una opcin para un ISV que desea beneficiarse con la informtica cloud es aprovechar Windows Azure. Diseado para admitir aplicaciones confiables y de alta escalabilidad, Windows Azure es la tecnologa de plataforma cloud representativa de Microsoft. Este documento muestra cmo y por qu los ISV podran utilizar Windows Azure. El objetivo es aclarar por qu la informtica cloud resulta importante para los ISV y describir la forma en que podran utilizar esta nueva plataforma. Antes de analizar este tema, es conveniente resumir algunas de las principales ideas. A continuacin se mencionan los puntos clave que se deben comprender:

Un objetivo principal de Windows Azure es ser una plataforma en la que los ISV puedan crear aplicaciones de software como servicio (SaaS). Los clientes se interesan cada vez ms en tener una opcin SaaS para el software que adquieren. Para cubrir esta exigencia y ajustarse al ritmo de la competencia, muchos ISV optarn por ofrecer una versin SaaS de sus productos actuales o futuros. Crear una aplicacin SaaS requiere la creacin de un servicio basado en cloud altamente escalable y confiable que pueda utilizarse por muchas organizaciones de los clientes. Generar su propia base para esto no resultara ms conveniente que generar su propio sistema operativo para una aplicacin interna. Al igual que Windows proporciona una base para las aplicaciones internas tradicionales, Windows Azure puede ofrecer una base para las aplicaciones SaaS. La informtica cloud no necesita ser una propuesta todo o nada y, por lo tanto, las aplicaciones SaaS no son la nica opcin. Una aplicacin interna existente puede mejorarse gracias a la funcionalidad basada en cloud, como ejecutar algn cdigo o almacenar un subconjunto de datos en Windows Azure. Este enfoque en aumento para utilizar una plataforma cloud puede ahorrar dinero y mejorar la funcionalidad de una aplicacin actual. Tambin puede ofrecer una forma poco riesgosa para obtener experiencia con esta nueva clase de tecnologa. Las plataformas cloud no resultan tiles solo para las empresas que crean aplicaciones para usuarios finales. Si usted es un ISV que ofrece complementos de infraestructura o asistencia a desarrolladores para el entorno de Windows interno, es posible que tambin encuentre productos de valor agregado para crear para Windows Azure. Ya que cada vez ms la informtica migra al cloud, encontrar estas nuevas ofertas puede resultar una forma muy importante para mantener su flujo de ingresos. Una plataforma cloud como Windows Azure es distinta al hosting tradicional. Desde una perspectiva tcnica, Windows Azure proporciona una administracin ms sencilla, as como tambin servicios diseados para crear aplicaciones escalables y confiables. Entre las diferencias comerciales se incluyen un compromiso inicial mnimo y formas ms fciles de aumentar y reducir los

recursos informticos que utiliza su aplicacin. Estas diferencias implican que Windows Azure posiblemente puede ofrecer una mejor tecnologa y reducir costos para las aplicaciones de los ISV. Al principio, es posible que Windows Azure se utilice para admitir las aplicaciones actuales en el cloud. Sin embargo, es conveniente resaltar que las plataformas cloud ofrecen servicios que nunca antes hemos visto, como acceso a una gran cantidad de CPU de bajo costo y almacenamiento de datos de alta escalabilidad. Junto con el soporte del entorno que ya conocemos, deberamos esperar a ver ISV creativos que encuentren formas de realizar cosas totalmente nuevas con este nuevo tipo de plataforma.

BREVE VISIN GENERAL DE WINDOWS AZURE


Tomar buenas decisiones sobre cmo utilizar Windows Azure requiere una compresin bsica de la plataforma. Esta seccin ofrece una visin general de la tecnologa y su modelo comercial asociado.

TECNOLOGA
Windows Azure cuenta con 3 partes principales: un servicio de informtica que ejecuta aplicaciones, un servicio de almacenamiento que almacena datos y una estructura que admite los servicios de informtica y almacenamiento. El Grfico 1 muestra este desglose.

Grfico 1: Windows Azure cuenta con 3 partes principales: el servicio de informtica, el servicio de almacenamiento y la estructura de la que ambos dependen. Para utilizar el servicio de informtica, un desarrollador crea una aplicacin de Windows. Es posible que esta aplicacin se escriba utilizando C# y .NET Framework, C++ y las API Win32 o de otra forma. Sin importar cmo se cree, la aplicacin debe implementarse como roles web, roles de trabajo o ambos. El Grfico 2 demuestra esta idea.

Grfico 2: las aplicaciones creadas en el servicio de informtica de Windows Azure pueden consistir en instancias de rol web, instancias de rol de trabajo o ambas. Como lo sugiere el nombre, una instancia de rol web acepta pedidos web. Puede crearse a travs de ASP.NET u otra tecnologa que trabaje con Internet Information Services (IIS). Cualquiera sea la tecnologa que se utilice, Windows Azure ofrece balanceo de carga de hardware integrado en todas las instancias de rol web en una aplicacin especfica. Para las funciones que no estn destinadas a responder directamente a pedidos web, una aplicacin de Windows Azure tambin puede incluir instancias de rol de trabajo. Una instancia de rol de trabajo es tan slo una aplicacin con un main() y puede ejecutarse de forma indefinida. Entre otras cosas, este modelo permite crear aplicaciones escalables en donde las instancias de rol web aceptan pedidos, luego los transfieren a las instancias de rol de trabajo para que sean procesados. Y mientras que las instancias de rol web y de trabajo son aplicaciones comunes de Windows, algunas funciones, como el inicio de sesin, requieren acceso directo a Windows Azure. Para permitirlo, las aplicaciones pueden acudir directamente a un agente de Windows Azure, como se muestra en el Grfico 2. Advierta que cada instancia, ya sea el rol web o el rol de trabajo, se ejecuta en su propia PC virtual (VM). Esto ofrece aislamiento, lo cual permite que las aplicaciones de Windows Azure se ejecuten con total confianza, y tambin permite una visin ms clara de su rendimiento, pues existe un plan definido entre las VM y los ncleos de los procesadores. Pero un desarrollador no crea VM de forma explcita. Por el contrario, carga una aplicacin a Windows Azure, junto con un archivo de configuracin XML que especifica cuntas instancias de rol web y de trabajo deberan ejecutarse. Una vez que esto se realiza, Windows Azure crea la cantidad necesaria de VM y luego monitorea su ejecucin. En caso de fallar una instancia, Windows Azure iniciar una nueva, lo cual garantiza que la cantidad especificada de instancias de rol web y de trabajo siempre se encuentra en funcionamiento (esto se realiza a travs del Controlador de estructura, el software que se encarga de todas las PC en una instancia especfica de la estructura). Para aumentar o reducir la cantidad de instancias en funcionamiento, el dueo de la aplicacin puede

cambiar el valor de cualquier tipo de instancia en la configuracin de la aplicacin. Windows Azure automticamente crea o cierra VM para ajustarse a esta nueva configuracin. Ya que las aplicaciones de Windows Azure son esencialmente aplicaciones de Windows, no resultara sorprendente que los desarrolladores pudieran crearlas con Visual Studio. Esta herramienta ofrece plantillas para crear aplicaciones cloud como roles web, roles de trabajo o ambos. Windows Azure a su vez ofrece una Estructura de desarrollo, la cual es una copia de Windows Azure que se ejecuta en una PC local. Los desarrolladores pueden utilizarla para crear su cdigo y realizar una evaluacin inicial, luego cargar la aplicacin a Windows Azure cuando se encuentre lista. Por lo general, las aplicaciones necesitan almacenamiento persistente y, por ende, Windows Azure proporciona sus propios mecanismos basados en cloud para almacenar y recuperar datos. La plataforma ofrece tres opciones de almacenamiento, las cuales pueden accederse a travs de GET, PUT y DELETE estndar. El Grfico 3 demuestra esta idea.

Grfico 3: el servicio de almacenamiento de Windows Azure puede accederse a travs de sus aplicaciones o por aquellas que se ejecutan en otra plataforma. Los tres tipos de almacenamiento de Windows Azure son:

Blobs: permiten almacenar grandes objetos binarios, como videos e imgenes. Tablas: ofrecen almacenamiento basado en entidades altamente escalable (no tablas relacionales). Colas: permiten enviar y recibir mensajes, como por ejemplo entre las instancias de rol web y las de trabajo de una aplicacin.

Es importante resaltar que estos tres tipos tambin pueden accederse a travs de aplicaciones que no se ejecutan en el servicio de informtica de Windows Azure. Por ejemplo, una aplicacin interna u hospedada puede optar por almacenar grandes archivos de video como blobs de Windows Azure. La plataforma de Windows Azure tambin incluye SQL Azure Database (antes conocida como SQL Data Services). SQL Azure Database ofrece almacenamiento relacional estndar basado en SQL Server, y completo con procesos almacenados y ms. Mientras que una sola base de datos en SQL Azure Database no puede contener tanta informacin como una tabla de almacenamiento de Windows Azure, estas bases de datos proporcionan un modelo de almacenamiento conocido que puede accederse a travs de ADO.NET y otros mecanismos de acceso de datos ampliamente utilizados. Para obtener informacin ms detallada sobre Windows Azure, lea Presentacin de Windows Azure. Para consultar sobre la plataforma completa de Windows Azure (antes conocida como Azure Services Platform), lea Presentacin de Azure Services Platform: visin bsica de Windows Azure, .NET Services, SQL Services y Live Services.

MODELO COMERCIAL
Una atraccin principal de una plataforma cloud, y una de las mayores diferencias del hosting tradicional, es el costo basado en el consumo. Con el hosting tradicional de un centro de datos interno, el dueo de una aplicacin por lo general paga por un conjunto especfico de PC por un tiempo determinado. Para las aplicaciones con carga variable, el conjunto determinado debe ser lo suficientemente extenso para manejar el pico ms alto, lo cual significa que la capacidad disminuye al mnimo en tiempos de poco trabajo. Las plataformas cloud no son as. Por ejemplo, con Windows Azure el dueo de una aplicacin paga por los recursos de almacenamiento e informtica que utiliza. Cuando la carga de la aplicacin es liviana, puede solicitar por ejemplo tres instancias de rol web y dos instancias de rol de trabajo. Cuando la carga es pesada, puede aumentar su solicitud a seis instancias de rol web y cuatro instancias de rol de trabajo. En ambos casos, el dueo de la aplicacin paga slo por los recursos que sta utiliza. El esquema de precios de Windows Azure es relativamente sencillo, con tres principales variables: tiempo de informtica, almacenamiento y acceso de datos y transferencia de entrada y salida de ancho de banda. Para el tiempo de informtica, el dueo de una aplicacin paga un monto fijo por cada hora que funciona una VM. Para los datos, existe un costo fijo por gigabyte por mes, junto con un costo por operaciones con los datos almacenados, como GET y PUT. Para el ancho de banda, el dueo de una aplicacin paga un monto fijo por gigabyte de datos transferidos entrantes y salientes del centro de datos de Windows Azure (no existen costos de ancho de banda para acceder a datos dentro de un centro de datos). Los costos son:

Informtica = $0,12/hora por cada VM en funcionamiento Almacenamiento = $0,15/GB almacenados por mes, $0,01/10.000 operaciones con los datos almacenados Ancho de banda = $0,10/GB transferidos dentro del centro de datos, $0,15/GB transferidos fuera del centro de datos

Las aplicaciones de Windows Azure tambin utilizan SQL Azure Database para almacenamiento. Una vez ms, el costo est basado en el uso, con dos variables: cuntos datos se almacenan y cuntos datos se transfieren dentro y fuera de un centro de datos de Windows Azure. Los costos son:

Edicin web: $9,99/mes para una base de datos relacional con almacenamiento de hasta 1 GB Edicin comercial: $99,99/mes para una base de datos relacional con almacenamiento de hasta 10 GB Ancho de banda: $0,10/GB transferidos dentro del centro de datos, $0,15/GB transferidos fuera del centro de datos

Aunque no se encuentra disponible en la versin inicial de la plataforma, Microsoft afirma que finalmente ofrecer descuentos de precios basados en el acuerdo. Los clientes que desean comprometerse a niveles mnimos de uso especficos advertirn una reduccin en sus costos. Los acuerdos permiten que Microsoft planifique con mayor eficacia y que los descuentos reflejen esos costos ms accesibles. En cuanto a sus otras ofertas, Microsoft tambin cuenta con un programa asociado para Windows Azure. Una parte de esto es Azure QuickStart, que ofrece una ubicacin central para que los ISV y otros socios comiencen a explorar la plataforma de Windows Azure y se conecten con Microsoft y otros clientes mediante esta plataforma. A su vez, la empresa cuenta con una oferta de Acelerador de desarrollo, la cual les proporciona a los ISV que desean firmar acuerdos de seis meses descuentos de precios para uso de desarrolladores de la plataforma Windows Azure. Tambin se encuentran disponibles foros, soporte telefnico y otros servicios tradicionales, lo cual refleja la compresin de Microsoft sobre la funcin esencial que cumplen los ISV al lograr el xito de Windows Azure.

UTILIZACIN DE WINDOWS AZURE: ALGUNAS OPCIONES PARA LOS ISV


Planificar si una plataforma cloud puede mejorar su empresa requiere que considere la forma en que podra utilizarla. De este modo, esta seccin menciona algunas de las formas principales en que los ISV pueden utilizar Windows Azure.

UTILIZAR EL ALMACENAMIENTO CLOUD DESDE SU APLICACIN INTERNA


Tal vez la forma ms sencilla en que una aplicacin de ISV puede utilizar Windows Azure es almacenar datos. Segn lo mencionado previamente, se puede acceder al almacenamiento de Windows Azure desde aplicaciones internas, as como desde aplicaciones de Windows Azure. Por ejemplo, una aplicacin que actualmente realiza copias de seguridad a un sistema de almacenamiento interno puede elegir utilizar los blobs de Windows Azure. Esto puede mejorar la confiabilidad de las copias de seguridad, pues los blobs se replican al menos tres veces, como todo lo dems en Windows Azure. Tambin puede reducir costos, dada la economa de escala que proporcionan los grandes centros de datos de Microsoft. O imagine una aplicacin que ofrezca grandes cantidades de datos a sus usuarios: videos, archivos de audio, entre otros. En lugar de almacenar estos datos de forma local, la aplicacin nuevamente puede elegir utilizar los blobs de almacenamiento de Windows Azure para obtener mayor disponibilidad, disminuir costos, o ambos. Y el almacenamiento de Windows Azure no es la nica opcin. Al utilizar SQL Azure Database, una aplicacin tambin puede almacenar datos relacionales en el cloud. Por ejemplo, una aplicacin que

necesita compartir un conjunto de tablas relacionales en varias instancias ejecutndose en distintas ubicaciones puede traer beneficios, pues los datos se encuentran accesibles en una sola ubicacin. Existen algunas limitaciones (una sola base de datos en SQL Azure Database no puede exceder los diez gigabytes, por ejemplo), por lo cual este servicio no es exactamente como ejecutar SQL Server en el cloud. No obstante, existen algunas posibles ventajas. Gran parte del trabajo que se requiere para administrar una base de datos ya no es necesario con SQL Azure Database, pues Microsoft lo hace por usted. Tambin aumenta la disponibilidad de sus datos porque, al igual que el almacenamiento de Windows Azure, SQL Azure Database almacena tres copias de todos los datos para proteger contra fallas de hardware. El costo de este almacenamiento incluso podra ser ms accesible que el almacenamiento interno, en especial para las ms pequeas empresas. Utilizar la plataforma cloud de Microsoft para almacenar sus datos requiere que confe en ella. La mejor forma de generar confianza es empezar de a poco; luego, si est seguro, puede expandirse desde esa base. Un ISV que considera utilizar Windows Azure o SQL Azure Database puede advertir que utilizar sus servicios de almacenamiento desde una aplicacin interna le permite obtener experiencia con este nuevo enfoque antes de llegar a un mayor compromiso. Puede resultar una forma eficaz de tantear el terreno de la informtica cloud.

COMBINAR LA INFORMTICA CLOUD CON SU APLICACIN INTERNA


Si puede resultar conveniente ubicar los datos de una aplicacin en el cloud, tambin lo puede ser utilizar el cloud para ejecutar algn cdigo de su aplicacin. Por ejemplo, imagine un ISV con una aplicacin que pudiera beneficiarse al crear un mercado en lnea entre todas las empresas que utilizan esta solucin. Crear esta funcin en una plataforma cloud como Windows Azure debera resultar mucho ms rpido y ms accesible que crearla desde el principio. O suponga que una aplicacin interna podra a veces traer beneficios a partir de ms ncleos de procesador para ejecutar cargas intensivas de la CPU. Esta aplicacin podra crear varias instancias de rol de trabajo de Windows Azure para realizar este trabajo, luego las cerrara cuando ya no se necesitan. Como siempre, el cliente debera pagar solo los recursos que utiliza; es decir, las horas en que estas VM con rol de trabajo se ejecutaron. Existen muchas situaciones en las que no resulta prctico migrar por completo una aplicacin existente al cloud. Transportar millones de lneas de cdigo en una plataforma cloud puede resultar demasiado riesgoso, muy costoso e intil. En estos casos, agregar nuevas funciones que se ejecuten en el cloud puede resultar ms til. Debido a que Windows Azure ofrece una plataforma preintegrada para ejecutar aplicaciones cloud, puede simplificar la creacin de este tipo de cdigo.

CREAR UNA VERSIN SAAS DE SU APLICACIN


Ser un ISV siempre ha implicado instalar software directamente en las PC de sus clientes. Con las aplicaciones SaaS, esto ya no sucede. A diferencia del paquete de software convencional, una aplicacin SaaS se ejecuta en un centro de datos con acceso a Internet y, por lo general, se proporciona a los clientes a travs de la Web. Las aplicaciones SaaS pueden ofrecer beneficios reales a los clientes, incluso:

Menor riesgo: a diferencia del paquete de software convencional, las aplicaciones SaaS no requieren una gran inversin inicial. Por el contrario, los clientes en general prueban la aplicacin de forma

gratuita antes de adquirirla, lo cual les permite confiar an ms en que la aplicacin proporcionar valor comercial.

Una estructura de precios ms atractiva: las aplicaciones SaaS comnmente ofrecen precios basados en el uso, como costo por usuario por mes. Esto permite que los clientes comiencen con lo mnimo y luego agreguen usuarios segn sea necesario. Tambin permite reemplazar un gasto de capital (compra de software) por un gasto operativo, lo cual puede resultar atractivo para algunas organizaciones. Implementacin ms rpida y accesible: en lugar de instalar software en PC locales, los usuarios de una aplicacin SaaS por lo general acceden a la aplicacin a travs de un explorador web convencional. Actualizaciones ms sencillas: en lugar de actualizar sus propias copias de un paquete de software adquirido, el cliente de una aplicacin SaaS puede acudir al proveedor de SaaS para actualizar la aplicacin de forma central.

Las ventajas de SaaS son con certeza atractivas para algunos clientes y algunos tipos de aplicaciones. No obstante, este enfoque tambin presenta desventajas, por lo que no es adecuado para todas las aplicaciones. Los ms importantes desafos que enfrentan los clientes SaaS incluyen:

Confiabilidad: Un cliente realmente puede confiar en el proveedor de una aplicacin SaaS? La aplicacin siempre se encontrar disponible? Se le puede confiar al proveedor de aplicaciones datos corporativos confidenciales? Confiar en el proveedor es el ms importante obstculo que enfrentan los clientes con aplicaciones SaaS. Vale la pena destacar que esta confiabilidad tambin debe extenderse a la plataforma cloud en la que se crea la aplicacin SaaS. Problemas reglamentarios y de cumplimiento: los gobiernos requieren que muchas empresas cumplan con varios estndares, como Sarbanes-Oxley, Basel II y otros. En caso de que una aplicacin SaaS (y la plataforma cloud en la que se crea) no cumpla con estas obligaciones, la empresa no puede utilizarla. Personalizacin: los paquetes de software internos tradicionales por lo general pueden personalizarse de varias formas. Las aplicaciones SaaS, por el contrario, en general son de mltiples usuarios, lo cual significa que todos los usuarios comparten una sola copia del software. Mientras que la personalizacin an es posible, por lo general es ms limitada que el paquete de software tradicional. Integracin con aplicaciones internas: una aplicacin SaaS debe ofrecer alguna forma de integrar sus cdigos y datos a la aplicacin interna. Esto incluye integracin de identidades, pues en general los clientes desean un solo inicio de sesin. Administracin: en la actualidad, muchas herramientas internas para administrar y monitorear aplicaciones no trabajan con eficacia con las aplicaciones SaaS. Mientras que es posible que esto cambie, la situacin actual es desmoralizadora para algunos clientes.

Al igual que las aplicaciones SaaS presentan ventajas y desventajas para las organizaciones que adquieren software, tambin ofrecen ventajas y desventajas para aquellas que lo venden. Entre los beneficios que ofrecen las aplicaciones SaaS para los ISV se incluyen:

La posibilidad de realizar ms ventas: ya que los clientes enfrentan menor riesgo y una menor inversin financiera inicial, realizar ventas iniciales puede resultar ms rpido y menos costoso. Las aplicaciones SaaS tambin pueden ser atractivas para nuevas categoras de clientes, como las empresas ms pequeas, debido a que requieren menos conocimiento de TI interno. Actualizaciones de clientes ms sencillas: en lugar de convencer a cada cliente a reemplazar un paquete interno, un ISV puede realizar actualizaciones de su aplicacin SaaS a todos los clientes en una sola vez. Esto puede reducir enormemente los costos de soporte de un ISV, pues ya no existe la necesidad de admitir muchas versiones antiguas de una aplicacin.

No obstante, nada es gratuito y, por lo tanto, la migracin al entorno SaaS tambin presenta algunas desventajas para los ISV. Algunas de las desventajas ms evidentes son:

Un modelo de ventas e ingresos diferente: el dinero comienza a entrar de a poco en lugar aparecer costos de licencia iniciales. Al menos al principio, esto puede implicar menos margen. Menor capacidad de mantener al cliente: sin los costos inesperados de una aplicacin interna adquirida y, tal vez, ampliamente personalizada, los clientes pueden considerar ms sencillo cambiar a un competidor. Menor ingreso de servicios de la personalizacin: los ISV que derivan una importante porcin de sus ingresos de los servicios de personalizacin pueden advertir una reduccin de estos ingresos en las aplicaciones SaaS. Desafos tcnicos: crear una aplicacin SaaS requiere una habilidad tcnica diferente de aquella que ya tienen muchos ISV. En lugar de crear software interno conocido, su organizacin de desarrollo ahora debe crear una aplicacin compartida altamente escalable y confiable. A su vez, debido a que Windows Azure no siempre funciona de forma idntica al entorno de Windows Server, es posible que se requieran algunas modificaciones del cdigo existente. Por ejemplo, mientras que Windows Azure realiza balanceo de carga de pedidos en las instancias de rol web de una aplicacin, no admite afinidad de sesiones. Esto permite una mejor escalabilidad, pero es probable que no sea la forma para la que se encuentra diseada su aplicacin.

La verdad es evidente: las aplicaciones SaaS tienen una importante funcin a desempear, pero no eliminarn el software interno. Todos los ISV que ofrecen un paquete de la aplicacin deben observar sus ofertas y tomar una decisin: Qu es lo que tiene sentido al ofrecer SaaS? Especialmente si sus competidores se encuentran por este camino, crear una versin SaaS de una aplicacin interna actual podra ser la opcin adecuada. Segn lo mencionado anteriormente, un objetivo importante de Windows Azure es admitir aplicaciones SaaS. Muchos aspectos de su diseo reflejan este objetivo. Por ejemplo, una aplicacin SaaS debe ser ms escalable que una aplicacin interna, pues admitir varios clientes de forma simultnea. La divisin de rol web/rol de trabajo en Windows Azure permite crear aplicaciones de escalabilidad masiva al dividir el trabajo entre la interfaz web y el back-end de trabajo. De manera similar, las tablas de almacenamiento de Windows Azure se encuentran especialmente diseadas para incluir grandes cantidades de datos, mucho ms de lo que puede administrar un solo sistema de administracin de base de datos relacional.

10

Una aplicacin SaaS tambin debe ser ms confiable que una aplicacin interna, ya que una falla afecta a todos los clientes, no solo a uno. La estructura de Windows Azure permite lograr esto al monitorear cada instancia en funcionamiento de una aplicacin. Si falla una instancia, una VM o incluso la totalidad de una PC, el controlador de estructura reiniciar otra para que la reemplace. El controlador de estructura tambin permite actualizar una aplicacin en funcionamiento sin cerrarla, un servicio importante para una aplicacin SaaS que debe encontrarse continuamente disponible. Un atributo ms importante para una aplicacin SaaS efectiva es la elasticidad, es decir, la capacidad para manejar picos a pedido. Con una aplicacin convencional, un centro de datos debe poder admitir la carga mxima que esta aplicacin nunca ms ver. Esto es posible con certeza, pero resulta costoso y poco til: es probable que gran parte de la capacidad de los centros de datos permanezca sin uso la mayor parte del tiempo. No obstante, gracias a Windows Azure, abordar este problema resulta ms sencillo. Recuerde que el dueo de una aplicacin puede cambiar la cantidad de instancias en funcionamiento al instante, por lo que puede acudir al controlador de estructura para crear o cerrar las VM segn sea necesario. Ya que los clientes de Windows Azure pagan solo por los recursos que utilizan, esto les permite pagar por una gran cantidad de recursos informticos solo cuando esos recursos realmente se necesitan. Cuando disminuye la carga, la aplicacin puede reducirse a su tamao normal. Las aplicaciones SaaS realmente cuentan con requisitos distintos a los de las aplicaciones internas tradicionales. Estas diferencias son la mayor razn por la que Windows Azure se encuentra diseado como tal. Un ISV que crea una aplicacin SaaS puede generar su propia plataforma, y algunos lo hicieron: no haba otra alternativa. Pero con el aumento de las plataformas cloud, los ISV que crean aplicaciones SaaS ahora pueden enfocarse en su lgica comercial en lugar de la infraestructura. Al avanzar, es posible que una gran parte de las aplicaciones SaaS se cree en una plataforma cloud como Windows Azure.

OFRECER SERVICIOS DE SOPORTE PARA LAS PLATAFORMAS CLOUD


En la actualidad, muchos ISV ofrecen servicios de administracin e infraestructura para entornos internos. Muchos otros ofrecen software que simplifica la vida de los desarrolladores. Mientras algunas de estas soluciones no son relevantes en el cloud, otras lo son. Y tambin existen nuevas oportunidades, lugares donde los ISV pueden obtener dinero al agregar valor a Windows Azure. Por ejemplo, Windows Azure ofrece acceso a los datos de rendimiento sobre aplicaciones en funcionamiento. Una herramienta que agregaba estos datos y luego los presentaba a travs de una interfaz de usuario eficaz poda permitir que los clientes de Windows Azure administraran sus aplicaciones cloud. Windows Azure tambin proporciona API, las cuales permiten que una aplicacin modifique la cantidad de instancias de rol web y de rol de trabajo en funcionamiento al instante, en lugar de acudir a una persona para que lo realice. No obstante, la plataforma no ofrece software que monitoree la carga de la aplicacin, por lo que utiliza estas API para ajustar la cantidad de instancias en funcionamiento. Un ISV puede cubrir este vaco al ofrecer un cdigo que permita a los desarrolladores agregar con facilidad este comportamiento a sus aplicaciones. La aparicin de las plataformas cloud es un gran cambio para los ISV. Debido a cualquier cambio importante, por lo general es conveniente empezar de a poco, como utilizar el almacenamiento cloud de Windows Azure o descargar una parte de su aplicacin en el cloud. Si esto resulta exitoso, y tiene sentido financiero, entonces podr realizar mayores trabajos cuando se justifiquen, como crear una versin completa de SaaS de su aplicacin.

11

COMPARACIN DE WINDOWS AZURE CON ALTERNATIVAS


Windows Azure no es el nico enfoque; existen otras alternativas. Esta seccin compara a Windows Azure con dos de las alternativas ms evidentes: hosting tradicional y plataformas cloud que ofrecen VM a pedido.

HOSTING TRADICIONAL
La primera opcin de muchas personas que desean subcontratar la ejecucin de sus aplicaciones es un proveedor de hosting. En el hosting tradicional, un cliente solicita un conjunto determinado de recursos y acuerda pagar por esos recursos por un tiempo determinado. Por ejemplo, un ISV que desea ejecutar una aplicacin SaaS puede contratar a un hoster para que proporcione seis servidores de Windows por un ao, pagando un monto predefinido por este servicio. El hosting presenta muchas ventajas. Utilizar un hoster es con frecuencia ms accesible que ejecutar un centro de datos interno, en especial para las ms pequeas empresas. Tambin permite que el cliente evite la complejidad de ejecutar su propio centro de datos mientras que conserva el control total de las PC que utiliza. Mientras que es probable que la aparicin de las plataformas cloud afecte el negocio de hosting tradicional, este modelo no desaparecer: an resulta conveniente en muchas situaciones. Al menos para algunas aplicaciones, una plataforma cloud como Windows Azure es una mejor opcin. Entre las ventajas se incluyen:

La capacidad de aumentar con rapidez la cantidad de servidores en uso: mientras que un hoster puede ocupar das para hacer que una nueva PC se encuentre disponible, una aplicacin de Windows Azure puede hacer que una nueva VM funcione en minutos. La capacidad de reducir con rapidez la cantidad de servidores en uso: por lo general, los hosters requieren un acuerdo por una cantidad fija de servidores provista solo para usted. Gracias a Windows Azure, una aplicacin puede reducir la cantidad de VM que utiliza y, por consiguiente, el costo que implica ejecutar esta aplicacin, al reducir la cantidad de instancias de rol web y/o rol de trabajo. No existe un acuerdo inicial por una cantidad mnima de servidores. Capacidad de ofrecer servicios especialmente diseados para aplicaciones altamente escalables y disponibles: los hosters por lo general ofrecen sistemas de Windows estndar y dejan que sus clientes decidan hacer lo que sea necesario para ejecutar sus aplicaciones con xito. Segn lo descripto anteriormente, una plataforma cloud como Windows Azure puede disearse especialmente para admitir aplicaciones de muy alta escalabilidad y disponibilidad. Menor costo general administrativo: a diferencia de Windows Azure, por lo general los hosters otorgan a los clientes un completo acceso administrativo a sus PC. La compensacin es que se requiere ms trabajo administrativo, desde revisiones del sistema operativo hasta la gestin de los sistemas de administracin de bases de datos. Con Windows Azure (y SQL Azure Database), gran parte de este trabajo se realiza para usted, lo cual le permite ahorrar tiempo y dinero.

12

VM A PEDIDO
Varios proveedores, incluso Amazon, Mosso, GoGrid y otros, ofrecen PC virtuales a pedido. A diferencia de los hosters tradicionales, estos proveedores por lo general ofrecen costos basados en el uso, sin la necesidad de un acuerdo, y VM disponibles con rapidez. En otras palabras, ofrecen plataformas cloud. Windows Azure tambin es una plataforma cloud, pero aunque utilice (y cobre a travs de) VM, difiere de muchas formas de las plataformas que ofrecen VM a pedido. Con una plataforma basada puramente en VM, de alguna forma la situacin es similar a la del hosting: usted cuenta con control completo, incluso el acceso administrativo a sus VM, pero tambin tiene la total responsabilidad de configurar y administrar esas VM y el software que contienen. Con Windows Azure, usted suministra solo una aplicacin de Windows, junto con instrucciones sobre cuntas instancias ejecutar. La plataforma en s se encarga del resto, incluso de la actualizacin del software de sistema segn sea necesario. Otra importante diferencia es la forma en que se manejan los datos relacionales. Con plataformas basadas en VM tpicas, puede ejecutar una base de datos relacionales en una VM, de la misma forma en que usted ejecutara la misma base de datos de forma interna o a travs de un hoster. Esto funciona con certeza, pero usted necesita instalar, mantener y administrar esta base de datos. Garantizar la confiabilidad tambin puede ser desafiante, pues los tpicos agrupamientos que comparten discos por lo general no son probables. En el entorno de Azure, una aplicacin puede utilizar SQL Azure Database. Segn lo descripto anteriormente, esta tecnologa proporciona un almacenamiento relacional administrado por Microsoft que escribe todos los datos varias veces para lograr la confiabilidad. Una vez ms, usted pierde la capacidad de tener el control total, pero obtiene simplicidad y confiabilidad integrada.

CONCLUSIONES
Al igual que todas las nuevas plataformas, Windows Azure ser exitosa solo si los ISV eligen crear aplicaciones en ella. Microsoft lo comprende y considera una prioridad hacer que su nueva plataforma cloud sea atractiva para este pblico. Entre las principales atracciones se incluyen:

Debido a que Windows Azure permite que los ISV ejecuten aplicaciones y almacenen datos en un centro de datos muy grande mientras que solo pagan por los recursos utilizados, puede ofrecer precios atractivos. Al proporcionar una plataforma lista y diseada para admitir aplicaciones cloud escalables y confiables, Windows Azure reduce el tiempo y el dinero requeridos para crear y ejecutar aplicaciones SaaS y otros cdigos basados en cloud.

La informtica cloud parece ser la prxima innovacin de nuestra industria. De la misma forma en que los ISV han tenido que adaptarse a los cambios que introdujeron las PC, los dispositivos mviles y otras nuevas plataformas, ahora necesitan decidir cmo aprovechar las plataformas cloud. Y de la misma manera en que Windows fue una parte importante en esos cambios iniciales, Windows Azure tiene como objetivo desempear una funcin esencial en este nuevo entorno. Si usted es el responsable de planificar el futuro de su empresa, es conveniente que comprenda y evale el entorno de Azure.

13

ACERCA DEL AUTOR


David Chappell es el director de Chappell & Associates (www.davidchappell.com) en San Francisco, California. A travs de sus conferencias, escritos y consultora, permite que las personas de todo el mundo comprendan, utilicen y tomen mejores decisiones sobre nuevas tecnologas.

14

You might also like