SlideShare uma empresa Scribd logo
1 de 116
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
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
Proveemos y gestionamos infraestructuras basadas en servidores y  soluciones cloud http://blackslot.com Jornadas Symfony            															http://decharlas.uji.es/symfony
Proveemos y gestionamos infraestructuras basadas en servidores y  soluciones cloud Desarrollamos aplicaciones web http://blackslot.com Jornadas Symfony            															http://decharlas.uji.es/symfony
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
Agenda 0.	Presentación/Spam Arquitectura web: escalabilidad y rendimiento Cloud computing Preguntas Jornadas Symfony            															http://decharlas.uji.es/symfony
Agenda 0.	Presentación Arquitectura web: escalabilidad y rendimiento Cloud computing Preguntas Jornadas Symfony            															http://decharlas.uji.es/symfony
Escalabilidad: ,[object Object]
Rendimiento
Alta disponibilidad
Gestión simplificadaJornadas Symfony            															http://decharlas.uji.es/symfony
Escalabilidad: ,[object Object]
Rendimiento
Alta disponibilidad
Gestión simplificadaJornadas Symfony            															http://decharlas.uji.es/symfony
Conceptos Jornadas Symfony            															http://decharlas.uji.es/symfony
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
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
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
Symfony ,[object Object]
Flexible gracias a especialización y configuración
Arquitectura REST
Potente framework para automatizar tareas mediante línea de comandosJornadas Symfony            															http://decharlas.uji.es/symfony
Escalabilidad / puntos críticos ,[object Object]
Base de datos
Caché
División de nuestra aplicación en capas críticas
Gestión de la infraestructuraJornadas Symfony            															http://decharlas.uji.es/symfony
Escalabilidad / puntos críticos ,[object Object]
Base de datos
Caché
División de nuestra aplicación en capas críticas
Gestión de la infraestructuraJornadas Symfony            															http://decharlas.uji.es/symfony
Desarrollo Desarrolla pensando en la infraestructura Jornadas Symfony            															http://decharlas.uji.es/symfony
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
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
Problema: implementación actual Jornadas Symfony            															http://decharlas.uji.es/symfony
Problema: implementación actual Ips hardcodeadas en el código Jornadas Symfony            															http://decharlas.uji.es/symfony
Problema: implementación actual Ips hardcodeadas en el código Jornadas Symfony            															http://decharlas.uji.es/symfony
Problema: implementación actual Usamos nuestro propio sistema de cache Jornadas Symfony            															http://decharlas.uji.es/symfony
Problema: implementación actual ,[object Object]
Si un administrador añade un nuevo servidor de memcached, debe modificar el código para que nuestra aplicación lo pueda utilizar
No es fácilmente automatizableJornadas Symfony            															http://decharlas.uji.es/symfony
Configuración de caché propia config / bsCache.yml Jornadas Symfony            															http://decharlas.uji.es/symfony
Configuración de caché propia config / bsCache.yml Más elegante y mantenible Jornadas Symfony            															http://decharlas.uji.es/symfony
Configuración de caché propia Jornadas Symfony            															http://decharlas.uji.es/symfony
Configuración de caché propia Cacheamos el archivo de configuración Leemos la configuración desde cache Jornadas Symfony            															http://decharlas.uji.es/symfony
Configuración de caché propia ,[object Object]
Estaría bien que se pudiese automatizar el despliegue de nuevos nodos para memcached de forma fácilJornadas Symfony            															http://decharlas.uji.es/symfony
Automatizamos el añadir nuevos servers al pool Jornadas Symfony            															http://decharlas.uji.es/symfony
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
Resultado Jornadas Symfony            															http://decharlas.uji.es/symfony
Resultado Con un solo comando la aplicación usará el nuevo nodo del pool de memcached Jornadas Symfony            															http://decharlas.uji.es/symfony
MySQL Jornadas Symfony            															http://decharlas.uji.es/symfony
Symfony / MySql Suele ser la primera necesidad a la hora de escalar y el principal cuello de botella en rendimiento Opciones habituales: ,[object Object]
Optimización de consultas , ¿ORM, DQL? y mysql
Desnormalización y No-SQL
Particiones o estrategias federated
Busquedas: SphinxJornadas Symfony            															http://decharlas.uji.es/symfony
MySql / Master - Slave Nodos master: para escribir Nodos slaves: para leer Objetivos: ,[object Object]
Delegamos las consultas read-only en los Slaves, liberando de esa carga a los servidores Master.Jornadas Symfony            															http://decharlas.uji.es/symfony
MySql / Master - Slave Jornadas Symfony            															http://decharlas.uji.es/symfony
MySql / Master - Slave Jornadas Symfony            															http://decharlas.uji.es/symfony
MySql / Master - Slave Jornadas Symfony            															http://decharlas.uji.es/symfony
MySql / Master - Slave Jornadas Symfony            															http://decharlas.uji.es/symfony
MySql / Master - Slave Jornadas Symfony            															http://decharlas.uji.es/symfony
MySql / Master - Slave Jornadas Symfony            															http://decharlas.uji.es/symfony
MySql / Master - Slave Jornadas Symfony            															http://decharlas.uji.es/symfony
MySql / Master - Slave Extendemos las clases Doctrine_Query y Doctrine_Record Jornadas Symfony            															http://decharlas.uji.es/symfony
MySql / Master - Slave Jornadas Symfony            															http://decharlas.uji.es/symfony
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
MySql / Master - Slave Jornadas Symfony            															http://decharlas.uji.es/symfony
MySql / Master - Slave Cuando salvemos, la consulta se hará contra el servidor master Jornadas Symfony            															http://decharlas.uji.es/symfony
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
MySql / sfPager sin Count Jornadas Symfony            															http://decharlas.uji.es/symfony
MySql / sfPager sin Count Añadimos SQL_CAC_FOUND_ROWS al SELECT Jornadas Symfony            															http://decharlas.uji.es/symfony
MySql / sfPager sin Count Contamos las tuplas totales con FOUND_ROWS Jornadas Symfony            															http://decharlas.uji.es/symfony
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
MySql / Búsquedas Sphinx ,[object Object]
Distribuido
Muy rápido, tanto indexando como a la hora de devolver los resultados
Indexación en calienteJornadas Symfony            															http://decharlas.uji.es/symfony
MySql / Búsquedas Sphinx: proceso de búsqueda Jornadas Symfony            															http://decharlas.uji.es/symfony
MySql / Búsquedas Sphinx: proceso de búsqueda Jornadas Symfony            															http://decharlas.uji.es/symfony
MySql / Búsquedas Sphinx: proceso de búsqueda Jornadas Symfony            															http://decharlas.uji.es/symfony
MySql / Búsquedas Sphinx: proceso de búsqueda Jornadas Symfony            															http://decharlas.uji.es/symfony
Cache Jornadas Symfony            															http://decharlas.uji.es/symfony
Symfony / Cache ViewCache(Symfony <=1.4) ,[object Object]
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
Cache / APC Jornadas Symfony            															http://decharlas.uji.es/symfony
Cache / APC Cada servidor web almacena objetos localmente, inaccesibles desde el resto de frontales Jornadas Symfony            															http://decharlas.uji.es/symfony
Cache / APC Pros ,[object Object]
Nos permite almacenar información
Caché muy rápidaContras ,[object Object]
No escala horizontalmenteJornadas Symfony            															http://decharlas.uji.es/symfony
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
Cache / Memcached Jornadas Symfony            															http://decharlas.uji.es/symfony
Cache / Memcached Cualquier servidor web puede gestionar la información de cache Jornadas Symfony            															http://decharlas.uji.es/symfony
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
Cache / Memcached 	   Pros ,[object Object]
Nos permite distribuir la información
Fácilmente escalableContras ,[object Object]
No hay replicación
Limitaciones:
keys     <=  255caracteres
valores <=  1MBJornadas Symfony            															http://decharlas.uji.es/symfony
Cache / Memcached 	   Pros ,[object Object]
Nos permite distribuir la información
Fácilmente escalableContras ,[object Object]
No hay replicación*
Limitaciones:
keys     <=  255caracteres
valores <=  1MBJornadas Symfony            															http://decharlas.uji.es/symfony
Cache / Memcached RepCache para Memcached Dota a memcached de replicación Jornadas Symfony            															http://decharlas.uji.es/symfony
Cache / sfViewCache Jornadas Symfony            															http://decharlas.uji.es/symfony
Cache / sfViewCache Cache de acción, incluyendo el layout Jornadas Symfony            															http://decharlas.uji.es/symfony

Mais conteúdo relacionado

Destaque

symfony admin generator - decharlas
symfony admin generator - decharlassymfony admin generator - decharlas
symfony admin generator - decharlasDecharlas
 
Symfony 2 - decharlas 2010
Symfony 2 - decharlas 2010Symfony 2 - decharlas 2010
Symfony 2 - decharlas 2010Decharlas
 
Caso práctico symfony: voota.es - decharlas
Caso práctico symfony: voota.es - decharlasCaso práctico symfony: voota.es - decharlas
Caso práctico symfony: voota.es - decharlasDecharlas
 
Symfony: Domesticando los formularios
Symfony: Domesticando los formulariosSymfony: Domesticando los formularios
Symfony: Domesticando los formulariosDecharlas
 
Caso práctico II: symfony en la gestión de un centro de computación avanzada ...
Caso práctico II: symfony en la gestión de un centro de computación avanzada ...Caso práctico II: symfony en la gestión de un centro de computación avanzada ...
Caso práctico II: symfony en la gestión de un centro de computación avanzada ...Decharlas
 
ORM Doctrine
ORM DoctrineORM Doctrine
ORM DoctrineDecharlas
 

Destaque (6)

symfony admin generator - decharlas
symfony admin generator - decharlassymfony admin generator - decharlas
symfony admin generator - decharlas
 
Symfony 2 - decharlas 2010
Symfony 2 - decharlas 2010Symfony 2 - decharlas 2010
Symfony 2 - decharlas 2010
 
Caso práctico symfony: voota.es - decharlas
Caso práctico symfony: voota.es - decharlasCaso práctico symfony: voota.es - decharlas
Caso práctico symfony: voota.es - decharlas
 
Symfony: Domesticando los formularios
Symfony: Domesticando los formulariosSymfony: Domesticando los formularios
Symfony: Domesticando los formularios
 
Caso práctico II: symfony en la gestión de un centro de computación avanzada ...
Caso práctico II: symfony en la gestión de un centro de computación avanzada ...Caso práctico II: symfony en la gestión de un centro de computación avanzada ...
Caso práctico II: symfony en la gestión de un centro de computación avanzada ...
 
ORM Doctrine
ORM DoctrineORM Doctrine
ORM Doctrine
 

Semelhante a Jornadas Symfony Castellón 2010

Symfony en la gestión de un centro de computación avanzada
Symfony en la gestión de un centro de computación avanzadaSymfony en la gestión de un centro de computación avanzada
Symfony en la gestión de un centro de computación avanzadaCésar Suárez Ortega
 
Adentrándonos al Framework Symfony
Adentrándonos al  Framework SymfonyAdentrándonos al  Framework Symfony
Adentrándonos al Framework SymfonyRodrigo Miranda
 
Symfony y Admin Generator
Symfony y Admin GeneratorSymfony y Admin Generator
Symfony y Admin GeneratorJavier López
 
Symfony: construyendo aplicaciones web
Symfony: construyendo aplicaciones webSymfony: construyendo aplicaciones web
Symfony: construyendo aplicaciones websergiovier
 
Symfony: Domesticando las Vistas
Symfony: Domesticando las VistasSymfony: Domesticando las Vistas
Symfony: Domesticando las VistasJose Antonio Pio
 
Symfony: Domesticando las Vistas - decharlas
Symfony: Domesticando las Vistas - decharlasSymfony: Domesticando las Vistas - decharlas
Symfony: Domesticando las Vistas - decharlasDecharlas
 
Introducción a Symfony
Introducción a Symfony Introducción a Symfony
Introducción a Symfony Marcos Quesada
 
Symfony plugins - No reinventes la rueda PLUGINS - Jornadas Castellón
Symfony plugins - No reinventes la rueda PLUGINS - Jornadas CastellónSymfony plugins - No reinventes la rueda PLUGINS - Jornadas Castellón
Symfony plugins - No reinventes la rueda PLUGINS - Jornadas CastellónJordi Llonch
 
DeSymfony 2017 - Symfony en OpenSky
DeSymfony 2017 - Symfony en OpenSkyDeSymfony 2017 - Symfony en OpenSky
DeSymfony 2017 - Symfony en OpenSkyPablo Godel
 
Manual php y_mysql
Manual php y_mysqlManual php y_mysql
Manual php y_mysqljohan reyes
 
Clase 3 instalación y primeros pasos
Clase 3 instalación y primeros pasosClase 3 instalación y primeros pasos
Clase 3 instalación y primeros pasoshydras_cs
 
Introducción a symfony - decharlas
Introducción a symfony - decharlasIntroducción a symfony - decharlas
Introducción a symfony - decharlasDecharlas
 
Plantillajornadasversion2 100708010347-phpapp01
Plantillajornadasversion2 100708010347-phpapp01Plantillajornadasversion2 100708010347-phpapp01
Plantillajornadasversion2 100708010347-phpapp01Alfonso Alba
 

Semelhante a Jornadas Symfony Castellón 2010 (20)

Symfony en la gestión de un centro de computación avanzada
Symfony en la gestión de un centro de computación avanzadaSymfony en la gestión de un centro de computación avanzada
Symfony en la gestión de un centro de computación avanzada
 
Adentrándonos al Framework Symfony
Adentrándonos al  Framework SymfonyAdentrándonos al  Framework Symfony
Adentrándonos al Framework Symfony
 
Symfony y Admin Generator
Symfony y Admin GeneratorSymfony y Admin Generator
Symfony y Admin Generator
 
Symfony: construyendo aplicaciones web
Symfony: construyendo aplicaciones webSymfony: construyendo aplicaciones web
Symfony: construyendo aplicaciones web
 
Symfony
SymfonySymfony
Symfony
 
CRUD básico con Symfony
CRUD básico con SymfonyCRUD básico con Symfony
CRUD básico con Symfony
 
Symfony: Domesticando las Vistas
Symfony: Domesticando las VistasSymfony: Domesticando las Vistas
Symfony: Domesticando las Vistas
 
Symfony: Domesticando las Vistas - decharlas
Symfony: Domesticando las Vistas - decharlasSymfony: Domesticando las Vistas - decharlas
Symfony: Domesticando las Vistas - decharlas
 
Introducción a Symfony
Introducción a Symfony Introducción a Symfony
Introducción a Symfony
 
Symfony Parte 2
Symfony Parte 2Symfony Parte 2
Symfony Parte 2
 
Symfony plugins - No reinventes la rueda PLUGINS - Jornadas Castellón
Symfony plugins - No reinventes la rueda PLUGINS - Jornadas CastellónSymfony plugins - No reinventes la rueda PLUGINS - Jornadas Castellón
Symfony plugins - No reinventes la rueda PLUGINS - Jornadas Castellón
 
DeSymfony 2017 - Symfony en OpenSky
DeSymfony 2017 - Symfony en OpenSkyDeSymfony 2017 - Symfony en OpenSky
DeSymfony 2017 - Symfony en OpenSky
 
Pdf
PdfPdf
Pdf
 
Chamilo portable 2016
Chamilo portable 2016Chamilo portable 2016
Chamilo portable 2016
 
Manual php y_mysql
Manual php y_mysqlManual php y_mysql
Manual php y_mysql
 
Clase 3 instalación y primeros pasos
Clase 3 instalación y primeros pasosClase 3 instalación y primeros pasos
Clase 3 instalación y primeros pasos
 
Introducción a symfony - decharlas
Introducción a symfony - decharlasIntroducción a symfony - decharlas
Introducción a symfony - decharlas
 
Plantillajornadasversion2 100708010347-phpapp01
Plantillajornadasversion2 100708010347-phpapp01Plantillajornadasversion2 100708010347-phpapp01
Plantillajornadasversion2 100708010347-phpapp01
 
Introduccion a symfony
Introduccion a symfonyIntroduccion a symfony
Introduccion a symfony
 
Drupal8&symfony
Drupal8&symfonyDrupal8&symfony
Drupal8&symfony
 

Último

Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxAlexander López
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxJOSEMANUELHERNANDEZH11
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 

Último (20)

Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptx
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 

Jornadas Symfony Castellón 2010

  • 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
  • 6. Agenda 0. Presentación/Spam Arquitectura web: escalabilidad y rendimiento Cloud computing Preguntas Jornadas Symfony http://decharlas.uji.es/symfony
  • 7. Agenda 0. Presentación Arquitectura web: escalabilidad y rendimiento Cloud computing Preguntas Jornadas Symfony http://decharlas.uji.es/symfony
  • 8.
  • 11. Gestión simplificadaJornadas Symfony http://decharlas.uji.es/symfony
  • 12.
  • 15. Gestión simplificadaJornadas Symfony http://decharlas.uji.es/symfony
  • 16. Conceptos 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
  • 20.
  • 21. Flexible gracias a especialización y configuración
  • 23. Potente framework para automatizar tareas mediante línea de comandosJornadas Symfony http://decharlas.uji.es/symfony
  • 24.
  • 27. División de nuestra aplicación en capas críticas
  • 28. Gestión de la infraestructuraJornadas Symfony http://decharlas.uji.es/symfony
  • 29.
  • 32. División de nuestra aplicación en capas críticas
  • 33. Gestión de la infraestructuraJornadas Symfony http://decharlas.uji.es/symfony
  • 34. Desarrollo Desarrolla pensando en la infraestructura 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
  • 37. Problema: implementación actual Jornadas Symfony http://decharlas.uji.es/symfony
  • 38. Problema: implementación actual Ips hardcodeadas en el código Jornadas Symfony http://decharlas.uji.es/symfony
  • 39. Problema: implementación actual Ips hardcodeadas en el código Jornadas Symfony http://decharlas.uji.es/symfony
  • 40. Problema: implementación actual Usamos nuestro propio sistema de cache Jornadas Symfony http://decharlas.uji.es/symfony
  • 41.
  • 42. Si un administrador añade un nuevo servidor de memcached, debe modificar el código para que nuestra aplicación lo pueda utilizar
  • 43. No es fácilmente automatizableJornadas Symfony http://decharlas.uji.es/symfony
  • 44. Configuración de caché propia config / bsCache.yml Jornadas Symfony http://decharlas.uji.es/symfony
  • 45. Configuración de caché propia config / bsCache.yml Más elegante y mantenible Jornadas Symfony http://decharlas.uji.es/symfony
  • 46. Configuración de caché propia 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
  • 52. Resultado Jornadas Symfony http://decharlas.uji.es/symfony
  • 53. Resultado Con un solo comando la aplicación usará el nuevo nodo del pool de memcached Jornadas Symfony http://decharlas.uji.es/symfony
  • 54. MySQL Jornadas Symfony http://decharlas.uji.es/symfony
  • 55.
  • 56. Optimización de consultas , ¿ORM, DQL? y mysql
  • 59. Busquedas: SphinxJornadas Symfony http://decharlas.uji.es/symfony
  • 60.
  • 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
  • 79.
  • 81. Muy rápido, tanto indexando como a la hora de devolver los resultados
  • 82. Indexación en calienteJornadas Symfony http://decharlas.uji.es/symfony
  • 83. MySql / Búsquedas Sphinx: proceso de búsqueda Jornadas Symfony http://decharlas.uji.es/symfony
  • 84. MySql / Búsquedas Sphinx: proceso de búsqueda Jornadas Symfony http://decharlas.uji.es/symfony
  • 85. MySql / Búsquedas Sphinx: proceso de búsqueda Jornadas Symfony http://decharlas.uji.es/symfony
  • 86. MySql / Búsquedas Sphinx: proceso de búsqueda Jornadas Symfony http://decharlas.uji.es/symfony
  • 87. Cache Jornadas Symfony http://decharlas.uji.es/symfony
  • 88.
  • 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
  • 90. Cache / APC 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
  • 92.
  • 93. Nos permite almacenar información
  • 94.
  • 95. No escala horizontalmenteJornadas 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
  • 97. Cache / Memcached 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
  • 100.
  • 101. Nos permite distribuir la información
  • 102.
  • 105. keys <= 255caracteres
  • 106. valores <= 1MBJornadas Symfony http://decharlas.uji.es/symfony
  • 107.
  • 108. Nos permite distribuir la información
  • 109.
  • 112. keys <= 255caracteres
  • 113. valores <= 1MBJornadas Symfony http://decharlas.uji.es/symfony
  • 114. Cache / Memcached RepCache para Memcached Dota a memcached de replicación Jornadas Symfony http://decharlas.uji.es/symfony
  • 115. Cache / sfViewCache Jornadas Symfony http://decharlas.uji.es/symfony
  • 116. Cache / sfViewCache Cache de acción, incluyendo el layout Jornadas Symfony http://decharlas.uji.es/symfony
  • 117. Cache / sfViewCache Cache de acción, sin incluir el layout Jornadas Symfony http://decharlas.uji.es/symfony
  • 118. Cache / sfViewCache Cache de partial y componente Jornadas Symfony http://decharlas.uji.es/symfony
  • 119.
  • 120. Claves basadas en REST e integradas con el sistema de routing
  • 121. Está bien para empezar, pero en proyectos avanzados tendremos que considerar otras opciones:
  • 122. Estrategia personalizada de cache a nivel de controlador y modelo
  • 123. Proxy Caché a nivel de sistema
  • 124. ESI: EdgeSideIncludes, integrado en symfony 2Jornadas Symfony http://decharlas.uji.es/symfony
  • 125.
  • 126. Más óptimo que cualquier caché gestionado en nuestra aplicación, pero menos flexible
  • 127. La invalidación y en algunos casos la creación de la cache, debe ser gestionada desde la aplicación web o tareas automatizadas.
  • 128. Nos permite el uso de ESI, EdgeSideIncludesJornadas Symfony http://decharlas.uji.es/symfony
  • 129. Cache / proxyCache Jornadas Symfony http://decharlas.uji.es/symfony
  • 130. Cache / proxyCache 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
  • 135.
  • 137. Squid: squid-cache.org Jornadas Symfony http://decharlas.uji.es/symfony
  • 138. Cache / proxyCache / Varnish 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
  • 144. Cache / proxyCache / ESI <esi:include src = " /esi/categorias.php" alt = " <?php echo url_for(…) ?>" onerror="continue" /> 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
  • 148.
  • 149. Cache
  • 150. Acceso a fuentes de datos
  • 152. Procesamiento de media o tareas de cálculoJornadas Symfony http://decharlas.uji.es/symfony
  • 153.
  • 154. Equipos de trabajo concentrados exclusivamente en esa área
  • 155. Nuestra tecnología de base de datos no implementa interfaz PDOJornadas Symfony http://decharlas.uji.es/symfony
  • 156. Gestión IT Jornadas Symfony http://decharlas.uji.es/symfony
  • 157.
  • 158.
  • 160.
  • 161. Configuraciones bajo control de versionesJornadas Symfony http://decharlas.uji.es/symfony
  • 162. Agenda 0. Presentación Arquitectura web: escalabilidad y rendimiento Cloud computing Preguntas Jornadas Symfony http://decharlas.uji.es/symfony
  • 163.
  • 164. Nos despreocupamos de los costes y gestión de la capa de hardware y de red
  • 165. El despliegue es inmediato
  • 167. La escalabilidad horizontal no es un problemaJornadas Symfony http://decharlas.uji.es/symfony
  • 168.
  • 169. Hay que desarrollar siendo conscientes de los requisitos y recursos de dicho entorno
  • 170.
  • 171. Nos permite migrar aplicaciones sin hacer grandes cambios
  • 172. Tenemos límites similares o menores a los que tendríamos en una infraestructura físicaJornadas Symfony http://decharlas.uji.es/symfony
  • 173.
  • 176.
  • 180. …Jornadas Symfony http://decharlas.uji.es/symfony
  • 181. AMAZON EC2, S3, SQS Jornadas Symfony http://decharlas.uji.es/symfony
  • 182. Jornadas Symfony http://decharlas.uji.es/symfony
  • 183.
  • 184. Permite configurar AMIsy compartirlas con la comunidad
  • 185. Distintos tipos de instancias: desde 1.7GB de Ram hasta 64.8GB de Ram
  • 186. Pago por tiempo de CPU, transferencia de datos e I/O
  • 187. Disponemos de volúmenes EBS, ip fijas, snapshots, balanceo y monitorización (CloudWatch)Jornadas Symfony http://decharlas.uji.es/symfony
  • 188.
  • 189. Para recuperar grandes cantidades de objetos, disponemos de AWS Import/Export
  • 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
  • 193.
  • 194. Ideal para trabajos de alta carga que se puedan hacer de forma asíncrona
  • 195. Se paga por transferencia y número de mensajes.
  • 196. El almacenamiento es flexible e infinito.Jornadas Symfony http://decharlas.uji.es/symfony
  • 197.
  • 198. Muy bien documentada y soporta todos los servicios de Amazon
  • 199. Es muy sencilla de utilizarJornadas Symfony http://decharlas.uji.es/symfony
  • 200. Amazon / Cloudfusion / S3 Subimos un archivo a S3 Jornadas Symfony http://decharlas.uji.es/symfony
  • 201. Amazon / Cloudfusion / S3 Creamos un bucket Subimos un archivo a S3 Subimos el archivo al bucket Jornadas Symfony http://decharlas.uji.es/symfony
  • 202. Amazon / Cloudfusion / EC2 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
  • 206. Resumen Jornadas Symfony http://decharlas.uji.es/symfony
  • 207.
  • 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
  • 211. Agenda 0. Presentación Arquitectura web: escalabilidad y rendimiento Cloud computing Preguntas 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