 Buenas tardes, yo creo que comenzamos, no disculpa porque vamos un par de minutos tarde, estamos acabando de pulir la presentación, si lo escuchas bien verdad con el introso, ok, bueno pues estamos aquí somos tres, porque vamos a tratar de hacer esto lo mas informativo y útil posible Mi nombre es Pedro Andral, yo soy responsable de cuentas estratégicas dentro de la unidad de negocios de Madrid y escribente de Noracol, proveniente en el que comentaban ustedes previo ahora que previas son Entonces bueno conozco bastante la trayectoria y bueno como hemos avanzado en la adopción de Latinoamérica etc Y también me acompañan Manuel Contreras, consultor principal, yo conozco a Latinoamérica, nos hizo a favor de acompañarnos el día de hoy y Johan viene del tiempo, muchos de ustedes conocerán, es el portal de mayor tráfico Y puntualmente nos va a tratar de dar unos tips de cómo ellos usan mayores escribentes de Dupal facitosamente, por favor interrumpan cualquier cosa que sea lo mas importante de nosotros Igual esto es un poco la género que vamos a cubrir, primero vamos a funcionar en los lugares un poco históricos, un poco altos en mayores escribentes de Dupal, después de ver un poco más de materia técnica Ahora cuide de Manuel para hablar de la aplicación, formiglulaciones para utilizar Dupal, por el sentido de las mejoras en mayores escribentes de la partida de 5.5 ¿Quiénes ustedes ya han utilizado mayores escribentes de Dupal? Ok, casi todos, y Drupal es el primero de todos, ¿no? ¿Versiones de mayores escribentes anterior a 5.1? Ok Drupal 5.1 por ahí, o sea me refiero mayores escribentes de 5.1, ¿tú al menos con Drupal? Ok 5.5 o 5.6 5.5 Ok 5.6, nosotros estamos para actualizar, alguien que esté atrás de las 5.1, eso es un 4x, ¿a ver? 4x Ok Bueno, después vamos a hablar un poco sobre líneas más específicas, Warp Edge, un poco de tips también de Corea y Cache y utilidades y después vamos a apoyar Yofen con el caso de 5.10, un poco de las cosas Entonces bueno, como todos saben, mayores escribentes completamente abiertos, obtenibles, abiertos de código, que no hay que no estar, lo que decimos por acá, así que bueno, realmente trabajamos con todo tipo de tecnologías, desde lo que es Drupal, hay muchísimas informaciones de Drupal escribente, y a nivel global uno de los ejemplos de Drupal es LinkedIn y luego vamos a hablar un poco de la mayores escribentes del portal, entonces luego el tiempo tiene bastante trato, como el sitio local y bueno, por eso uno de los importantes es que el día a día se descarga personalmente 80.000 veces, lo que es el motor de base de gastos, vamos a hablar del maestro y el comienzo de service, es importante mencionar que ahora con sí el antenino, tanto la versión de enterprise, que uno tiene funcionalidad, soporte, optimizaciones como la versión comienzo, ¿no? Y bueno, ya vamos a casi seis años, el maestro y el vapor, y bueno, solo un poquito de la innovación, de las versiones 5.5 y 5.6, lo que viene en la nueva, y bueno, son mis adversarios que permiten que trabajen mejor con Drupal. Hablando de Drupal, igual, posiblemente conozcan hasta más que nosotros ustedes, pero bueno, igual tenemos datos interesantes, alrededor de 30.000 módulos, cumplidos por la comunidad, es muy importante, porque tanto para Drupal, pero para Mays, la comunidad sigue siendo muy importante en el ciclo de desarrollo del software. Y bueno, la comunidad, según la cifra de 2014, igual, me sería más, es más de un millón de miembros y 30.000 niveles de Drupal, entonces bueno, ha estado un poquito de que está en todos lados, básicamente en Drupal y Mays Tión. Y yo soy uno de los ejemplos de compañías, podría eso, que me sabe mal, inscribiras, me diría también con Drupal, como los de Dintin, y bueno, si os quieras mencionar un poco de la cifra. Por supuesto, bueno, que tal, buenas tardes a todos, nuevamente con el contradas de este lado. Y un poco la intención de hablar en este slide al respecto es, todas estas marcas desde luego, la conocemos todos, hemos hecho usuarios de todos estos servicios, particularmente Dintin, corre una arquitectura con Mayes, Kibel y Drupal, que es un caso de referencia. Y bueno, algunas cifras interesantes, por ejemplo, Drupbox, el servicio de storage en Nube, utiliza o administra más de 300 millones de usuarios, es un volumen bastante grande. Tienen un conjunto de archivos de mil millones, como tal, esos archivos los persisten y los enfile systems, que después indexan todo el control de acceso a esos datos, y los metalatos como tal lo guardan en una barra con servidores mayes, Kibel. Es un caso de referencia que un volumen también impresionante. Y bueno, a tu vez creo que todo el mundo lo ha escuchado, a tu vez utiliza mayes, Kibel como motor, para persistir información que requiere, para hacer todo el manejo de los hashtags y toda la información que nosotros vamos visualizando. Ellos tienen promedios de 500 millones de tweets al día, 270 millones de usuarios mensuales activos. Y Booking, que es el portal de reservas en IA para hoteles. Bueno, ellos también han estado en Santo Mayes, que por bastante tiempo y su data set es de 15 terabagones. Entonces, un poco el desaje aquí para hacer una conclusión es, estamos explicando que mayes Kibel ha sido ampliamente probado en ambientes del orden de terabags, y no solamente terabags, sino muchísima transaccionalidad. Y estos monstruos han sabido utilizar mayes Kibel con éxito, bueno, pues no hay razón por qué nosotros no podamos en nuestros sitios con Groupal poder sacar por 8 mayes Kibel y poder escalar bajo la demanda. Es decir, tener una solución de algún portal en la nube, y que nosotros podamos elásticamente crecer esa capacidad de poco a verano, no 2 ni 1, ¿no? Pasando a la parte ya un poco más técnica, previo a que yo en los comentarios sobre el caso de estudio, sobre replicación. ¿Quiénes de aquí han utilizado replicación con mayes Kibel 5.5, que tengan sitios con replicación? ¿Tengan sitios Maestro Esclavo, algunos? O que voy a dar una introducción para los que no, quizás no lo han mirado. Resulta que mayes Kibel, como motor de base datos, trae la característica propia del manejador que permite replicar información con fines de poder escalar. Lo que yo puedo hacer, en orden de poder tener más de un servidor de base datos que me permiten escalar sobre las lecturas o escrituras en mis portales regionales, yo voy a poder agregar más de un no, cuando yo activo ciertos parámetros de configuración en el archivo MyCNF de mayes Kibel, indico que ese servidor va a tener un contexto de más replicación. Lo que va a hacer él es cada escritura, cada operación de main, insert, play, party, ejecutor, se le da base datos. Adicionalmente, estar guardando esa información en los tablespaces, adicionalmente se van a crear unos archivos llamados big logs. Que no es más que una serie de archivos binarios que guardan un habitáculo de todas las transacciones en base a un índice. Hoy, por cierto, va a ser un índice global, que es el impacto de las mejoras que se está haciendo en mayes Kibel 5.6 para tener control de este esquema de replicación tolerante a payas. Y con qué fin, bueno, con el fin de que después yo pueda configurar una segunda, o en instancia llamada SLEI, que se conecte via TSP al servidor, Master, desde luego, con un esquema de seguridad, lea los bin logs y retransmita esa información hacia otras ditáculo, las que en instancia son el mismo formato los bin logs, pero son leídos locales de lo que tiene el esclavo, llamados delay logs. Y una vez que se retransmita en estos delay logs todo lo que se está escribiendo en el servidor Master, el esclavo pueda estar copiando esa información. Esa replicación, no hay nada que podamos tener una distribución de cargas. Y más adelante, vamos a ver que el enfoque de tener este tipo de soluciones es que lo fidelo puedan fragmentar datos en diferentes segmentos diferentes de shards, esos shards meterlos en grupos de replicación y poder escalar horizontalmente. Y para poder soportar y crecer elásticamente en el tiempo, ¿no? ¿Qué hemos hecho? Bueno, pues primero liberamos la versión 5.5 en diciembre de 2012. Esta se considera la versión, la primera versión liberada por Oracle, con el mayor número de mejoras del producto en la historia de JSQB. Si a Oracle liberó un set de nuevas características que no lo decimos nosotros como Oracle, sino los mismos usuarios de comunidades han declarado que ese release ha sido el release que ha hecho más contribución en la historia del producto. Y bueno, haciendo un resumen rápido de qué es lo que se ha incorporado en temas de replicación en 5.5 y 5.6, por un lado, primero es la replicación semi-synchrone. ¿Alguien la ha probado? ¿Ha usado temas de replicación semi-synchrone? ¿De qué se trata? Esto es muy sencillo. Cuando nosotros alistamos un servidor maestro esclavo esa replicación es asynchrone. Es decir, el maestro está escribiendo las transacciones en los bindlocks y el esclavo no tenemos certeza de que esté comiteando la última transacción. Hay un delay o un retraso que desde luego depende del tráfico de transacciones, de la red, de hardware, etc. Bueno, pues una de las características que dieron vía que pudiéramos nosotros tener un control de tener certidumbre de qué esclavo es el que comité la transacción, es a través de este plugin que por cierto fue desarrollado junto con Facebook. Este plugin lo que hace es cuando se transmite la replicación al esclavo y el esclavo confirma que ya escribió esa transacción. Él manda un reconocimiento al maestro para que el maestro de todo momento puede verificar cuál de los esclavos es el esclavo 5. Tener certidumbre de cuál es el último esclavo que comité la transacción y cuál es el esclavo que está en tiempo real. Esto, bueno, pues más adelante viene a ayudar mucho al poder tener una consistencia y un control de la información en los servidores de la aplicación. En la versión 5.6 se arreglaban varios aspectos, que en este caso hemos hecho un resumen muy breve. Arreglamos una característica que se llama replicación base a prioridades o en base a retrasos. ¿Qué es esto? Cuando nosotros, a nivel de videopers, estamos decidiendo qué información vamos a segmentar en un esquema de la aplicación del maestro esclavo. Es muy posible que necesitemos crear prioridades o hacer prioridades en función de la información que retiramos más cuando quiera. Y yo puedo decir, estas tablas tienen mayor prioridad, entonces la replicación va a ir de forma semicíncrona, o sea cíncrona, así es que le da y es lo que lo mejor, si no me interesa que tenga una replicación síndrome, le pongo un delay cada segundo o cada quinientos el esclavo esté resistorizando la información, sobre todo para procesos que no necesitamos, lecturas y temporales. Nosotros podemos retrasar de base a prioridad. Después, parte de la versión 5.6 y el objetivo de la versión 5.6 con replicaciones que nosotros vamos a tener septidumbre en todo momento con qué bin long position val master y en qué bin long position val esclavo. Tener el control global en las transacciones que permiten identificar en el caso de un crash, podamos identificar qué transacciones quedan pendientes por identificar y poder ver esos bin logs y hacer cincronizar la replicación. Eso es parte de lo que se hizo con estos identificadores globales, entonces por ahí se revió allí en los global transacciones listos. Alguien herramientas, incluso que más adelante vamos a platicar en el país bonito o los mismos que permiten que los developers puedan tener un mapa que inmediatamente les diga este esclavo que está procesando la transacción X y el master está procesando la transacción Y y este es el G que hay que recuperar en el caso de un crash. Y bueno, uno de los temas que nos aquejábamos pegábamos mucho de el Majesquiet 5.1 en el performance de la replicación. Sucede que el Majesquiet 5.1 y los exclavos leían los relay dogs en un single trap entonces había un cuello de botella que generara cierta contención a nivelíos porque los relay dogs somos esclavos únicamente de un solo trap y va a estar brillendo si tenemos un procesador con un tipo de scores nos vamos a estar desaprovechando el multicore. Lo que hizo Oracle y fue parte de las mejoras que se incorporaron de la version 5.6 es poder hacer que ese trap esclavo sea multitrap que puedas por el varios siglos tú puedes definir cuantos grupos de replicación tener y poder asignar prioridades y ahora si cada grupo de replicación tiene un pool de traps que va a ser independiente en el fin de estalar más en el hardware el simple hecho de que tú migres de 5.1 a 5.5 o 5.6 activando este multitrap esleif ya ganas performance en la replicación es que estoy tratando de explicar para hacer una conclusión aquí es si ustedes usan replicación y sienten que esa replicación va retrasada demasiado tiempo valdría la pena que mirara la lusión 5.6 porque esto va a permitir que el cap de tiempo de replicación de los estados y los máster sea cada vez más cercano a ser ok pasamos antes de conversar sobre el caso de estudio que Johan nos va a comentar pasamos a dar unas recomendaciones generales de lo que nosotros desde el punto de vista de Majesquiel recomendamos setear para Drupal esto bueno desde luego es un tunic inicial existen herramientas y procesos que podemos utilizar para realmente el monitor poder empezar a hacer un performance tunic de acuerdo a lo que la ranita o lo que Drupal en este caso demande pero en términos generales la recomendación es utilizar cachés ¿qué es esto de los cachés? lo que más nos duele en base a datos en Siria de granismo si bien nosotros tenemos una capa de caché a nivel web que va a estar resolviendo bastante de esas consuntas a nivel base a datos también es importante activar los primeros tenemos que activar son los referentes a datos e índices de INODB si tú revisas y tras más con datos puedas tu cacha en este buffer pool mucho más rápido va a ser las consultas y el acceso entonces nosotros normalmente te recomendamos setear entre un 50 y 70% de la memoria ran disponible del servidor a esta variante que es súper importante ustedes pueden empezar en su laboratorio por ejemplo tengo un servidor que tiene 16 GB es un servidor dedicado a mayesquiel instalo mayesquiel 5.6 y quiero hacer un poco túnel la primera recomendación sería a esta variante ponerle el 50% de la memoria ran 8 GB teníamos 16 GB como servidor dedicado a mayesquiel las llevamos 8 GB hoy no es un servidor dedicado a un servidor que hay mismo hasta la patch deja libre la patch del espacio que tengamos considerado nosotros para mayesquiel dejemos el 50% 75% quizás es el limite para esta variante cuando jugamos con esta variante otra de las cosas que queremos hacer para evitar contención de acceso a memoria ran es crear dichas instancias de este buffer pool esta variante es a partir de la versión 5.0 lo que permite hacer es que tú crees varios accesos en el espacio del buffer pool con el fin de reducir contención normalmente en cada instancia debe ser un giga estoy regresando al ejemplo tengo 16 GB en ran como servidor dedicado a mayesquiel así no 8 GB al buffer pool sags yo lo voy a poner a un instans 8 para que cada uno sea de un giga con eso hago que existan diferentes controles de acceso hacia ese espacio memoria ran y evito la contención de acceso y el último que también es muy importante es revisar un poco los settings para los inodb log files normalmente cuando tú instadas mayesquiel y dejas este parameter por refao en versiones 5.5 de anteriores te crea dos archivos log files de 5 MB imagínense tienen un servidor de 16, 32, 24 x cantidad de memoria de las en ran y dejan un ruidulo de 5 MB la recomendación aquí es luego mediendo con el monitor empezar a mirar valores entre 256 MB y 12 MB esto va a permitir que la transaccionalidad sea más rápida respecto a inodb y para el caso puntual de mayaesquiel el buffer pool que cacha toda la información de índices para poder hacer más rápidas consultas aquí buffer size, ahí va a dar la pena revisar configuraciones de 128 MB, 256 MB y 12 MB o Pugil bueno, más adelante vamos a mencionar algunas otras recomendaciones ahorita queriéramos dar pie a Johan Morales es líder de casa de poder el tiempo de plataformas y comers tiene bastante experiencia con prestituras no solamente de lugares, sino en general LAN el LAN está como tal y quisimos aprovechar el foro primero invitarlo como una autoridad local dentro de Colombia, ustedes bien conocen lo que es los portales de casa de poder al tiempo y bueno, el segundo portal es una arraba de noticia que están contratando si ustedes son y de lo personal quieren mirar otros horizontes, bueno pues aquí Johan también los puede ayudar entonces, adelante Johan Buenos tardes Johan Morales soy líder de infraestructura de los portales y comers del tiempo casa editorial para que los que no nos conocen el tiempo casa editorial es un gran conglomerable a nivel de Colombia entre otras cosas tiene el diario de metersinculación del país que es el tiempo adicionalmente estamos muy presentes en el tema digital con una amplia red de portales y yo particularmente soy Manuel Herro en volar de los portales de la idea de comers que a grandes rasgos son el tiempo clasificados que ahora compra .com y lo encontrares a .com entre otros portales más pequeños que van saliendo a lo largo del año, por ejemplo el ciber lunes que el año pasado lo tuvimos en mayo y el diciembre como decía Manuel hicimos básicamente tecnologías LAN y vamos a hablar específicamente de nuestra experiencia con Maya Studio L y Drupal Drupal 6 y Drupal 7 como lo decía Manuel MaySQL 5.5 y MaySQL 0.6 como les comentaba el tiempo es un gran conglomerable y nos vemos sometidos a un alto tráfico en general en nuestra red de portales pero lo que tenemos que hacer un profesor es una altísima disponibilidad de nuestros portales para asegurar que de estas audiencias tenga la mejor experiencia posible digamos hay que identificar ciertos puntos claves cuando está la de performance y alta disponibilidad uno de los primeros puntos es minimizar puntos únicos de fallo a este nivel de nosotros como desarrolladores y como administradores de sistemas dentro del desarrollo y el crecimiento de cabones en nuestros portales tenemos que tener en cuenta que hay que identificar puntos únicos de fallo que me refiero con esto cuello de botella que se puedan presentar a nivel de hardware o a nivel de desarrollo que estamos haciendo que de pronto no estén muy optimizados hacia el performance que funciona muy bien pero cuando lo sometemos a un alto tráfico empezamos a encontrar fallos más que la parte funcionar en la parte de performance es una realidad nosotros lo vimos en nuestro día a día crecemos continuamente en mejorar esos puntos tener estrategias agresivas de caché es muy importante y vamos a que nuestra recomendación por la experiencia que hemos tenido es digamos tener un enfoque en el ala hacia lo particular generalmente uno es como desarrollador usando un SAM en cache o otro tipo de caché como race por ejemplo siempre empieza de lo particular que es cachar un sale de camisí cual por ejemplo eso es algo muy particular que se hace bien, no sé en un módulo de lupa cuando se ha mostrado en un módulo y está controlado en un controlador en un modelo esa es nuestra tarjeta de caché valia y la ansiería utilizar un varnish utilizar engine x también para ejemplo para hacer caché de ciertos temas como lo decía Manuel utilizar el query cache en mySQL entonces es tratar de tener en todas las capas de nuestra aplicación una estrategia de caché para asegurar el performance y la disponibilidad de nuestros sitios muy importante, herramientas de monitoreo y alertas nosotros particularmente usamos new relic perfecto, new relic es una herramienta excelente para hacer monitoreo y alertas que para cosas muy específicas por ejemplo para monitorear Drupal tiene temas bastante interesantes con un costo nosotros particularmente solo usamos la versión live que es la versión gratuita administramos y monitoreamos una cantidad importante de servidores en new relic que nos ha incorporado básicamente 4 themes New Relic nos ofrece la posibilidad de monitorear a nivel de cada máquina instalando la gente de new relic para máquinas windows o linux en nuestro caso nosotros utilizamos exclusivamente linux entonces estaremos excedente monitoreando nuestros servidores a nivel de cpu a nivel de RAM tenemos también instalado la gente de new relic específico para PHP que nos permite identificar errores en el código que es la idea de donde estén ellos puntos críticos también de fallo, cuáles de botella que sean particularmente en el tema de Drupal es bien interesante porque New Relic te permite ver la ejecución de un noblo y las transacciones que hay por debajo a nivel de base de datos y cuando estamos por ejemplo en cash también nos permite ver qué tantos hits estamos haciendo al main cash para ver si efectivamente estamos haciendo una optimización importante también tenemos el tema de los plugins ya volvemos al tema de MySQL MySQL ha publicado un plugin propietario para New Relic que nos permite monitorear entre otras cosas el estado de la replicación, la cantidad de lecturas y escrituras sobre nuestras bases de datos temas muy específicos que a nivel de no de base a nivel del uso del plugin también tenemos por ejemplo un plugin para monitorear el main cash usamos Nginx como servidor de aplicaciones también tenemos un plugin de New Relic para esto y ese plugin lo provee de Nginx entonces estamos muy seguros de que las herramientas que estamos usando vienen de la comunidad, funcionan muy bien y nos dan unos datos muy exactos de cómo se está comportando nuestra infraestructura otro plugin importante son las pruebas de estrés ustedes en sus desarrollos del día y en sus proyectos hacen muchas pruebas de estrés de sus portales este tema es importante porque los proyectos crecen y a mi a que crecen pueden irse degradando tanto en hardware como a nivel de aplicación y nosotros particularmente usamos Visual Studio Online para estas pruebas básicamente lo que hacemos es grabar un webtest que es muy sencillo simplemente grabar la navegación que yo hago dentro del browser y me traduce eso un listado de ricos HTTP ya sean Gears, ya sean Posts Days, Debits que se van haciendo una vez tenemos grabado nuestro webtest pasamos a asociar una prueba de carga en la que podemos configurar una cantidad de usuarios ya sea constantes o cada día creciendo de largo el tiempo y como se oculta esa prueba localmente siempre lo estamos depurando nuestro desarrollo entonces eso lleva a la producción pero una cantidad pequeña de usuarios 250, 150 usuarios o ejecutarlo en la 9D Windows en Azure con ya una cantidad importante de usuarios 15,000 usuarios y apoyados en nuestras herramientas de monitoreo ver como se va a comportar nuestro sitio y ajustar tanto a nivel de aplicación como en hardware nuestra infraestructura para ofrecer la mejor excelente posible todo esto va apesatado con una estrategia de mejoramiento continuo en nuestros portales dedicar la desgracia durante el tiempo de nuestros desarrollos la mosquena de la arquitectura les voy a mostrar un poco la que trae en los nuestros portales Drupal en los más recientes que les voy a encontrar a este punto para extendernos es un comparador de precios donde yo puedo ir a comparar diferentes productos desde electromesticos hasta viajes el cual nos comparan los precios de los comercios más importantes al nivel colón a grandes rasgos como les decía es un ingenio para el monitoreo y esa estructura particularmente está en Amazon con estrategia de autoescalamiento que ya les voy a mostrar yéndonos de pronto hacia el lado del Drupal también usamos Git una muy buena práctica que tenemos es no versionar el code para que sea fácil la actualización de los portales y para evitar una tentación grande de los desarrolladores Drupal no se si les pasa que es tocar el code digamos que visitar uno de sus repasitorios nosotros solo tenemos los modules justo aunque desarrollamos y algunos temas específicos para la portale que enseñan a los que nos trae Git nuestro equipo interno y nuestros proveedores para hacer el deployment utilizamos una estrategia de integración continua usando Capistrano y Jenkins para los que pronto no le conocen Capistrano es una herramienta hecho en Ruby para hacer deploy en una salida de automatización y Jenkins que es una de las herramientas también muy conocida para la integración coltina que en resumen básicamente es hacer pruebas hacer deploy de nuestras aplicaciones entonces usamos tareas de Jenkins para hacer nuestro deploy de los diferentes desarrollos para así de encontrar ese punto como hacernos los servidores web aquí ya empalmando con el tema de MySQL nosotros tenemos una gran meta de servidores dedicados exclusivamente a MySQL tenemos dos servidores master y un servidor es lake vemos lo que colgaba uno de esos master entonces aquí tenemos digamos que los dos esquemas de replicación más conocidos de MySQL el master y el master es lake aquí ya de pronto les voy a preguntar más sobre el uso de MySQL con Drupal es decir cuando tengo un esquema master master y no configuro como van a incrementar los IDs de las tablas para llegar al conflicto entre esos IDs porque para ir cada vez en el servidor AOL incrementar con un ID igual a uno que le C entonces la estrategia que se tiene acá es que puede servidor AOL incrementa con números pares el servidor B incrementa con números impares para evitar esa colisión y ya en el esquema master swap la tendríamos este problema que se implementa en el esclavo consume y actualiza la información que se va generando en el master 1 que tenemos ahí pegadito un tema también importante es que tenemos que ver que en mobile solo lectur para habitar que podemos tener un problema escribiendo sobre el eslate y generamos un conflicto tenemos este esquema porque nos ofrece una alta disponibilidad hay que hizo ya motivo, perdemos uno de los master no vamos a perder información lo mismo si perderemos el eslate y el tema que tengamos un master es lake esto también nos permite crecer con más esclavos si es requerir lo que es importante es distribuir las lecturas y las escrituras que hace el portal de ocasión tenemos unos usuarios finales que son los que visitan nuestro sitio y básicamente pueden hacer comentarios pero básicamente son pros y medias de información que en últimas son lecturas en base de datos nosotros configuramos que todas las lecturas vayan al servidor de eslate también tenemos un equipo editorial en general entre nuestros portales que hacen reviews o hacen notas de diversos temas estas personas básicamente están escribiendo información en nuestra base de datos y la escriben en un master específico y adicionalmente tienen su servidor web específico para el tema de administración es un el caso que por si el portal está experimentando arteotráfico no vamos a afectar la experiencia del equipo editorial no hay ningún problema con su equipo de reacción y ni tanto ellos ni el portal como tal van a tener un cuello de base de datos y el otro master se utiliza para escribir las escrituras que se pueden dar como tal y en el portal como registro los comentarios y adicionalmente para el caso específico tenemos otros procesos en background que también escriben en base de datos que también se pegan a otro master aparte para asegurar una alta disponibilidad utilizamos también como les decía en las estrategias de caché muy puntuales de uso a mi en Cache integrado con Drupal que funciona bastante bien y el uso de barro y como servidor de aplicaciones usamos en GINX como les decía todo esta aplic todo esta infraestructura está montada en Amazon las estamos trabajando en temas de autoescalamiento entonces eso quiere decir cuando tenemos un pico alto de tráfico yo puedo arrancar más máquinas en demanda automáticamente para que el portal niña se vea abajo y a su vez cuando pasan los picos de tráfico estas máquinas automáticamente vuelven a su mínima expresión eso es un tema importante los que ya los cuentos han metidos en el tema de costos para que la infraestructura sea buena pero también sea bueno que otro tipo adicionalmente y un tema importante en cuello de botella que se cuida con las aplicaciones Drupal es el tema de los falsistas en compartidos generalmente a veces lo que se hace es usar un NFS que es un tema de tener un falsista en compartido en red pero lo que pasa con el NFS es que tiene un origen que puede ser cualquiera de las 100 máquinas que ya tengo en otro escalamiento si esa máquina se cae perderíamos el files hablando específicamente del caso de Drupal una buena estrategia que ojalá la estén implementando es utilizar un falsista en compartida ya sea con el NFS un anazo particularmente como nos lo hacemos nosotros con Amazon que es tener un bucket de S3 funcionando como un file system como un file system en cada una de estas máquinas y sobre ese file system cae en todos los archivos del file adicionalmente para tener una mayor disponibilidad ese bucket de S3 lo publicamos en CloudFront es decir que todos los archivos estáticos, as de estilo ya os quería imaginar nos sirven directamente en nuestro portal sino desde CloudFront para lidar también a nuestros servidores un poco de cartel otros temas importantes en el tema MySQL de optimización como lo dice Manuel nunca es quedarse con la configuración de fábrica porque para temas de alta disponibilidad es claramente vamos a empezar a tener cuello de botellas como lo dice Manuel hay muchas herramientas en la comunidad para atunir el MySQL para ver como estamos a nivel de configuración como le decía es que hemos maestro el tema de los IPs de evitar la colisión de los IPs es importante el tema del tamaño de los buffers también es importante también estar monitoreando muy continuamente el tamaño de nuestras bases de datos un tema que es claramente importante es el tema de los backups y la prueba de esos backups tenemos que hay dos estrategias que le podré tener con MySQL para hacer backups porque lo que nos hace generalmente es un escriptito al DOM y me lo baje por ahí a un lado realmente no le dejan en los máquinas de la base de datos por eso te diga que se usa mucho escopiar todo el data ahí escopiar todos los archivos binálios de MySQL y también dejarlos en alguna parte que también generalmente y eso es muy mala práctica se dejan en las mismas máquinas de MySQL que hacemos nosotros por ejemplo usamos las dos estrategias de backup tenemos el MySQL como clásico tenemos que crear un archivo de SQL como tenemos ese 3 vamos y lo dejamos por allá y lo borramos en nuestras backups también hacemos una copia del data ahí igualmente viajas a ese 3 para tener nuestros backups actualizados y el 3 backups y por tanto también claramente hacer pruebas regulares de restauración en esos backups en otros backups para verificar que lo que estamos guardando si está bien perfecto, muy interesante y ojan lo que nos platicas va a haber tiempo ahorita para hacer el cierre la parte de preguntas y conclusiones y respuestas yo creo que en los últimos 2 minutos nos gustaría antes de pasar a la parte de Cuba darles alguna recomendaciones adicionales ¿Quiénes de aquí conocen de MySQL Utility o han escuchado al respecto? ¿Qué es esto? MySQL Utility es un framework que desarrolló Oracle bajo GPL el cual básicamente es un framework extensible hecho en Python este framework incluye varias futilerías que son bastante habituales en contextos de trabajos, de replicación y trabajos de payload como tal y bueno, aquí hay algunos subtítulos de algunas herramientas de Utilities para la disponibilidad tenemos por ejemplo los MySQL Utilities y podemos configurar grupos de replicación con estos subtítulos y no solamente configurarlos como tal sino poder proveer a nivel basal que es un control, un mecanismo de hermit si me bailo no hago primario el Replication Utility detecta esa falla y selecciona uno de los esclavos para promoverlo a master esa selección la hace en automático este Replication Utilities y lo que hace es convierte el esclavo de read on and read and write y una vez que ese esclavo de pre-scriptura tiene al activo desde luego los blogs más H&I-Bs pueden los drag por elegir el drag para hacer ese payload mirando un poco el tema de poder brindar alta disponibilidad a nivel base de datos con los MySQL Replication Utilities igual por el Replication Utilities algunas operaciones útiles es MySQL Server Clon para clonar un ambiente productivo tener un servidor como clon para crear un esclavo un Master Existente y poder tener ese el tono que nos permita provisional máquinas de una manera más automatizada poder escalar elasticamente en función de los requisitos cómo se accesa este a este Utilities sería Warbench quienes de aquí conocen Warbench vamos a ver Warbench los que no les recomendaríamos mucho que descarga la versión 6.2 y dentro de la versión 6.2 bueno más señales poder tener control de toda la administración del MySQL poder ver métricas de performance poder administrar las variables del servidor poder ver lo que son incluso también el dashboard de operación lo que puedes hacer es accesar directamente a los Utilities desde Warbench aquí viene un icono que te permita accesar a los MySQL Utilities y ya con eso puedas entrar a configurar clonar servidores configurar un esquema Master Exclavo configurar un esquema Master Maestro Master Master Exclavo hacer una configuración ya más particular tratando de aprovechar máximo los últimos minutos igual sobre qué es lo que viene en la versión 5.7 5.7 está en beta hoy voy a decir pero para mí no vamos qué es lo nuevo entre otras cosas viene la opción de incluir un plugin que te permita reescribir transacciones o reescribir plugins qué es esto, si yo tengo un plugin que desarrollé o que desarrolló un plugin y ese plugin yo no lo puedo cambiar pues ya es parte del premio de su plugin que no puedo yo optimizar lo que hace este plugin es puede forzar que reescribas el plugin para optimizar la lógica de Jones o cierta lógica de Inices para poder optimizar si yo tengo por ejemplo un Drupal que tiene problemas de performance en ciertos juegos y esos juegos no son susceptibles a optimizar porque son un black box generado por Drupal bueno pues con este plugin yo podría forzar que lo que se recute realmente se interprete y se reescriba para forzar Inices o una regla de por ser con esto consultas problemáticas o con un Proxy es parte del plugin después otro tema que es importante mencionada yo hace rato los grupos de replicación que yo pueda formar canales y yo decide en función de las prioridades muy especificas por el developer qué prioridad tiene qué grupo yo voy a tener el control de poder tener diferentes grupos de replicación y poder asignar prioridades en función de lo que mejor convenga por lo que el último que mencionan aquí se está haciendo un esfuerzo para que Inodb maneja de una manera más eficiente el partitionamiento de tablets y no solamente esas particiones sino que también podamos asignar esas particiones en diferentes filesystems para evitar yo, para evitar contención de acceso y que podamos tener table spaces definidos por el usuario no solamente table, file por table table space de Inodb y share table space sino que table space definidos por el usuario para que te hablas meter ahí y esto mandarlo al filesystem que nos convenga y poder limitar un poco el IO a mejorar un poco la contención rapidísimo también dentro de Warfish, no sé si es todo que te hacen a ver allá atrás pero hay una opción en la cual Warfish, la versión 6.2 te permite visualizar el costo de los queries y te muestra el gráfico de CNOTE en qué fragmento del query que te explique y el nivel de detalle de ese query en formato JSON entonces esto está bastante iterado para que tu puedas poder pasear los queries y poder hacer una revisión de cómo el query se está diseñando, qué cuello de botella o qué indice, son los que están emocionales recientemente necesitas no utilizar desde Warfish que lo ves visualmente los últimos dos temas la parte de preguntas incluir la opción de crear una replicación multi-source que es esto, hoy en día es un esclavo, a lo más puede tener un master estoy hablando en maíesquia en 5.5 o 5.1 o 5.6 un master para un slay, si no puedo tener yo como un slay multi-masters arriba si lo más que puedo hacer es una replicación multi-master y colgar esclavos pero que ellos sean a su vez masters de toda la topología eso no es posible en el caso de la 5.7 cualquiera de los nuevos va a estar funcionando como master o sea yo puedo hacer una dispersión de información en una fisectura activo y poder tener varios masters en activo activo, o bien que varios masters repliquen hacia un esclavo para efectos de poder tener un backup todos los masters de los diferentes dvsharks me replican hacia el esclavo y este que creo que también es mucho la pena comentárselo sobre todo para ustedes que al final de día como nivel o press web están buscando siempre el mejor performance de acceso a la base datos se está incluyendo un plug-in que permite que se definan netpons a nivel http para que a través de estos netpons tú puedas accesar a la base datos en lugar de que tú tengas que pasar por el middleware por el parsec todo lo que se tiene que ejecutar y conectar a la base datos para ciertos parámetros muy puntuales tú lo hagas directamente de una enpointa http desde un node.js o desde una javascript yo acceso a la base de datos desde luego a la información que necesito que sea un cache que sea tiempo real y puedo consultar esa información ok pues creo que llegamos a la parte más importante si tienen alguna pregunta de lo que pusimos en el comentario y luego Yoja puede profundizar en algún tema relativo a la arquitectura que nos comentó ahora no sabes si tiene alguna pregunta por acá hay una pregunta que eso me añadir iguales de datos diferenciados en algún momento muy muy buena pregunta es de si en la versión 5.7 se está trabajando para que por fin tengamos un contexto geospatial referencial por el ponido de B si lo quieres probar puedes descargarle labs.mayesquiel.com y no debe la versión 5.7 de mayesquiel incorpora ya ídices geospatiales a nivel y no debe ya no a nivel mayaizan sino a nivel y no debe ahí vienen cosas interesantes sabemos que cuando hablamos de base de datos siempre por ejemplo ahora siempre se tienden a coger más estas estos motores por ejemplo Oracle Postgre por ejemplo cuando uno le habla de mayesquiel el modo convence mucho entonces que no recomiendan por ejemplo Google que trabaja de la mano y en lo particular nosotros ya digo que tenemos el PXP usado un pay-sync lo hacemos porque conocemos el motor sabemos que es bueno pero no hemos encontrado esa resistencia ha sido un poco y prefieren cantar muchas digamos mucho más dinero en el licenciamiento que mayesquiel entonces en ese caso que no recomiendas para poder distinguir cuándo si yo me será cliente de que va a poder manejar grandes volumes de datos en un momento y que no tiene ni siquiera que de pronto ahora se troce mucho la base de datos no relacionada como que un pay-sync de estos tipos muy buena pregunta de hecho creo que la podemos manejar como dos preguntas la primer pregunta para repetir que también lo están videogravando el audio sabemos que ahora con el submanejador de base datos robusto mayesquiel también tiene volúmenes interesantes grandes volúmenes de transaccionalidad etcétera un poco la pregunta la que entiendo yo es cómo distinguiríamos cuándo usar uno cuándo usar otro por la final del guía mayesquiel nació como un producto más que ser una base datos como un framework de desarrollo donde el mismo producto por ser una parte de la comunidad y un proyecto open source se ha desarrollado no solamente conectores sino fringos de desarrollo en torno a PHP en torno a Perot, en torno a Ruby en torno a Java y mayesquiel está muy compendentado al respecto entonces yo te diría para que estos prácticos la regla por lo que nos ha tocado de nosotros si es un desarrollo a la medida que tú tienes el control del ciclo de desarrollo del programa y tú eres el dueño del código mayesquiel es la base datos que te va a dar mejor costo de beneficio porque existen fringos que te van a hacer las cosas mucho más prácticas no vas a tener que reventarla no hay mucho ya de la tierra con vida y no solamente de lo que es el abstracto ahora bien para proyectos en donde necesitamos integración con otros softwares como PeopleSoft, JDL como SAP etc. Oracle, generalmente es la opción entonces lo que hacemos nosotros en este caso es desarrollos customizados desarrollos a la medida desarrollos que están en el abstracto desarrollos que miran mucho al computo en la nube y requieren de métodos mucho más ágiles para poder aprovisionar y poder desarrollar código mayesquiel está en varias generaciones entonces yo creo que ahí es un poco decidir cuál es la alcance si es el desarrollo de la medida mayesquiel no te va a limitar para permitir crecer de hecho la reperecia que te gustaba nos va a hacer rato en el inicio si ellos pudieron instalar el volumen así que están en la pantalla nosotros lo vamos a tener limitación ahora lo que sí podría decirte es que están bajo de tu sistema y de hecho muchas aplicaciones están en hora con la pared lo que estamos haciendo ahora es que mayesquiel es completamente compatible tú puedes resincronizar bases de datos de hora con el mayesquiel tú puedes administrar instancias de mayesquiel con las herramientas que utilizan los deberás de hora con tu país manager hora blogging board para temas de auditoría temas de seguridad etc y esto es como cerrar la pinza en el cual el mismo protocolo de basaltos en este caso las mismas herramientas que permiten gestionar los manejadores de basaltos compatibles conectados entre sí cuando utilizaron y cuando utilizaron otro bueno, yo creo que depende mucho del proyecto pero, insisto, si se los desarrollas a la medida mayesquiel no te va a aclarar y la segunda pregunta que hacía si quieres para cerrar el tema de noesquiel en mayesquiel también tenemos su porte al noesquiel no lo mencionamos, pero a partir de la versión 5.6 nosotros tenemos un API que permite que tú puedas persistir información vía noesquiel y lo bonito de esto es que tú puedes tirar código de secuel a la información que persististe porque al final del día son datos gestionados por el store de YouTube es decir, es un par de interfazes tú quieres accesar algo vía noesquiel y hay una esquema que es capaz de la información que insertaste vía noesquiel es un híbrido ahí dos preguntas también hay una técnica en la comercial es que el tema de datos tipo XM es que la comercial vía mayesquiel tiene algún rostro para las privadas porque un día tenemos un factor de poco diciéndome que va a incorporar a ellos todo el contacto, diciéndole que es una empresa privada que debería para la información hasta qué punto puede utilizarme 5.6 ok, si quieres la parte técnica rapidísima, si tenemos avis permite no solamente persistir información diciéndome en el avance sino que puede pasear y poder hacer eso de consultas base de información persistida en el diciéndome igual si quieres acercar para aprovechar tiempo, paso un día antes de contacto y podemos revisar lo más adetario y la parte comercial igual si quieres si tienes el slide de clientes igual un poco para abordar la pregunta de quién puede usar o no mayesquiel mayesquiel siempre ha tenido dos versiones del producto la versión community que es GPL o GNU y la versión enterprise que evidentemente es una licencia comercial tiene extensiones o optimizaciones a nivel de seguridad y antecomunidad, el soporte puntualmente la versión community o GPL es completamente libre de uso de hecho no es propiedad propiedad pública como tal si vienes ahora con quien la mantiene y la actualizan a libera el licenciamiento es completamente libre y quiere decir que siempre y cuando no haya una distribución de la base de datos es decir que tú desarrolles un producto el cual tenga el motor de base de datos envedido y lo distribuyas siempre y cuando no sea de ese caso puedes utilizar cosas iguales de estudio privadas incluso para negocios incluso para un negocio de cara al cliente y tu día lo que realitúe el dinero todo eso es completamente libre y legal y siempre ha habido ese modelo realmente ese cambio no no lo hizo ahora con y de hecho hemos pues hemos mantenido no nada mas el mismo costo de mayesquiel enterprise sin el mismo modelo del licenciamiento realmente como unidad de negocio esta es la funcionalidad especializada de mayesquiel enterprise de mayesquiel cluster lo que estamos viendo en pantalla son clientes en latinoamérica cuando hablamos de mayesquiel community realmente está en todos lados se descarga 80 mil veces al día hay 15 millones de instalaciones globales pero aquí puntualmente estamos viendo clientes que tienen la versión enterprise por que? porque tienen enterprise por que por ejemplo bolsa no es de colombia desde luego manejan datos altamente críticos entonces hay requieren garantías de seguridad disponibilidad optimizaciones en la replicación y desde luego el soporte porque al final del día tienen SLA con sus clientes algunos otros locales serían une tienen bastante mayesquiel precisamente por la parte de e-commerce gelbank también es local banco de la república claro, en toda latinoamérica américa móvil y telefónica otro por aquí que no ven pantalla es lan chile y lo que las nace es portal de la venta de boletos de avión como tal de vuelos corre mayesquiel también utiliza la versión enterprise precisamente por las optimizaciones de alta disponibilidad los 5.9 y una otra parte de soporte que incluye pero la versión comiente está libre para descargar incluso la versión enterprise tenemos una versión de prueba que pueden probar con toda la funcionalidad y más allá de eso les dejaríamos como oferta que si quieren algún proyecto o algún cliente en el cual quieran que los apoyemos a modo de una clava de concepto cualquier tipo de ejercicio como ese precisamente para eso estamos manuales un poco ahí la invitaciones tienen algún proyecto en donde quieran que podamos colaborar con ustedes instalando un try de la versión enterprise haciendo un performance tuning en su caso por ejemplo haciendo un revés de versión 5.1 más 5.6 cargar datos y empezar a monitorear y empezar a mirar qué cosas son importantes en cuanto tema de barco en cuanto tema de soporte etcétera lo que podemos hacer con mucho gusto déjenos saber y nosotros sería pretexto más para la Colombia es perfecto también hablando un poco de la diversidad de uso de MySQL siempre mencionamos Facebook, Twitter etcétera más que nada por cifras es decir por el nivel o el número de transacciones que manejan tratando de dejar entender que MySQL es un producto robusto pero más allá de propiedades web por ejemplo la UNAM la Universidad Nacional Autónoma de México maneja todo lo que es la parte de Nómena que son más de 50.000 empleados no nada más en universidad sino todas las instituciones académicas asociadas Telmex por ejemplo telmex.com desde luego en el portal por el MySQL pero también aplicaciones como el manejo de la administración de la flotilla vehicular por el MySQL entonces es bastante diversivo esto tiene que ver un poco con los distintos votores de almacenamiento no dejamos la invitación abierta para apoyarnos en universidad es necesario. Tiene una pregunta adicional como conversar de esa técnica respecto a la presentación respecto al caso de estudio de casa y teoria de tiempo que Bjoja nos presentó parece que no pues agradecerles nuevamente su participación nosotros vamos para aquí de todos modos en el Grupo Alcorcom Press si alguien tiene alguna pregunta algo por más una visita, muchísimas gracias y nos vemos en el año.