Cómo desarrollar aplicaciones SaaS sobre la Plataforma Windows Azure
Siempre que nos aproximamos a una nueva tecnología, debemos hacemos dos preguntas por éste orden:
- ¿Qué me aporta?
- ¿Cómo puedo empezar?
La primera pregunta es la más crítica. Ninguna tecnología por innovadora que sea, tiene éxito a largo plazo si no es capaz de demostrar un beneficio para mi organización. Este beneficio puede ser un ahorro de costes, aumento de la productividad, mejora de la calidad de mi solución, etc.
Para todos aquellos que desarrollan aplicaciones SaaS (Software-as-a-Service), desde Microsoft pensamos que una plataforma PaaS (Platform-as-a-Service) como Windows Azure es la mejor opción. Te permite centrarte en tu aplicación que al fin y al cabo es tu negocio principal y dejar en manos de Microsoft toda la complejidad de gestión de la infraestructura que necesitas. Es decir, no dediques esfuerzo a administrar servidores, instalar parches, configurar el balanceador de carga, etc…. Céntrate en mejorar tu aplicación. Adicionalmente la nube te ofrece automatización (puedo provisionar servidores y bases de datos con un click), elasticidad (no tengo compromisos, puedo empezar con pocos recursos e ir creciendo a medida que lo necesite) y un modelo económico pensado para SaaS (si tengo pocos clientes pago poco, sólo pago más cuando estoy ingresando más).
Y si lo anterior nos convence, llegamos al siguiente punto: ¿Cómo subo mi aplicación SaaS a la Plataforma Windows Azure?
Recursos técnicos sobre la Plataforma Windows Azure
Hay infinidad de recursos en Internet sobre cómo desarrollar, migrar y desplegar aplicaciones sobre Windows Azure. Indico aquí los que yo creo que son fundamentales:
- Training Kit de la Plataforma Windows Azure: Completo curso para descargar y realizarlo en offline. Incluye documentación técnica así como un conjunto de videos, ejemplos prácticos y laboratorios que me permiten aprender rápidamente cómo trabajar con Windows Azure, SQL Azure y Windows Azure AppFabric.
- Learning Path de la Plataforma Windows Azure: Consta de 4 niveles que nos permiten empezar desde cero (¿Qué es Windows Azure?) e ir progresando hasta temas como el Diseño de Arquitecturas para aplicaciones escalables con Azure. Todos los temas acompañados de videos con ejemplos prácticos y todo en castellano. Nota: Por el momento este curso no cubre la última actualización de Windows Azure con el SDK 1.3 (nuevo portal Silverlight, escritorio remoto, VM Role, etc.)
Recursos de Arquitecturas SaaS en Windows Azure
Siguiendo los cursos que mencionaba antes, tendremos los conocimientos necesarios para desarrollar o migrar nuestra aplicación a Windows Azure. Si además queremos una aplicación con una arquitectura optimizada para la nube, os recomiendo estos contenidos:
- FabrikamShipping SaaS: ¿Cómo desarrollar una aplicación SaaS multi-tenant y optimizada para la nube? Aquí tienes un ejemplo online totalmente funcional. Y lo mejor de todo, te damos todo el código fuente para que aprendas cómo lo hemos hecho.
- Windows Azure Guidance de Patterns & Practice: El equipo de Patterns & Practices ha publicado una guía de arquitectura orientada 100% a Windows Azure. No estamos hablando sólo de teoría sino que todas las guías vienen acompañadas de código fuente de la aplicación que demuestra lo especificado en las mismas. Las guías están organizadas en:
- Moving to the Cloud (1ª Parte): Cómo migrar aplicaciones ya existentes a la Plataforma Windows Azure.
- Developing for the Cloud (2ª Parte): Desarrollar una aplicación SaaS escalable en Windows Azure. Muy recomendable.
¡Espero que os sea útil!