Microsoft Ready – Feb 2019. Day 4.

15 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. 

Otro día lleno de sesiones y sin KeyNote así que arranqué el día con una charla de “Tecnical Deep Dive for Azure Marketplace: SaaS, Apps, AAD and Azure Solutions templates” impartida en una sala pequeñita por Patrick Butler, Director del Azure Marketplace On-Boarding.

Teniendo el título de “Technical Deep Dive” fue una desilusión de charla. Se centró básicamente en cómo ayudar a nuestros partners a interactuar con el Marketplace. Poca tecnología pero mucho negocio.

Se explicó la importancia del Marketplace basado en el consumo que arrastra e incluso más impresionante, la aceleración del consumo que conlleva en los clientes.

Una slide bastante útil para los empleados era una matriz con todos los nombres y cargos relacionados con el Marketplace, la verdad es que cuando internamente se dice que Microsoft es muy transparente no se exagera.

Se habló también del roadmap del Marketplace, orientado a simplificar técnica y económicamente la gestión de las ofertas de nuestros clientes/partners.

No era lo que buscaba en la charla pero no estuvo mal para enterarme un poco más del funcionamiento de este portal de Azure.


Después volví a una charla de CosmosDB llamada “Landing CosmosDB use cases with your customer” impartida por Andrew Liu (PM de Azure Cosmos DB) y Anthony Mattas (Sr. Solution Architect).

La charla se inició con un análisis de los modelos de BBDD dependiendo de si requerían alta concurrencia o no, junto con la necesidad o carencia de un esquema formal:

  • OLTP: Alta concurrencia con Esquema. Crece en Scale UP.
  • NoSQL: Alta concurrencia sin Esquema. Crece en Scale OUT. Cosmos DB entraría en esta categoría.
  • Relational Data Warehousing: Baja concurrencia con Esquema. Crece en Scale OUT.
  • Distributed Data Processing: Baja concurrencia sin Esquema. Crece en Scale OUT. Hadoop es un ejemplo.

Por supuesto estos modelos no son excluyentes, como la mayor parte de los clientes pueden confirmar.

Por NoSql entendemos:

  • Sólo otro tipo de DB…
  • Particionado para crecimiento y concurrencia.
  • Replicación para HA y Geo localización.
  • Esquema agnóstico.
  • Soporta almacenamiento de complejos tipos de datos a escala.
  • ACID Vs BASE es una leyenda urbana…

¿Qué es Cosmos DB? …  creo que quedo explicado muy bien en la charla de ayer 🙂 pero ahora con una imagen pública

En la charla del otro día también se habló del por qué de su elección por parte de los clientes: distribución, escalado, latencias, pero sobre todo la sencillez de la gestión en un entorno PaaS.

Luego la charla se focalizó un poco en el proceso comercial, que no es objeto de este post, pero de nuevo para personal interno me pareció muy interesante. Fueron entrando de nuevo en varios casos de uso con necesidades, clientes y explicaciones de la arquitectura de alto nivel. Muy interesantes algunos de ellos sobre IoT, análisis de tráfico web o latencia en HA a nivel internacional….

A modo de resumen se mostraron casos de uso típicos por negocios (en inglés):

  • Retail
    • Order processing pipeline
    • Product catalog
    • Personalization
    • Real Time Analytics
  • IoT & Manufacturing
    • Device Telemetry
    • Device Registry
    • Supply Chain management
  • Gaming
    • Social Clans / Guilds
    • Leaderboards
    • Messaging
  • FSI
    • Audit Trail
    • Tax Forms
    • Risk Analysis
  • ISV
    • CMS
    • Data interchange
    • DevOps Dpendency management
    • Knowledge graphs
  • Healthcare
    • Data interchange

Y luego se pasó a hablar de algunas consideraciones técnicas…

Resource Model.

La estructura de objetos en Cosmos:

  1. Cuenta. Aqui se guarda información sobre:
    • La cuenta de conexión.
    • Claves globales.
    • Tipo de API a usar (SQL, Mongo, etc).
  2. BBDD. Aqui se guarda información sobre:
    • Autenticación de usuarios.
    • Permisos locales y Tokens.
    • El ancho de banda de la base de datos general, es decir el numero de RU’s compartido por todos los contenedores (la explicación de lo que es una RU está más abajo).
  3. Contenedor/Colección/Grafo-Gráfico… aquí lo que se guarda es:
    • Objetos del contenedor cómo las colecciones, grafos, tablas etc.
    • La clave de particionado.
    • El ancho de banda concreto de este contenedor (RU’s).
  4. Item. Esto básicamente son:
    • JSON de un documento, nodos etc
    • Procedimientos, trigger etc. Funciones Javascript.

Requests Units (RUs).

Unidad de rendimiento agregada (por segundos) con un mínimo de 400 RU’s/seg por Base de Datos. Es una mezcla de %memoria, %CPU y % de IOPs. Es también la unidad fundamental de facturación. Toda operación consume un nº determinado de RU’s, por ejemplo una lectura de 1Kb consume 1RU.

Un tema fundamental es que Cosmos puede escalar en segundos basándose en el cambio de RU’s ,lo que da una gran ventaja competitiva contra otros sistemas en los que puede llevar horas…

Particionado.

Un tema fundamental para garantizar el éxito de un proyecto de Cosmos. Habló de particionado físico y/o lógico y de nuevo (como ayer) de la importancia de seleccionar una clave (particionado lógico) con una alta distribución, es decir, bajo skew, para garantizar unas particiones similares en tamaño.

También se habló de la relación entre particionado físico y lógico explicando diferentes casos de uso que pueden suceder.

 

Una charla muy interesante para un nivel básico como el mío para reforzar y complementar la del día anterior. Esto del Cosmos DB mola mucho 🙂


Tras el descanso para el “lunch” se inició otra super-charla de Mark Russanovich sobre “Azure Infrastructure and Datacenter futures“, llenazo de nuevo, este tío es un ídolo.

Mark arrancó su charla explicando lo altamente confidencial que era todo el contenido y todo bajo NDA, así que no puedo compartir nada de lo dicho, pero si mis ideas tras la charla:

  • Increíble el numero de Datacenters y de Fibra de la empresa a nivel mundial, y más impresionante aún el crecimiento planeado.
  • Lo mismo sobre el diseño de las diferentes generaciones de Racks empleados en cada Datacenter con cifras monstruosas de consolidación de CPU y memoria por Rack.
  • Alucinante también la innovación alrededor del diseño de los Datacenters y las arquitecturas locales para optimizar las cargas de uso más exigentes. De nuevo la apuesta de FPGA en lugar de GPUs parece estar pagando los dividendos.
  • Las mejoras e investigación alrededor de la red local es también algo increíble, rompiendo muchos de los límites actuales de la networking tradicional.
  • Se volvió a mencionar que pesar de la importancia actual de K8S, tarde o temprano los desarrollos “serverless” u otros son el futuro. A este respecto se habló de cómo simplificar el destino de despliegue de una aplicación (contenedor, tipos de Cloud, edge, on-premises, etc)… un proyecto con demo que impresionó bastante a la audiencia, incluyéndome a mi.
  • Realizó una demo de despliegue de aplicaciones sobre diferentes nubes (si eso, no sólo Azure), diferentes sistemas (K8S, local, Edge) que fue literalmente la ostia… mostró el verdadero futuro del mundo de DevOps.
  • Cerró la charla hablando sobre computación cuántica. Explicó las complejidades de ese mundo y como Microsoft las esta abordando… increíble lo que se avecina en este mundo!

En definitiva, una charla espectacular sobre el estado de arte del mundo de la infraestructura de un Hyper-scaler y de la Cloud en general, pero poco que se pueda compartir…


Seguí la tarde con la sesión “Developing hybrid modern apps for Azure Stack” con los ponentes Anjay Ajodha (Program Manager) y Ricardo Mendes (Principal PM Manager)

No tenía muy claro de que iba la sesión, pero se centraron en mostrar las bondades del “Intelligent Edge” y como desarrollar mejores proyectos híbridos. Los porqué de estos proyectos son los clásicos: entornos desconectados, soberanía de los datos, regulación. etc.

El concepto “híbrido” tiene varias lecturas: gestionado en varias nubes simultáneamente, recursos esparcidos entre la Cloud y el Edge usando endpoints públicos para la conexión, conectividad entre nubes… esto al final permite diferentes formas de desarrollar aplicaciones.

Realizaron una demo sobre ingesta de información en Azure y procesamiento en Azure Stack. La ingesta internacional de información se llevó a caso con OneDrive y mediante Microsoft Flow se mandó a Microsoft Queue; todo esto está en Azure (Cloud). Dentro de Azure Stack habrá una función que leerá la cola y procesará el contenido (entorno híbrido), tras definirle una conexión con la cola de Microsoft Queue. Sencillez máxima para mostrar la “hibridación” de una aplicación.

La demo fue curiosa por un par de puntos: por el uso de otros artefactos fuera de Azure cómo Flow o OneDrive. Tambión fue curioso mostrar la ingesta en entorno público y procesamiento en entorno privado, al contrario de lo habitual.

Entrando en los objetivos de Stack, estos son permitir el desarrollo consiste de aplicaciones y obviamente hacer disponible los servicios de Azure en un entorno on-premises.

Luego se saltó a una demo de una pipeline CI/CD en entorno híbrido. En esta demo se realizó una pipeline para hacer el testing y desarrollo de una aplicación en Azure y que luego desplegara en un entorno local (Azure Stack on-premises).

También se mencionó algo de Roadmap sobre los diferentes servicios e items que llegarán pronto a Azure Stack.

Se cerró la charla con un resumen sobre acceder a recursos alrededor del mundo híbrido y una demos mostrando una solución completa en mundo híbrido.

Durante la demo se clasificó muy bien los diferentes casos de uso de una solución híbrida:

  • DevOps híbrido.
  • Escalado entre Clouds (K8S es un ejemplo).
  • Soberanía de los datos o gravedad de los mismos.
  • AI en el Edge.
  • Aplicaciones geo-distribuidas.
  • Tiering de los datos para Analytics.

Interesante como introducción al mundo de Azure Stack en Microsoft.


Acabé el día con la sesión “Build software faster by sharing code with Azure Artifacts” por Mitch Denny (Program Manager).

Fue una sesión centrada en cómo publicar software reutilizando artefactos de Azure y como gestionar la seguridad a su alrededor.

Al meterme en esta charla me columpié porque estaba claramente orientad a DevOps con una gran experiencia en Azure Artifacts, lamentablemente por eso no pude tomar notas, pero algo aprendí… fue un buen cierre del día para recordarme que estoy empezando en el mundo de Azure y de los amplio que este es.


Resumen general: un día genial aprendiendo de cosas geniales 🙂

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.