Segunda jornada del Pre Summit de Solid Quality

La jornada no podía tener mejor comienzo, Eladio Rincón nos introdujo la Plataforma Azure.

Lo primero, el concepto, hay muchos por ahí, Eladio ha escogido el de wikipedia: es un paradigma que permite ofrecer servicios de computación a través de Internet. Aquí tenemos: Infraestructura, (hierro), Plataforma (máquina pre-configurada), Servicio (aplicación en la nube que da servicio. Amazon y Google llevan la delantera en estos temas. MS ofrece Windows Azure,  como un sistema operativo en la nube. Para la parte de almacenamiento aparece la solución de Windows Storage, esto es un contenedor en el que vamos a almacenar información. Luego SQL Azure, que es un SQL que tenemos en la plataforma Azure, que por ahora está limitado en capacidad de almacenamiento, de momento 50 Gb, acabadito de informar en el MS Mix de las Vegas, tampoco está implementado el 100% de T-SQL; pero la mayoría sí que está. Está comenzando, queda mucho por andar; pero es buen comienzo.

Es decir, MS ofrece Windows Azure: Hosting como VM, almacenamiento. SQL Azure: SQL Server en la nube y Server AppFabric: Servicios Web y Autenticación y el Proyecto Dallas: “datos para todos”, se trata de mostrar datos de interés general. Aquí, el que expone sus datos obtiene beneficios, el que los consume, paga el servicio. Ya están dentro de este proyecto, entre otros: estadísticas de crímenes, información de la NASA sobre el espacio, la UNESCO tiene información sobre demografía y alimentos y otros.

Eladio demostró temas relativos a la carga y configuración de aplicaciones, recomendó trabajar en el servdor de Staging, no en Producción, esto no es Azure, es para siempre :).

Sobre el uso y el coste, la idea es que realmente pagas por lo que usas, en dependencia de las instancias y el tipo de máquina que configuremos, es elástico; pero con control. ¡¡¡ Calcúlalo y contrata !!!

Soluciona las necesidades de Hardware en la nube, para las empresas que quieran exponer sus servicios o que lo necesitan por un período de tiempo, sesiones del año, partes del día, etc. Hay bastante seriedad con el disponibilidad del servicio. Sobre SQL, teniendo SQL en la nube sufrirás latencia entre la aplicación en local y el Azure.  Latencia en la comunicación dentro de la máquina no hay. No se trata de consumir el SQL desde fuera. No se trata de subir unas Aplicaciones Windows, este no es el escenario de entrada.

Como siempre, Eladio estuvo excelente, demos muy ilustrativas y el debate muy interesante. Gracias.

Nos fuimos al café, algo más de charla sobre temas de contadores de rendimiento y métricas en BBDD, tipos de accesos a datos, con Daniel Seara.

Regresamos a clase, y regresamos con Eladio que se dedicó un poco más al tema Windows Azure Storage

Ofrece Storage table, Storage Queue, Storage Blob y SQL Azure.

En Azure queda mucho por ver, mucho por avanzar, en temas de SQL en particular queda mucho por compatibilizar; pero como les decía es un buen comienzo y se lo están tomando muy en serio empresas de software (Microsoft, Amazon) y Clientes.

Aprovecho para dejar enlaces para profundizar sobre el tema … hay muchos más; pero para empezar dejo tres:

Gracias Eladio, ha sido una jornada introductoria; pero no por ello carente de profundidad en los temas. Los ejemplos muy bien preparados.

Un paseo y 5 minutos de charla para entrar en la siguiente sesión impartida por Kike Puig dedicada a SQL Azure, lo más correcto es decir que tuvimos un mano a mano Kike – Eladio, excelente par ¡!!

SQL Azure es un subconjunto de SQL, abarca las principales funcionalidades, se espera que en el futuro, entre todo, incluso BI 🙂 No soporta tipos de datos CLR, los datos espaciales de SQL Server 2008, consultas ni transacciones distribuidas, no se puede navegar entre diferentes BBDD, no se admite FullText, Tablas temporales globales, unos de tablas de sistema y compresión ni encriptación. No está soportado el SQL Profiler. Las BBDD son de múltiples usuarios por lo que conectamos a nivel de BBDD no de instancia como antes. SQL Azure tiene el mecanismo de 3 réplicas para tener 3 copias.  La autenticación será solamente mediante user y password.

Aquí podría haber mejoras, … se esperan :), algunas se empezaron a comentar en el MIX, al menos hay esperanzas de que mejore 🙂 . Se supone que esté el Profiler, Full-text, DMVs, Datos espaciales,  posibilidades de hacer seguimiento de campos, y sobre BI se trata de momento de poder trabajar con SSRS, Power Pivot, etc

En el ejemplo vimos los elementos que compone una BBDD de SQL Azure, apenas se pueden utilizar Bases de Datos y Seguridad. Aquí tenemos dos tipos de BBDD, Web Edition de 1 GB y Bussines Edition de 10 GB. Lo predeterminado es 1GB, para hacerlo de 10 GB debemos agregar MaxSize = 10 GB. Esta definición es crítica, por lo que pagas y porque, de momento, no se puede migrar.

Vimos cómo funciona la seguridad, creamos un login, un usuario, le asignamos un role y ya está. El código T-SQL es el mismo que estamos acostumbrados a tratar. Kike nos aconsejó mirar en  View – Template Explorer – SQL Azure con el código T-SQL propio de SQL Azure, en SQL 2008 R2, claro.

Luego introdujo, al menos para mí, dos nuevos términos:

  • Code Near – aplicación y BBDD, con un cliente Internet Explorer. Este es el escenario natural. El movimiento entre lo que está en la nube no se cobra. Todo el tráfico entre la lógica de negocio de la aplicación y la BBDD no se cobrarían, se cobraría el tamaño de almacenamiento.
  • Code Far – en la nube SQL. Es bastante menos eficiente, hay que habilitar firewall de seguridad. Hay que pensar en el ancho de banda.

Nos habló del nuevo role que cumplirá un DBA y que tareas como Backup y Restore no se pueden realizar, lo se soluciona haciéndolo a mano con un BCP o un paquete de SSIS. Miguel Egea lo demostrará en la siguiente sesión.

La sesión termina con un conjunto de buenas prácticas, que resultarán de mucha utilidad cuando empecemos a trabajar con estos temas. La migración puede ser bastante transparente, el rendimiento es muy bueno.

Excelente mano a mano, interesantísimos ejemplos, buenas prácticas incluidas. Mucho por aprender. Muchísimas gracias a Eladio y Kike, a comer ¡!

La comida muy agradable, hemos hablado de paseos, de Madrid, de Galicia, de Argentina y claro está, de trabajo. Miguel Egea nos invitó a un sabrosísimo café, para celebrar su cumple.  Con el café, más trabajo, se reunieron dos generaciones de Solid, juventud (Alex, que acaba de llegar) y experiencia (Miguel), ¡ qué par ! Despedimos a Dani Seara que tiene más compromisos, Gracias Dani por el evento.

Miguel Egea vino a contarnos  Moviendo datos entre SQL Server Azure y SQl Server.  Como siempre nos trae muuuuchas diapositivas:), pasamos casi inmediatamente a las Demo.

Para empezar crea una BBDD en SQL Server Azure, y lo hace desde SQL Server 2008 R2. A partir de una BBDD relacional real, que funciona en 2008, intenta crear una igual en Azure, para ello genera el script de Creación de BBDD, y luego necesita quitar un grupo de cosas que no son compatibles, como pueden ser índices sobre campos XML,  especificar CONTENT dentro de campos XML, por lo que tampoco admite esta colección de restricciones, llamadas a procedimientos almacenados que no existen, replicación, etc. Al intentar crear la BBDD, devuelve todos los errores de incompatibilidad, tenemos que ir “limpiando” el script hasta conseguir que los objetos de una BBDD estén en la otra, los compatibles, claro. Este ejemplo demuestra algunos de los elementos de SQL que no son compatibles con SQL Azure.

En la segunda demo, aprovecha la utilidad BCP (out) para extraer datos de una tabla de SQL y lo sube a Azure con BCP (in). Aquí nada nuevo, si aun no usas BCP, dale una miradita que es sencillo y muy efectivo.

El tercer caso, actualiza con código VS.NET, (yo hubiera pensado hacerlo con BULK INSERT de T-SQL); pero no está soportado, para subir datos a la BBDD Azure.

El siguiente ejemplo trata del uso del Asistente de Migración de Datos es una aplicación de la comunidad que se llama SQL Azure MW (SQL Azure Migration Wizard v3.1.9)  y se puede encontrar en codeplex. Este asistente crea el script para el llenado de estas tablas, y vemos que se basa en BCP. Al descargarla tienes un fichero “Not supported by Azure”, aquí están las claves de las incompatibilidades entre ambas plataformas. Habrá que acudir a el, sin dudas !!!

No funcionan servidores vinculados ni replicación. Por lo que nos queda SSIS. Sí, señores, estamos hablando de BI para temas de Azure !!!!! :). Con una sencilla demostración, Miguel “jugó” con posibilidades de Alta – Baja y Modificación desde Azure hacia no Azure y viceversa. Quedó clarísimo !!! Viva SSIS, me encanta.

Luego Miguel habló de crear los paquetes desde el framework .NET. Mmmm esto hay que verlo, se hablará en el Summit y si se puede … va y nos regalan algun ejemplito antes, ¿verdad Migue y Rubén?

¡¡¡ Qué gozada de sesión !!!, tremenda energía, buenísimos ejemplos, buen material para revisar más a fondo y la intriga del .NET para crear paquetes de BI. Gracias Miguel, como te dije, espero que el resto de tu cumpleaños haya sido muy bueno. A nosotros nos hiciste el mejor de los regalos 🙂

Sobre SQL Azure, no se pierdan estos recursos.

Entre sesión y sesión, una foto de familia, no estaba la familia al completo; pero aun así, aquí se las dejo. El resto de fotos de las presentaciones, para el sitio de Solid.

PreSummit Solid 2010

Solid Quality Mentors aun tenía más regalos preprados, la charla de Greg Low sobre MS StreamInsight, que es una de las novedades más interesantes en SQL Server 2008 R2.  Greg Low explicó el papel del Complex Event Processing que sustituyó por StreamInsight. Comentó que  existen muchos escenarios en los que s posible emplear StreamInsight, entre los que recuerdo: energía eléctrica, casinos, logística, bolsa, salud, juegosmulti jugadores, y otros, se trata de encontrar patrones, detectar intrusos, fraudes, etc. Mostró una gran cantidad de ejemplos escritos en C#.NET con sentencias en LinQ para mostrar todo el proceso de búsqueda y obtención de los datos que precisaba su aplicación. Una aplicación real y a la vez muy didáctica para llevar al asistente de la charla la idea central de la ventaja del uso de StreamInsight.

En un momento, Greg Low habló de CROSS APPLY, una novedad en SELECT de T-SQL 2005, parece que no se utiliza mucho y es una excelente manera de evitar el uso de cursores, ese gran enemigo del motor SQL. A mí en particular, me gusta bastante y me parece una excelente solución. Yo tenía en la mano, sobre la mesa, un ejemplo de uso de CROSS APPLY, que solucionó una problemática real de clientes. Después de la charla, lo mostré a Greg Low y me dijo que era un buen ejemplo, espero publicarlo muy pronto y compartirlo también con ustedes :).

A la pregunta de si será compatible con Azure, Greg respondió que sin duda, se trata de gestión de eventos, no entrará en contradicción con Azure.

Gracias, Thank you Greg Low !!!!  por la charla que fue muy agradable, instructiva y con un inglés bastante cómodo de entender. Ha sido un placer conocerle.

Es un acierto absoluto por parte de SQM aprovechar que Greg Low, estaba “cerca”, e invitarlo a participar. Tuvimos el privilegio de escuchar a la persona que está haciendo las presentaciones de StreamInsight por todo el mundo como parte  del programa SQL Server R2 Metro. Se trata de un programa de formación destinado a adoptar las nuevas funcionalidades incorporadas a la versión. Podemos ver aquí anunciado un evento en Madrid, que forma parte de este programa, (hay que cumplir algunos requisitos para asistir).

Y cuando ya crees que se ha acabado, Fernando Guerrrero, CEO, fundador y mentor de Solid Quality, cerró la conferencia, con un intercambio de experiencias sobre nuestra apreciación del evento e invitándonos a participar en el Summit de Junio 2010 y comentándonos sobre dos iniciativas de SQM: la creación de una revista (Solid Quality Journal) para concentrar muchos de los artículos que se van creando a lo largo de los meses de trabajo y la experiencia que se acumula y más iniciativas de formación dentro de SQU, estaremos atentos.

Se cierran las puertas del Pre-Summit 2010, par de jornadas de intensísimo trabajo, muchas tareas pendientes, queda el mundo por ver; pero el camino a seguir está muy claro. Ahora, cada uno, según sus posibilidades y necesidades tomará con seguridad era ruta. ¡ A sido muy divertido, placentero e instructivo ! Hasta Junio … o antes 🙂

Gracias a todos, a los que hicieron posible el evento, a los mentores por el esfuerzo realizado en la preparación y defensa de las charlas y a los asistentes por la participación.

Hasta la próxima,

Ana