El documento resume una presentación sobre escalabilidad web y cloud computing usando Symfony. La presentación cubre conceptos de escalabilidad como capacidad de crecimiento, rendimiento y alta disponibilidad. También discute puntos críticos para la escalabilidad como el desarrollo, base de datos, caché y gestión de infraestructura. Explica cómo Symfony permite una aplicación escalable y también cubre temas como arquitectura maestro-esclavo en MySQL y el uso de Sphinx para búsquedas.
Presentación de la plataforma abierta Ubiqarama.orgAsier Marqués
Ubiqarama nace como una plataforma abierta, instalable como theme para Wordpress, que permite documentar y narrar sobre mapas historias en formato digital.
En est
Repasaremos conceptos y principios para que una arquitectura sea RESTfull, se explicará cómo se ha plateado el framework Leophard para seguir estos y otros principios.
Proyectos fallidos: Rooms.fm en #webdevbilbaoAsier Marqués
Charla sobre proyectos fallidos en el evento webdevbilbao.
Comenté la experiencia construyendo rooms.fm un sitio web similar a airbnb.com que nunca vió la luz.
CRUD básico con Symfony. Esta presentación es una continuación de lo contado en la II Symfony Zaragoza. Explica un ejemplo sencillo de un CRUD para mostrar como realizar modelos, controladores, vistas, formularios, etc.
Introducción al framework Symfony 2 , descripción de los componentes principales así como su implementación.
Backend implementado con Sonata User Bundle.
Routing gestionado por Sonata Page Bundle.
Seguridad implementada con FOSUserBundle y gestión incluida de usuarios en Sonata con Sonata User Bundle.
OpenSky es uno de los primeros grandes usuarios de Symfony desde su lanzamiento. Hoy en día cuenta con varios millones de usuarios activos. Compartiremos como OpenSky utiliza Symfony, Doctrine con MySQL y MongoDB y otros componentes.
También ofreceremos algunos tips de la infraestructura y la organización que posibilitan un crecimiento gradual, continuo y ágil.
Presentación de la plataforma abierta Ubiqarama.orgAsier Marqués
Ubiqarama nace como una plataforma abierta, instalable como theme para Wordpress, que permite documentar y narrar sobre mapas historias en formato digital.
En est
Repasaremos conceptos y principios para que una arquitectura sea RESTfull, se explicará cómo se ha plateado el framework Leophard para seguir estos y otros principios.
Proyectos fallidos: Rooms.fm en #webdevbilbaoAsier Marqués
Charla sobre proyectos fallidos en el evento webdevbilbao.
Comenté la experiencia construyendo rooms.fm un sitio web similar a airbnb.com que nunca vió la luz.
CRUD básico con Symfony. Esta presentación es una continuación de lo contado en la II Symfony Zaragoza. Explica un ejemplo sencillo de un CRUD para mostrar como realizar modelos, controladores, vistas, formularios, etc.
Introducción al framework Symfony 2 , descripción de los componentes principales así como su implementación.
Backend implementado con Sonata User Bundle.
Routing gestionado por Sonata Page Bundle.
Seguridad implementada con FOSUserBundle y gestión incluida de usuarios en Sonata con Sonata User Bundle.
OpenSky es uno de los primeros grandes usuarios de Symfony desde su lanzamiento. Hoy en día cuenta con varios millones de usuarios activos. Compartiremos como OpenSky utiliza Symfony, Doctrine con MySQL y MongoDB y otros componentes.
También ofreceremos algunos tips de la infraestructura y la organización que posibilitan un crecimiento gradual, continuo y ágil.
Desarrollo código mantenible en WordPress utilizando SymfonyAsier Marqués
El objetivo de esta charla es mostrar cómo aplicar buenas prácticas de desarrollo cuando trabajemos con WordPress, implementando PSRs y desacoplando nuestro código para poder migrarlo en un futuro a otras opciones sin esfuerzo y dotarle de una buena cobertura de tests.
Veremos cómo podemos desarrollar y mantener plataformas basadas en WordPress utilizando cosas como inyección de dependencias, rutas en anotaciones y controladores; cómo utilizar composer para plugins, themes y sus dependencias; cómo montar los despliegues y qué opciones tenemos para utilizar WordPress desde nuestros Bundes.
Por diversas causas, nos podemos encontrar con el reto de desarrollar plataformas y servicios online que requieren escalabilidad pero que también estén basados Wordpress.
Más allá de instalar plugins o modificar themes desde el backoffice, requerimos trabajar con Wordpress como si fuese un framework tipo Symfony o Laravel, algo para lo que este CMS no está diseñado.
En esta charla veremos qué problemáticas tiene enfrentarse al reto de crear código mantenible con Wordpress, usando patrones como la inyección de dependencias, soluciones como composer y herramientas que estamos acostumbrados a encontrar no en una solución de CMS, sino en frameworks, más adecuados para esta tarea.
Charla para el evento Sevilla Mobility Day.
Desde hace pocos años, desarrollar sitios y aplicaciones web aplicando diseños responsive ha dejado de ser opcional.
Para dispositivos móviles, empieza a ser necesario ir más allá y crear experiencias de usuario dedicadas a estos entornos.
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Telefónica
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0xWord escrito por Ibón Reinoso ( https://mypublicinbox.com/IBhone ) con Prólogo de Chema Alonso ( https://mypublicinbox.com/ChemaAlonso ). Puedes comprarlo aquí: https://0xword.com/es/libros/233-big-data-tecnologias-para-arquitecturas-data-centric.html
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informáticavazquezgarciajesusma
En este proyecto de investigación nos adentraremos en el fascinante mundo de la intersección entre el arte y los medios de comunicación en el campo de la informática.
La rápida evolución de la tecnología ha llevado a una fusión cada vez más estrecha entre el arte y los medios digitales, generando nuevas formas de expresión y comunicación.
Continuando con el desarrollo de nuestro proyecto haremos uso del método inductivo porque organizamos nuestra investigación a la particular a lo general. El diseño metodológico del trabajo es no experimental y transversal ya que no existe manipulación deliberada de las variables ni de la situación, si no que se observa los fundamental y como se dan en su contestó natural para después analizarlos.
El diseño es transversal porque los datos se recolectan en un solo momento y su propósito es describir variables y analizar su interrelación, solo se desea saber la incidencia y el valor de uno o más variables, el diseño será descriptivo porque se requiere establecer relación entre dos o más de estás.
Mediante una encuesta recopilamos la información de este proyecto los alumnos tengan conocimiento de la evolución del arte y los medios de comunicación en la información y su importancia para la institución.
Inteligencia Artificial y Ciberseguridad.pdfEmilio Casbas
Recopilación de los puntos más interesantes de diversas presentaciones, desde los visionarios conceptos de Alan Turing, pasando por la paradoja de Hans Moravec y la descripcion de Singularidad de Max Tegmark, hasta los innovadores avances de ChatGPT, y de cómo la IA está transformando la seguridad digital y protegiendo nuestras vidas.
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informáticavazquezgarciajesusma
En este proyecto de investigación nos adentraremos en el fascinante mundo de la intersección entre el arte y los medios de comunicación en el campo de la informática.
La rápida evolución de la tecnología ha llevado a una fusión cada vez más estrecha entre el arte y los medios digitales, generando nuevas formas de expresión y comunicación.
Continuando con el desarrollo de nuestro proyecto haremos uso del método inductivo porque organizamos nuestra investigación a la particular a lo general. El diseño metodológico del trabajo es no experimental y transversal ya que no existe manipulación deliberada de las variables ni de la situación, si no que se observa los fundamental y como se dan en su contestó natural para después analizarlos.
El diseño es transversal porque los datos se recolectan en un solo momento y su propósito es describir variables y analizar su interrelación, solo se desea saber la incidencia y el valor de uno o más variables, el diseño será descriptivo porque se requiere establecer relación entre dos o más de estás.
Mediante una encuesta recopilamos la información de este proyecto los alumnos tengan conocimiento de la evolución del arte y los medios de comunicación en la información y su importancia para la institución.
Actualmente, y debido al desarrollo tecnológico de campos como la informática y la electrónica, la mayoría de las bases de datos están en formato digital, siendo este un componente electrónico, por tanto se ha desarrollado y se ofrece un amplio rango de soluciones al problema del almacenamiento de datos.
3Redu: Responsabilidad, Resiliencia y Respetocdraco
¡Hola! Somos 3Redu, conformados por Juan Camilo y Cristian. Entendemos las dificultades que enfrentan muchos estudiantes al tratar de comprender conceptos matemáticos. Nuestro objetivo es brindar una solución inclusiva y accesible para todos.
1. Castellón - 5 y 6 de Julio 2010 – Universitat Jaume I Jornadas Symfony 5 y 6 de julio 2010 Universitat Jaume I, Castellón http://decharlas.uji.es/symfony patrocinan organizan colaboran
2. Symfony, cloud computing y web escalables Asier Marqués, blackslot.com 5 y 6 de julio 2010 Universitat Jaume I, Castellón Jornadas Symfony http://decharlas.uji.es/symfony
3. Proveemos y gestionamos infraestructuras basadas en servidores y soluciones cloud http://blackslot.com Jornadas Symfony http://decharlas.uji.es/symfony
4. Proveemos y gestionamos infraestructuras basadas en servidores y soluciones cloud Desarrollamos aplicaciones web http://blackslot.com Jornadas Symfony http://decharlas.uji.es/symfony
5. Proveemos y gestionamos infraestructuras basadas en servidores y soluciones cloud Desarrollamos aplicaciones web Por supuesto, en Symfony http://blackslot.com Jornadas Symfony http://decharlas.uji.es/symfony
17. Escalabilidad Una aplicación web o infraestructura es escalable cuando es capaz de aumentar la capacidad de dar servicio y funcionalidad, con la menor carga administrativa y de desarrollo posible. Jornadas Symfony http://decharlas.uji.es/symfony
18. Rendimiento Disponemos de buen rendimiento cuando somos capaces de soportar la mayor carga de trabajo posible con los menores recursos de hardware posibles. Jornadas Symfony http://decharlas.uji.es/symfony
19. Alta disponibilidad Gozamos de Alta disponibilidad cuando seguimos dando servicio aunque nuestra infraestructura sufra problemas en algunas de sus partes críticas. Jornadas Symfony http://decharlas.uji.es/symfony
35. Symfony / Desarrollo Usa la configuración Permite que una persona no programador mantenga tu aplicación. Automatiza el mantenimiento mediante tareas. Jornadas Symfony http://decharlas.uji.es/symfony
36. ejemplo SITUACIÓN Son las 4am y nuestro administrador de sistemas necesita añadir un nuevo nodo de memcached al pool Nosotros estamos ([ durmiendo | en Tokio | bien acompañados ]+) Jornadas Symfony http://decharlas.uji.es/symfony
47. Configuración de caché propia Cacheamos el archivo de configuración Leemos la configuración desde cache Jornadas Symfony http://decharlas.uji.es/symfony
48.
49. Estaría bien que se pudiese automatizar el despliegue de nuevos nodos para memcached de forma fácilJornadas Symfony http://decharlas.uji.es/symfony
50. Automatizamos el añadir nuevos servers al pool Jornadas Symfony http://decharlas.uji.es/symfony
51. Automatizamos el añadir nuevos servers al pool Leemos la configuración y agregamos un nuevo servidor en el caso de que sea necesario Jornadas Symfony http://decharlas.uji.es/symfony
61. Delegamos las consultas read-only en los Slaves, liberando de esa carga a los servidores Master.Jornadas Symfony http://decharlas.uji.es/symfony
62. MySql / Master - Slave Jornadas Symfony http://decharlas.uji.es/symfony
63. MySql / Master - Slave Jornadas Symfony http://decharlas.uji.es/symfony
64. MySql / Master - Slave Jornadas Symfony http://decharlas.uji.es/symfony
65. MySql / Master - Slave Jornadas Symfony http://decharlas.uji.es/symfony
66. MySql / Master - Slave Jornadas Symfony http://decharlas.uji.es/symfony
67. MySql / Master - Slave Jornadas Symfony http://decharlas.uji.es/symfony
68. MySql / Master - Slave Jornadas Symfony http://decharlas.uji.es/symfony
69. MySql / Master - Slave Extendemos las clases Doctrine_Query y Doctrine_Record Jornadas Symfony http://decharlas.uji.es/symfony
70. MySql / Master - Slave Jornadas Symfony http://decharlas.uji.es/symfony
71. MySql / Master - Slave Si la query es de tipo SELECT la conexión se hará a un servidor Slave, en caso contrario al master Jornadas Symfony http://decharlas.uji.es/symfony
72. MySql / Master - Slave Jornadas Symfony http://decharlas.uji.es/symfony
73. MySql / Master - Slave Cuando salvemos, la consulta se hará contra el servidor master Jornadas Symfony http://decharlas.uji.es/symfony
74. MySql / Optimizar Reducir el número de consultas VS desglosar una consulta compleja en varias sencillas QueryCache Sustituir Count(*) por FOUND_ROWS() Olvidarnos de DQL en consultas complejas Desnormalizar VS usar NO-SQL: Memcached, Redis, Cassandra.. Jornadas Symfony http://decharlas.uji.es/symfony
75. MySql / sfPager sin Count Jornadas Symfony http://decharlas.uji.es/symfony
76. MySql / sfPager sin Count Añadimos SQL_CAC_FOUND_ROWS al SELECT Jornadas Symfony http://decharlas.uji.es/symfony
77. MySql / sfPager sin Count Contamos las tuplas totales con FOUND_ROWS Jornadas Symfony http://decharlas.uji.es/symfony
78. MySql / Búsquedas Limitaciones de MySql en búsquedas Bajo rendimiento en tablas con muchas tuplas en las que es necesario buscar en campos de texto muy grandes. No distingue resultados en base a su relevancia. A menudo obliga a desnormalizar. Jornadas Symfony http://decharlas.uji.es/symfony
89. Caché a nivel de componente y partialDoctrine posee caché a nivel de consultas Opciones: APC, Xcache, Memcached, SQLite, Disco… Jornadas Symfony http://decharlas.uji.es/symfony
91. Cache / APC Cada servidor web almacena objetos localmente, inaccesibles desde el resto de frontales Jornadas Symfony http://decharlas.uji.es/symfony
96. Cache / APC apc.shm_size (por defecto 30MB) Tamaño de memoria compartida utilizada para almacenar objetos. apc.stat (por defecto 1) Si se encuentra activado comprueba por cada ciclo de ejecución si el código ha cambiado. Estableciéndolo 0 incrementa el rendimiento siempre que usemos rutas absolutas en los requires/includes. Jornadas Symfony http://decharlas.uji.es/symfony
98. Cache / Memcached Cualquier servidor web puede gestionar la información de cache Jornadas Symfony http://decharlas.uji.es/symfony
99. Cache / Memcached Cualquier servidor web puede gestionar la información de cache Cada servidor de memcached es el responsable de una serie de objetos Jornadas Symfony http://decharlas.uji.es/symfony
131. Cache / proxyCache Evalúa si tiene cache de la vista solicitada. Jornadas Symfony http://decharlas.uji.es/symfony
132. Cache / proxyCache En caso de no tener, solicita la información a los servidores web y de archivos. Jornadas Symfony http://decharlas.uji.es/symfony
133. Cache / proxyCache Almacena la información en caché y responde a la petición. Jornadas Symfony http://decharlas.uji.es/symfony
134. Cache / proxyCache La siguiente petición es servida desde caché Jornadas Symfony http://decharlas.uji.es/symfony
139. Cache / proxyCache / Varnish Conexión al servidor web Cacheamos los estáticos No cacheamos las peticiones POST No cacheamos las peticiones que incluyan autenticación http o una cookie __sesion Lo demás se cachea Jornadas Symfony http://decharlas.uji.es/symfony
140. Cache / proxyCache / Varnish Cuando una url es gestionada por la cache de varnish, se llamará a los métodos hit, miss y fetch Jornadas Symfony http://decharlas.uji.es/symfony
141. Cache / proxyCache / Varnish vcl_hit Configuramos que si la url contiene la palabra «PURGAR_CACHE» elimine la caché. vcl_miss Configuramos que si la url contiene la palabra «PURGAR_CACHE» y no se encuentra en caché, nos avise Jornadas Symfony http://decharlas.uji.es/symfony
142. Cache / proxyCache / Varnish vcl_fetch Miss llama a este método para que cree la caché. Ahí le establecemos el tiempo de vida de la misma Jornadas Symfony http://decharlas.uji.es/symfony
143. Cache / proxyCache / ESI ESI (EdgeSideIncludes) nos permiten incluir contenidos de una url en nuestras vistas. Podemos distribuir contenido de nuestro site e incluso tratar cada parte como si se tratase de una aplicación web independiente. Symfony2 incluirá soporte nativo para ESI. Jornadas Symfony http://decharlas.uji.es/symfony
145. Cache / proxyCache / ESI <esi:includesrc = " /esi/categorias.php" alt = " <?php echo url_for(…) ?>" onerror="continue" /> Las urls pueden ser relativas o absolutas Jornadas Symfony http://decharlas.uji.es/symfony
146. Dividir en capas Jornadas Symfony http://decharlas.uji.es/symfony
147. Dividir en capas Arquitecturas más modulares y por lo tanto, más fáciles de escalar horizontalmente. Separamos los problemas en capas. Nos permite usar varias tecnologías de forma transparente, la más adecuada para cada caso. Jornadas Symfony http://decharlas.uji.es/symfony
190. Se paga por almacenamiento, número de peticiones y transferencia.
191. El almacenamiento es flexible e infinito, pero cada objeto tiene un límite de 5GB
192. Accesible mediante REST con url basada en subdominios o directorio:http:// [bucket_id] .dominio.com/objeto http://s3.amazonaws3.com/ [bucket_id] /objeto Jornadas Symfony http://decharlas.uji.es/symfony
203. Amazon / Cloudfusion / EC2 Arranco una instancia virtual en EC2 Le asocio una dirección ip pública. Jornadas Symfony http://decharlas.uji.es/symfony
204.
205. Podemos en todo momento aumentar nuestra capacidad de almacenamiento y proceso, de forma inmediata y flexibleJornadas Symfony http://decharlas.uji.es/symfony
208. Además de por escalar, necesitamos preocuparnos por el rendimiento para reducir nuestros costes
209. Hoy en día existen más opciones que Apache + Mysqlen entornos Linux
210. El cloudcomputing es una opción asequible para disponer de arquitecturas pensadas para escalar desde el principio.Jornadas Symfony http://decharlas.uji.es/symfony
212. GRACIAS Asier Marqués asiermarques@blackslot.com 5 y 6 de julio 2010 Universitat Jaume I, Castellón Jornadas Symfony http://decharlas.uji.es/symfony