Microsoft lleva un tiempo tomando decisiones que cumplen con una máxima de la compañía: “Mobile first, cloud first”. “Cuando hablamos de móvil en primer lugar, no nos referimos a la movilidad del dispositivo, en realidad es la movilidad de la experiencia individual […] La única manera de orquestar la movilidad de aplicaciones y datos es a través de la nube, es donde va el mundo”. La frase es de Satya Nadella, CEO de Microsoft, durante un evento el pasado noviembre.
Aplicaciones, aplicaciones, aplicaciones; móviles, móviles, móviles; nube, nube, nube. Ésas son las tres palabras mágicas que envuelven gran parte del futuro de la compañía en la creación de software y en su relación con la comunidad de desarrolladores. Y como un canto a esa estrategia, Microsoft anunció en marzo de 2015 la llegada de Azure App Service, un servicio para el desarrollo de aplicaciones web y móviles para cualquier plataforma y cualquier dispositivo.
La idea del nuevo servicio de la compañía de Redmond es simplificar el desarrollo de aplicaciones al mundo empresarial, con la automatización de los procesos de negocio mejorando la seguridad y la escalabilidad. Ahora, cualquier equipo de TI tendrá en Azure App Service todo lo necesario para esa meta, con la fusión de servicios como Azure Websites y Azure Mobile Services.
Un kit perfecto para desarrollar webs y aplicaciones
La idea de Microsoft con este lanzamiento es facilitar a los desarrolladores todas las herramientas y servicios para diseñar:
– Aplicaciones web: este servicio de Microsoft integra el antiguo Azure Websites. Provee a los desarrolladores de las capacidades para desarrollar aplicaciones web en la mayoría de frameworks y lenguajes de programación: .NET, Java, PHP o Python. Además, ya trabaja en su integración con los servicios de desarrollo de software colectivo en línea más conocidos entre la comunidad como Visual Studio Online, GitHub o Bitbucket.
La herramienta es autoescalable, puede gestionar el tráfico geográficamente, incluir múltiples Server Name Indication por cada IP (esto permite, por ejemplo, la existencia de varios sitios web seguros HTTPs con certificados distintos) y también genera copias de seguridad automáticas.
– Aplicaciones móviles: este servicio ofrece capacidades de desarrollo de back-end para sistemas operativos Windows, iOS y Android. Además, también dispone de herramientas para entornos multiplataforma como Xamarin, que permite el desarrollo de aplicaciones en C#, y Apache Cordova, para el desarrollo de aplicaciones en HTML, CSS y JavaScript.
La apuesta por facilitar el desarrollo de aplicaciones mantiene el objetivo, siempre presente en Redmond, de estar del lado de la generación de negocio, sobre todo porque las apps móviles permiten a las empresas atraer a los consumidores con notificaciones push (utilizadas para el lanzamiento de promociones) o facilitar el almacenamiento de datos en la nube.
– Aplicaciones lógicas: este servicio permite a un desarrollador automatizar la ejecución de procesos. Por ejemplo, imaginemos que una empresa quiere activar una aplicación lógica que le permita saber lo que un usuario dice en Twitter sobre sus productos o servicios. O, quizás, conectar su servicio de CRM con las soluciones de su departamento de marketing. Con Azure App Service es posible automatizar ese tipo de procesos de forma sencilla.
Los desarrolladores también contarán con las posibilidades que ya ofrecía el servicio Azure Biz Talk. Proporciona la integración de aplicaciones de la nube a entornos locales para SAP, Oracle EBS, PeopleSoft y SQL Server y conectar con distintos tipos de origen de datos como HTTP, FTP, SFTP o REST. Microsoft dispone ya de una galería de conectores y tutoriales.
Aquí tenemos dos tutoriales para desarrollar aplicaciones lógicas que conecten procesos con redes sociales como Twitter o Facebook.
Esta capacidad permite soluciones para el procesamiento de pagos, administración de cadena de suministros, interacciones de negocio a negocio, la generación de informes o facilitar la toma de decisiones.
– Aplicaciones API: la idea de este servicio es que la comunidad de desarrolladores pueda elegir para sus aplicaciones entre una biblioteca de APIs ya existente o bien crear sus propias APIs de forma privada o pública. El uso de esas APIs está integrado con sistemas de gestión de negocio como Salesforce, Zendesk o Microsoft Dynamics CRM Online.
En este caso, los desarrolladores pueden usar lenguajes de programación como ASP.Net, Java, PHP, Node.js o Python para sus aplicaciones API.
¿Por qué Microsoft lanza este servicio integrado?
Con el lanzamiento de Azure App Service, Microsoft da un salto gigantesco en su posicionamiento en el desarrollo de webs y aplicaciones en la nube. Los dos servicios rivales con mayor entidad, Amazon Mobile SDK y Google’s Firebase, no ofrecen tan buenas prestaciones: Amazon Mobile SDK es más completo, pero más complejo; mientras que Google’s Firebase es sencillo, pero con menos capacidades.
Amazon Mobile SDK dispone de todas las funciones que un desarrollador de aplicaciones puede necesitar:
– Dispone de almacenamiento en la nube con Amazon S3.
– Capacidad para guardar datos de usuarios de forma local en los dispositivos con Amazon Cognito.
– Uso de notificaciones push con Amazon SNS.
– Un servicio de bases de datos NoSQL con Amazon DynamoDB.
– La transmisión de datos con Amazon Kinesis.
– El análisis de las métricas con Amazon Mobile Analytics.
Pero su curva de aprendizaje y de uso no es especialmente baja. Frente a Amazon, las facilidades que ofrece Azure App Service pueden ser una gran ventaja.
Para competir con Amazon y también con Microsoft, Google compró en octubre de 2014 la empresa Firebase, dedicada al almacenamiento y sincronización de datos en tiempo real para aplicaciones web y móviles.
En ese momento, Firebase contaba con una comunidad de 110.000 desarrolladores registrados, lo que era un bocado apetitoso para el gigante de las búsquedas. Hoy podemos decir que es una herramienta rápida con una API sencilla, pero que no puede competir con Microsoft en los procesos de integración empresarial, uno de los elementos clave dentro del desarrollo en la nube.