martes, 10 de mayo de 2016

Más poder a los devs - Microsoft Azure Dev Camp 2016

Hace un par de días tuvimos la oportunidad de participar en un Dev Camp enfocado en las tecnologías de Azure, la apuesta a la nube por parte de Microsoft; un servicio que incluye los productos ahora típicos en ofertas de nube: máquinas virtuales, infraestructura-estilo-datacenter, servicios administrados de bases de datos y soluciones de autenticación y seguridad, entre otros. A pesar de estar familiarizados con las ofertas básicas de otros proveedores, resultó ser un vistazo interesante a la perspectiva de un gigante de la tecnología, por mucho tiempo pensado como monolítico y acorbatado,  a los procesos y servicios comúnmente relacionados con las empresas más jóvenes y ágiles.

Aunque Azure es una propuesta con mucho tiempo gestándose, su relativa anonimidad es sorprendente (y esto lo digo como desarrollador primariamente de .Net). Durante nuestro día con Azure pudimos observar 3 servicios principales: servicios administrados de aplicaciones (Azure Web Apps), integraciones con dispositivos Internet-of-Things (Azure IoT Hub), y aplicación y creación de servicios de ciencia de datos (Azure Machine Learning).

Si hay algo que se puede decir sobre los productos de Microsoft donde la mayoría de las personas estarían de acuerdo, es que Visual Studio es una herramienta genial (mundo FOSS, espero pacientemente sus cartas al editor). Microsoft sabiamente ha casado las diferentes propuestas de su nube a su plataforma de desarrollo de una manera fluida y discreta, abstrayendo muchas de las consideraciones y suposiciones de una integración de este tipo para simplemente dejar al desarrollador desarrollar.

Azure Web Apps es un servicio interesante que permite aprovisionar, lanzar, probar y monitorear aplicaciones de todo tipo, directamente desde el ambiente de desarrollo. El proceso clásico de levantamiento y configuración de un ambiente que tantas veces se convierte en un agujero de tiempo para el equipo se convierte en una serie de clicks, elección de algunos nombres y uno o dos llenados de tazas de café. Con elecciones de lenguajes como C#, JavaScript, Java, PHP y Python, la habilidad de pasar de un ambiente dev/test a producción en 2 clicks e integración transparente con analíticos de medición y DevOps, simplifica enormemente nuestros procesos y permite que nos concentremos en entregar funcionalidad real (o leer Stack Overflow, sus kilometrajes pueden variar).

De la misma manera, Azure IoT Hub abstrae muchos de los dolores de cabeza usuales de la comunicación y administración de dispositivos distribuídos, como seguridad de comunicaciones, deshabilitación remota, administración de llaves, e incluso algunos mas recientes como analíticos y ciencia de datos. Una de las demostraciones incluyó el procesamiento de un video de webcam con visión computacional para detectar información general sobre el usuario final, tales como estado emocional general, género y perfil visual (lentes, barba), pasada directamente por un motor de Business Intelligence para generar gráficas y reportes tiempo real.

En el tema caliente de ciencia de datos y aprendizaje máquina, Azure Machine Learning experimenta con traer las cualidades drag-and-drop del software visual de Microsoft a métodos como entrenamiento, modelado, transformación de datos, regresión, clasificación y validación. Desde la interfaz web se pueden arrastrar módulos preconfigurados, importar código de R, correr simulaciones y despues convertir el proyecto en un servicio Web predictivo basado en los resultados, todo a través de una interfaz similar a Visio. Mi percepción de RStudio ha cambiado drásticamente después de esto, debo admitir.

En el plano personal, y además de lo ya mencionado arriba, fue bastante agradable ver que Microsoft ya despertó al Nuevo Orden Mundial y abraza muchas tecnologías FOSS, como Node, R, Cordova en el lado móvil y particularmente Linux y su ecosistema. Como desarrollador primordialmente en Windows, se me hace increible mantener mi ambiente IDE preferido pero poder incluír el vínculo con estas nuevas tecnologías tan poderosas con un mínimo de curva de configuración.
Claro está que como buen carro familiar, uno no puede ir tan rápido y tiene bolsas de aire por todos lados, y ciertamente a veces en vez de una vagoneta necesitas un trophy truck de offroad, un Fórmula 1 o un Bugatti sexy, cada proyecto tiene sus características particulares; creo que lo que más nos llevamos del evento es que hay varias maneras de apostarle a la nube y Microsoft en particular busca hacerlo a través de servicios transparentes basados en el evangelista mas poderoso: el desarrollador.

No hay comentarios:

Publicar un comentario