Microsoft Ready – Feb 2019. Day 2.

14 febrero, 2019 — Deja un comentario

Disclaimer: Es un evento interno con el contenido bajo NDA, así que compartiré los mensajes fundamentales “públicos”, pero no detalles o fotos. Adicionalmente recordar que este Blog expresa mis opiniones personales y en ningún caso supone una opinión formal de mi contratador. 

El segundo día la KeyNote fue solo de Azure a modo de “MythBuster” con varios mensajes fundamentales sobre Azure a desmentir con datos objetivos, y en general con bastante humor y muchas demos (y muy buenas):

  1. Azure como “segundón” en el mundo de Cloud. Puede que en la cuota de mercado actual Azure no lideré, pero en infraestructura, clientes empresariales, crecimiento año sobre año de cuota de mercado etc Azure parece que lidera el mundo Cloud.
  2. El coste de subir cargas de trabajo a la Cloud. En esta parte se centró el mensaje en la sencillez de la migración de SQL Server al mundo Cloud y de los ahorros derivados comparado con un mundo on-premises o con otros vendedores como Amazon. Me gustó la demo moviendo la carga desde un VMware local a otro en Azure.
  3. Hacer analytics en Azure es lento, caro y complejo. Básicamente a través de la demo se vió lo sencillo del mundo Analytics y el control de costes asociado. Casi corto circuito cuando volví a ver en una KeyNote los 44Zetabytes de información que se esperan en 2020. Hay estadísticas que te persiguen empresa tras empresa 🙂
  4. Rendimiento en Azure. Esta parte la llevó a cabo Mark Russanovich (lee sobre la siguiente charla si no le conoces). Fue uno de los puntos fuertes de la KeyNote y sin entrar en detalles (bajo NDA) de los números de rendimiento, puedo decir que además de ser superiores a los de nuestros competidores, eran gigantescos comparados con un mundo on-premises. Ya echaba de menos en una charla hablar de miles de Iops :-). Pero más allá de esos “hero numbers” se habló de las mahoras en arquitectura para acelerar todavía más algunos casos de uso generales, como por ejemplo de FPGA en lugar de GPUs para algunos casos de AI, mostró una demo en local en la que si bien la GPU multiplicaba por 10 en rendimiento de CPUs en casos de IAs, las FPGAs superaban varias ordenes de magnitud a las GPUs, y además permitían una escalabilidad mucho mayor. Dentro de la KeyNote está fue la mejor parte, y la que más aplausos levantó.
  5. Si Azure es o no de confianza. Se explicó el detalle de la seguridad de Azure incluyendo novedades y roadmap que permiten a las VMs cosas increíbles como sobrevivir a la caída del host físico!
  6. La relación de Azure con el mundo Open Source. Aqui se volvió a tirar de estadísticas de uso de Visual Studio Code, request de la .Net Foundation (incluso fuera de Microsoft), uso de Sql Server en Linux etc… numeros impresionantes antes de una demo de uso de tecnologías Open Source en Azure bastante esclarecedora.
  7. La evolución de .Net para desarrollos CNA. Se mostró aqui el ecosistema de desarrollos posibles con .Net, desde Desktop a Cloud, mundo móvil (incluyendo IOs), videojuegos, IoT o AI; y de nuevo se mostraron numeros de la .Net Foundation y como la gran mayoría de los contribuidores NO son de Microsoft…
  8. El Hype de la Inteligencia Artificial. Fue la parte final muy interesante, pero se solapó mucho contenido con lo visto el día anterior en la charla a la que asistí de Azure AI.

Y tras eso, en la misma sala de la KeyNote fue la charla de Mark Russanovich, que además del CTO de Azure es uno de los gurús más apreciados dentro de la casa, como muestra el hecho de que casi hay peleas para coger sitio en sus charlas, que acaban con gente fuera de la sala tras llenarse las sillas e incluso los sitios “de pie”. Esta charla versaba sobre “Cloud Trends and the State of he Industry“, el titulo justificaba las colas para entrar que se iniciaron 40 minutos antes de la apertura de puertas…

La charla arrancó reforzando la idea de lo bien que va el negocio de Cloud / Azure en el mercado y el impacto positivo en el valor de bolsa de la empresa. También mostró algunos números que muestran el buen momento de Azure en general. También  se destacó el crecimiento año sobre año en ingresos (muy impresionante!) y el mismo sobre la utilización de computo.

La cifra del numero de crecimiento de Datacenters esperado para los próximos 18 meses hizo que la gente se levantara a aplaudir, el numero es confidencial, pero es algo gigantesco comparado con la ya gigantesca cifra de datacenters en funcionamiento!

Sobre la construcción de nuestra red interna de comunicación, analistas externos han asegurado que tenemos la más grande (junto con Google) y rápida en comparación con AWS, que queda muy lejos. Sobre este último mencionaron que de acuerdo a los analistas requiere de conexión externas por Internet Pública al conectar entre regiones.

Siguió la charla con una visión de lo que los clientes andan buscando:

  • A Cloud that’s everywhere. Azure está en 52 regiones y creceremos.
  • A Cloud thst’s feature complete. Aquí el ecosistema Microsoft nos da ventaja.
  • A Cloud that’s proven and safe bet. De nuevo se habló de la resistencia a fallos de Azure basada en varios puntos.
  • A Cloud that has a rich ecosystem. Ver segundo punto.
  • A Cloud that’s a partner. Dónde la experiencia de Microsoft trabajando con grandes multinacionales nos permite superar a la competencia.
  • Some Multi Cloud, many single Cloud. Este punto fue curioso, reconoció que muchos clientes quieren estar

Luego saltó a hacer un análisis del entorno en IaaS basado en el último informe de Gartner, mencionando la gran reducción en “players” en el informe comparado con el año pasado…  y su predicción es que tarde o temprano desaparecerán aún más (Oracle, IBM). Otras como Alibba Cloud parece que lo están haciendo bien aunque sea local en su zona.

Los grandes Chllengeres son Google Cloud Platform y mencionó su visión, los ingenieros no “pillan” el mundo empresarial y su soporte no es bueno lo que junto con una mala y lenta respuesta a incidentes hacen que no se vea una apuesta clara por esta línea de negocio. Confirmo que a nivel de costes pueden ser muy agresivos, pero con una corta visión de futuro. Cerró con la aplaudida frase de “GCP será el Windows Phone de la Public Cloud“.

AWS, el gran rival a batir, la clave es competir con servicios de alto valor añadido cómo Analytics o Cosmos DB. Bajo su punto de vista Azure es mejor en PaaS o en el soporte de mundo Open Source;  y también tienen problemas en entender el valor del mundo Enterprise. Es hora de recortar distancias aún más rápido de cómo lo estamos haciendo ahora.

Así que pasó a la idea de como nos diferenciamos, y se centró en:

  • Office 365 & Dinamics 365 & Azure ACtive Directory
    • Haciendo hincapié en el valor de Power BI.
  • Plataforma: cuantos Garnet MQs lidera Microsoft comparado con otros Players de Cloud? muchos más….
  • Trust / Security. Es nuestro core y tenemos que explicarlo.
  • Enterprise, partner & ISV Ecosystem
  • Apertura a mundo Open Source e integración de valor con el mismo.
  • Hybrid, hybrid, hybrid… Azure Stack

Y cerró con las Cloud Trends que ve hablando con cliente:

  • Cost & Management governance. Explicar los ahorros en la gestión y operación de la Cloud para hablar de su valor.
  • Containers, Microservices, serverless. K8 será irrelevante en futuro (según él) y todo irá a serverless, en la parte sobre todo del EDGE
  • ML & Big Data, algo de Hype pero crítico para el futuro negocio. No acabo de ver este mensaje, al menos en Europa, pero habrá que ver como evoluciona la idea.
  • IoT & Edge ( que tiene un tamaño menor al Cloud según él). Tipos de Edge como Thick Edge, MicroEdge etc… Idea de consistencia en el mundo del desarrollo desde la CLoud central y luego “pushable” al Edge en contenedores o FaaS o similar. Conceptos muy interesantes a analizar en el futuro.
  • BlockChain. Bajando del ciclo de Hype a la realidad. De esto da otra charla más adelante así que profundizaré.

 

Como nota final, en la sección de open Q&A también mencionó el futuro estratégico de Quantum Computing dentro de la empresa.

Una gran charla que justificaba la expectación, aunque según me mencionaron no fue tan técnica como otros años… también es cierto que tiene muchas más en los próximos días.


Tras el break me metí en “Bring All your containers to Azure App Service” impartida por Yi Liao (Senior Program Manager).

Las ideas fundamentales eran que:

  • Azure tiene varios sistemas de gestión de continers, pero Azure App Service es probablemente el más completo cuando te centras en productividad o gestión de todo el ciclo de vida, es un PaaS completo.
  • Linux App Service tiene 2 modos, en uno te llevas el código directamente y en otro te llevas el Docker ya construido. En el primer caso Azure gestiona todo el container, en el segundo tu eres el responsable de la gestión del container.
    • Por qué usar el segundo caso? porque el lenguaje no está soportado, o porque hay algún framework con dependencias involucrado en el sistema. o porqué utilizas algún caso de uso multi-container.
  • Es un negocio que está creciendo increíblemente en YoY.

Luego arrancó una demo muy largo y algo farragosa (para mi conocimiento :-S), habló de la gestión de identidades. fuera del código; también habló del Persistent Storage para el servicio de Linux y durante la demo fue mostrando la sencillez del desarrollo de una Web-App containerizada, que luego securizo (las credenciales de la BBDD) y fue perfeccionando capa a capa.

De las charlas hasta ahora ha sido la más flojilla pero porque la demo se le complicó y “ensució” un poco el hilo de la presentación.

 


Y finalicé el día con “Azure Machine Learning: Model Lifecycle management / DevOps for AI” impartida por Jordan Edwards, que es Senior PM de Azure Machine learning y una Data Science de Microsoft que explicaba el punto de vista de un “usuario” de la plataforma de DevOps.

En esta última charla se arrancó con una definición de DevOps centrada en la unión de gente, procesos y productos para permitir la entrega continua de valor alrededor.

Luego se mostraron los retos de la integración continua / entrega continua en el mundo de AI:

  • Reproducibility. Garantizar que los mismos datos generan el mismo modelo.
  • Validación del modelo. Hacerlo mejor y más sencillo.
  • Almanceamento y versionado de todos los artefactos.
  • Despliegue, control y recolección de resultados en todos los ámbitos, Cloud. Edge etc.

Se habló también del ciclo del vida de AI-DevOps:

  • Experimentación.
    • Adquisición de datos
    • Comprensión del negocio
    • Modelado Inicial
  • Desarollo (Dev).
    • Modelado y Testing.
    • Integración continua.
    • Despliegue continuo.
  • Operación (Ops)
    • Entrega continua.
    • Cierre del ciclo de feedback.
    • Monitorización de los sistemas.

Así que llegados a este punto, por qué DevOps para AI?. Básicamente para garantizar el paso desde el punto de experimentación al mundo de la producción con las garantías que da el mundo DevOps:

  • Entrega de valor continua al cliente (en este caso análisis de los datos, modelos de negocio etc).
  • Gestión end-to-end de todo el ciclo de vida del proyecto.
  • Consistencia en la forma de abordar proyectos.
  • Incrementar la calidad y cadencia de entregas en proyectos de Data Science (por la simplificación en los pasos intermedios, agilizados por DevOps).
  • Framework común de trabajo.
  • Mejora de la colaboración por la estandarización de prácticas.

Visto lo anterior, cuales son los objetivos de DevOps para AI?

  • Producir experimentos de AI más fácilmente repetibles.
  • Manejar y gestionar adecuadamente todo el ciclo de vida y los artefactos generados en un proyecto de AI.
  • Ayudar a cerrar el circulo virtuoso de la retroalimentación en procesos DevOps, también para AI.

Así, el workflow de trabajo de un Data Scientist con Azure se resume en:

  • Crear y entrenar un modelo.
  • Registrarlo.
  • Generar las dependencias y necesidades del mismo.
  • Crear y registrar una imagen del modelo.
  • Desplegar la imagen dónde se quiera (Cloud, tipos de Edge, etc).
  • Monitorizar y analizar.
    • Vuelta a empezar…

Y para cada una de estás etapas hay herramientas dentro de Azure.

 

Por qué todo este ciclo de vida es más complicado que en entornos clásicos? lo resumieron muy bien con está imagen de documento de Google:

 

 

Luego se fueron centrando en los diferentes estadíos del desarrollo de aplicaciones con AI, lo dejo en ingles para no perder en la traducción:

  1. Infusing AI intro App: develop AI and App separate and then join at the end. Este es el punto actual en la mayoría de los clientes.
  2. Automate Model Training : Automate training & test model. Este es el punto normal en las empresas punteras.
  3. Store, Version and Validate models: Model Storage & versionining for automated deployemnt.
  4. Automate Model release: data based triggers & continuous automated training.

Para cada uno de estos pasos se fue mostrando que herramientas de Azure intervenían.

Luego pasaron a explicar algunos puntos importantes en las etapas de DevOps para AI, cómo:

  • Versionado y Control, algo crítico para garantizar el objetivo antes mencionado de la “Reproducibility”:
    • Control de código y de la configuración del mismo.
    • Versionado de los Dataset y de las iteraciones de entrenamiento.
    • Versionado del propio modelo.
    • Versionado del pipeline de entrenamiento, con sus pasos intermedios, resultados etc.

De forma análoga se fue pasando a revisar el resto de objetivos como la validación del modelo; el versionado y almacenamiento de modelos (crítico para descubrir y compartir nuevos modelos); el despliegue de modelos simplificando la interacción con el mismo y el despliegue a múltiples objetivos, etc.

Cómo ayuda en general Azure, en 3 áreas:

  1. Infraestructura como código. Contando con herramientas cómo:
    • Azure Resource Manager templates
    • Azure ML SDK & CLI para Python.
  2. Integración y Despliegue contínuo. Contando con herramientas cómo:
    • Azure DevOps Pipelines.
    • Azure ML Training Services.
    • GitHub.
  3. Pruebas automatizadas / gestión de entregas / monitorización. Aqui con una miriada de herramientas:
    • Azure DevOps para pruebas automatizadas.
    • Integraciones con R
    • Integraciones con Python
    • MLFlow & Azure ML
    • Azure Data Prep SDK
    • Azure ML Model Management
    • Azure Monitor…

Y finalizaron la charla con una demo (disponible en GitHub, cuando la encuentre actualizo el link) y las conclusiones:

  • La unión de DevOps y AI es necesaria y mejora a ambos mundos.
  • DevOps mejora la capacidad de entrega del AI.
  • Este tema es mucho más que pura tecnología, como siempre lo dificil es cambiar a las personas y los procesos…

 

Un gran final de día…

 

 

 

No hay comentarios

¡Se el primero en comenzar la conversación!

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 )

Google photo

Estás comentando usando tu cuenta de Google. 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 )

Conectando a %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.