8 Escenarios para utilizar los servicios de nube pública de Windows Azure

image

Hace tiempo que me vienen pidiendo que hable de nube pública y confieso que me dejé estar, quizás por el hecho de que me entusiasma mucho aquello relacionado con las tecnologías de virtualización que se tienen más que ver con la nube privada (desde el punto de vista de la empresa) y, sobre todo, por mis tareas con la comunidad de usuarios de esta tecnología.

Pero heme aquí, con mis manos en el teclado, decidido a tocar el tema y se me ocurrió que para empezar lo mejor era comentarte en qué escenarios Windows Azure, o sea, nuestra plataforma de nube pública, aplica a cubrir necesidades. Eso sí, aprovecho y te comento que es posible trabajar nubes híbridas (por ejemplo, tu nube privada consumiendo servicios en la pública) a través de una sola instancia de autenticación (con nuestro viejo amigo Active Directory). Esto que parece un poco descolgado, verás que tiene valor en la medida en que hablemos de los escenarios y extrapoles alguno de ellos a la realidad de tu empresa, con infraestructura interna ya instalada y aplicaciones corriendo.

Pues bien, los 8 escenarios que te quiero plantear son:

  • SaaS (Software as a Service): 80% de las empresas que componen el ranking Fortune 1000 utilizan alguna forma de SaaS, y estoy seguro que en nuestros países esto ocurre en cierta medida también. Si tienes una empresa que desarrolle y venda software, la nube pública te permite montarte sobre su plataforma y ofrecerlo como servicio.
  • Web: La capacidad de escalabilidad y automatización de la plataforma Windows Azure te permitirá ir más allá del tradicional hosting para casos de sitios con necesidades importantes de rendimiento, tráfico y/o proceso. Importante en este tema es recalcar las capacidades de interoperabilidad que te permitirán trabajar en forma transparente con productos como Umbraco (open source) en el cual, justamente, está desarrollado el sitio de www.windowsazure.com. Por otro lado, también es importante tener en cuenta en este y otros casos las capacidades de almacenamiento de blobs para poder proveer contenido tal como video, imágenes, etc.
  • Corporativo: Construir o extender tus aplicaciones corporativas en la nube te dan la capacidad de adaptarte y escalar en forma dinámica a las necesidades de tu negocio en forma transparente para tus usuarios (¿recuerdas lo que escribí más arriba sobre autenticación?). Además los mecanismos de comunicación como el Service Bus (una cola de mensajes y un servicio de relay) te permiten construir aplicaciones que se comuniquen en forma fluida a través de la nube pública o con las que tengas instaladas en la nube privada (¡y ni hablar de dispositivos como los smartphones o tablets!)
  • Manejo de grandes cantidades de datos: Encontrar la información en grandes volúmenes de datos distribuidos. La posibilidad de analizar y visualizar datos en Hadoop (un framework cuya popularidad se extiende para este uso) utilizando Excel o Powerpoint o desarrollar tus propias aplicaciones con JavaScript. En términos de bases de datos relacionales, SQL Azure te sonará muy conocido a la hora de utilizarlo.
  • Aplicaciones para el consumidor: En épocas de redes sociales, es necesario preparar nuestras aplicaciones para escalas masivas sociales, dicho mal y pronto: ¡mucha gente! Cuando construyes una aplicación dirigida al consumidor o a redes sociales es necesario estar preparado. Es el típico caso del "Scale fast or fail fast" (escalar rápido o fallar rápido). En un escenario tradicional, deberías estar preparado desde el inicio para escalar con una inversión extremadamente alta si el proyecto falla. La nube pública y sus capacidades de pago por uso te ayudan a ahorrar dinero y técnicamente te ofrecen funciones que potencialmente pueden mejorar tu servicio, como el de una CDN (Content Distriburion network) que reduce a un mínimo la latencia.
  • Juegos: Encuentro bastante parecido o intersección con el caso anterior. Específicamente en redes sociales tenemos buena experiencia, dado que desde Latinoamérica han salido casos interesantes de juegos en redes sociales, cuya distribución viral puede resultar en una súbita demanda de poder de cómputo. La escalabilidad es clave.
  • Aplicaciones móviles: Las aplicaciones en Windows Phone, iOS o Android se vuelven más poderosas (y, en mi opinión, "limpias") si utilizan servicios en la nube. El efecto viral también es probable y los desafíos de escalabilidad aplican. Por otro lado, una funcionalidad específica de Windows Azure llamada Access Control, permite autenticar a los usuarios a través de sus credenciales preferidas, como Facebook, Windows Live ID u Open ID. Por otro lado, en términos de rendimiento podrás utilizar la CDN para generar cachés de contenido de juegos y reducir latencias y tiempos de respuesta en forma global.
  • Parallel computing (alto rendimiento): Este escenario me resulta muy interesante para los más fierreros y se refiere a la simulación de eventos complejos de la vida real, pasando por riesgo financiero, diseños de ingeniería o modelos climáticos. Windows Azure está habilitado para estas necesidades de alto rendimiento (HPC) y parallel computing. Las capacidades de escalabilidad y elasticidad aquí son primordiales.

Este es un breve resumen (parece largo, pero créeme, es breve) de los escenarios en los cuales puedes utilizar Windows Azure. En el sitio encontrarás esta información más detallada pero quería darte un panorama como punto de partida. Espero te sea útil.

¡Hasta la próxima!

_______________________________________________________________________________________________________________________

image

El tip del post viene twittero. Si ya tienes mi twitter (@danielslevi), te invito a seguirme para estar al tanto de las novedades en Microsoft (y en mis hobbies: escribir libros, el mercado de capitales y alentar a Boca Juniors). Ahora me toca simular un #FF en este blog para recomendarte un par de usuarios a seguir: @TechnetYMsdn para mantenerte informado tanto si eres desarrollador como ITPro, @MicrosoftLatam y @MSSpringboard (este último en inglés). Interesantes fuentes de información en trozos de 140 caracteres.

Enjoy life!