viernes, 8 de mayo de 2015

Desde colaborar con la investigación del cáncer de mama hasta la integración continua

 

clip_image002

Imaginemos la siguiente situación: investigadores médicos necesitan una donación, nada extraño hasta acá, pero en vez de pedir plata piden capacidad de procesamiento. Esto fue lo que hicimos apenas iniciada la Global Azure Bootcamp 2015. Nos repartieron créditos para las cuentas de Azure y nos pidieron deployar un paquete en un "Cloud Service". Este paquete contenía un proceso que analizaba datos de casos de cáncer de mama y los procesaba. Según MS, en esas pocas horas, el tiempo de procesamiento donado fue del equivalente a 23 años de análisis de datos en un solo ordenador.

El segundo Lab, aunque un poco más banal, pero no por eso menos interesante, consistió en realizar una web app que analizaba los datos de telemetría generados por un juego de carreras de autos (un ejemplo de desarrollo usando XNA). Estos datos generados en forma asincrónica a la carrera permiten determinar el funcionamiento de los parámetros del juego en general permitiendo evaluar mejoras para próximos juegos.

Otra situación: tenemos una idea para una aplicación mobile, pero nos queremos dedicar de lleno al frontend y no complicarnos en como resguardar los datos o como generar las conexiones con los servidores web que funcionan de backend. Bueno, los mobile services, presentan la solución; una aplicación web configurada para responder con REST api's y conexión directa con una base de datos. Al crear este tipo de servicios nos genera un proyecto con la estructura completamente configurada para con sólo tocar un par de líneas ya tenemos un backend completamente funcional, y altamente escalable. Recomiendo ver los fuentes que están en las referencias para poder ver la simpleza y la capacidad de expansión de la solución.  

Al iniciar la tarde, las charlas se centraron en las bases de datos. Primero sobre el servicio de base de datos brindado por Azure con SQL Database  (que, aunque parecido, no es igual a SQL Server) el cual brinda la disponibilidad de una base completamente configurada y a disposición del desarrollador en cuestión de minutos. Los que hemos trabajado con datacenters sabemos los días, semanas y meses que estas tareas pueden llevar. Azure nos asegura que siempre va a estar actualizada a nivel de seguridad y con nuevos features (por ejemplo: data masking, entre otros)   que muy probablemente tarden algún tiempo en estar disponibles para las bases SQL Server.          

Segundo, con el ejemplo de la experiencia de Autocosmos (un sitio de publicaciones de venta de autos) donde se tenía la necesidad de dar mayor velocidad de respuesta a las búsquedas, se mostró como con la utilización de los servicios de Redis para hacer una cache trasversal a los servers de las bases. Como en definitiva no solucionaba la demora en la búsqueda dentro de los SQL server, decidieron hacer una reingeniería y modificar la búsqueda para que la haga sobre la base noSQL Azure Search, la cual entre otros beneficios les permitía:

· Utilizar un scoring definido por ellos para ,por ejemplo, beneficiar las publicaciones pagas

· Utilizar geo-localización para beneficiar los resultados más cercanos al usuario

· Realizar por medio de facets la sumatoria de registros que se encontraron para todas las categorías

Además de brindar por la plataforma propia de Azure una alta escalabilidad.

Al caer la tarde, presentaron la solución de Azure Media Servicies que brinda una importante cantidad de features listos para ser utilizados como Video-On-Demand (VOD), Live Streaming, Dynamic Packaging, Dynamic Encryption, Azure Media Player, Live Encoding, Dynamic Manifests y Rendered Sub-Clips. Aunque para un nicho de público muy determinado, la posibilidad de que estos servicios se puedan contratar y que nuestra empresa sea la próxima Netflix, es por lo menos interesante.

El evento se cerró con la presentación de algunas características del portal de Azure y su  integración con Visual Studio Online, donde se mostró como hacer deploys continuos a partir del fuente en VSO.

La plataforma Azure permite, con una inversión inicial muy baja, disponer de un gran abanico de servicios listos para consumir y con una alta escalabilidad. Podemos tener una VM con Windows desde $111 ARS/Mes, o con Linux, pasando por un SQL Server desde $111 ARS/Mes, MongoDB u  Oracle, siguiendo con servidores Web (gratuitos) y llegando a almacenamiento y CDN, sin dejar de lado las más de 3000 soluciones que se ofrecen en el market de esta plataforma. Se presenta como una gran solución para pymes y startups, pero también como solución a los clásicos datacenters onsite permitiendo hacer PDR (Plan de recuperación de desastres), backups, contingencias, pruebas de concepto, etc., con una inversión mucho menor que con las soluciones, hasta ahora, tradicionales.

clip_image004

Referencias:

http://argentina.azurebootcamp.net/

http://global.azurebootcamp.net/

https://github.com/southworkscom/GAB-Arg-2015

 

¡Gracias Marcelo Mosquera por tu contribución!