Posteado por: editoresla | 16/02/2012

Azure, la nube privada y algo más

Cada vez más vemos el desarrollo de aplicaciones en múltiples escenarios. Es preciso desarrollar pensando en forma local, pero también móvil y sobre todo en la Web. Hoy la nube pareciera estar en el centro de la escena y por este motivo entrevistamos a Eugenio Pace, líder del grupo Patterns & Practices de Microsoft y especialista en el desarrollo de aplicaciones en la nube, entre muchas otras competencias, y si bien apuntamos a sus conocimientos específicos en la nube privada, no fue este el único tópico que abordamos. Conoce su punto de vista.

  • Generalmente, cuando se habla de desarrollo en la nube, se hace referencia a aplicaciones sobre Windows Azure. ¿Qué sucede con las aplicaciones que deben correr en nubes privadas? ¿Siguen los mismos parámetros?

Es posible escribir aplicaciones que corran tanto en Azure como en nubes privadas (basadas en Windows Server). En general, desde el punto de vista de arquitectura de una aplicación, las diferencias más importantes están en el almacenamiento elegido. El almacenamiento de datos de Windows Azure (Blob, Tables y Queues) no está disponible en Windows Server hoy. Hay dos posibles soluciones: crear una abstracción en la aplicación para aislar estas implementaciones o basar la solución en un almacenamiento que sí este disponible en ambos mundos. Un ejemplo de esto último es usar SQL Server. SQL Azure es esencialmente SQL Server. 

  • ¿Cuáles son las tecnologías Web más efectivas para entornos Web distribuidos como los que conforman típicamente una nube privada?

Windows Azure compute tiene un gran nivel de compatibilidad con Windows Server (de hecho es Windows Server). En general, cualquier plataforma de desarrollo Web que funcione en Windows Server 2008 funcionará en Windows Azure. Esto incluye tanto a plataformas Microsoft como ASP.NET y ASP.NET MVC, como a otras no-Microsoft: PHP, Java o más recientemente node.js. 

  • ¿Qué prácticas sugiere Microsoft tener en consideración cuando deben empezar a conectarse aplicaciones alojadas en diferentes ubicaciones de la nube?

Conectividad es un tema sumamente importante.  Entre las consideraciones más importantes están: priorizar diseños que minimicen el impacto de latencia de red, utilizar agresivamente caches (Azure CDN y Azure Cache son dos tecnologías precisamente para responder a este requerimiento), implementar siempre seguridad a nivel de red (por ejemplo: utilizar SSL ), autenticar usuarios de manera robusta (por ejemplo: utilizar seguridad basada en evidencia con Azure Active Directory), implementar mecanismos de reintento automático frente a fallas transitorias, implementar procesamiento asincrónico para atender variaciones de carga.  

  • ¿Hay experiencias positivas de migración de aplicaciones on premise a una nube privada? ¿O recomendarías rescribir la aplicación?

Por supuesto. Tenemos casos de éxito tanto internamente en Microsoft como externamente. A veces rescribir total o parcialmente la aplicación es necesario. Un punto a tener en cuenta y frecuentemente omitido, es que migrar una aplicación a Windows Azure no va,  mágicamente a resolver problemas de escalabilidad. Buenas prácticas deben ser empleadas: manejo de sesión y estado, utilizar interacciones en lotes en lugar de varias interacciones pequeñas (normalmente referido a “chunky vs chatty”), etc.      

  • Yendo hacia atrás, ¿hasta que tecnología resulta funcional mantener aplicaciones legacy en la nube?

Si funciona sobre Windows Server 2008, entonces hay muy grandes chances de que funcione en Windows Azure.  Windows Azure VM y Azure Connect son dos tecnologías de la nube que facilitan la migración de aplicaciones legadas.  

  • Finalmente ¿cómo aprovechar la nube para innovar sin que se requieran grandes inversiones?

Las barreras de entrada para sacar provecho de la nube son cada vez menores. La recomendación que siempre doy es simplemente sentido común: ser pragmáticos, elegir una aplicación simple para empezar y realizar pruebas. En base a la experiencia adquirida, continuar invirtiendo. Una de las enormes ventajas de la nube es que adquirir y rescindir recursos es muy sencillo y económico. Provisionar los recursos de una aplicación típica: 2 servidores y 1 base de datos, en cualquier lugar del mundo, demora algunos minutos. Y eliminarlos cuando no se necesitan más, es igualmente simple.    

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Categorías

A %d blogueros les gusta esto: