Symfony, cloud computing y webs scalables - decharlas

  • 2,450 views
Uploaded on

Charla sobre symfony, cloud computing y webs escalables a cargo de Asier Marqués en las primeras jornadas symfony - decharlas.com

Charla sobre symfony, cloud computing y webs escalables a cargo de Asier Marqués en las primeras jornadas symfony - decharlas.com

More in: Technology , Business
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,450
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
90
Comments
0
Likes
4

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 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. Escalabilidad:
    • Capacidad de crecimiento
    • 9. Rendimiento
    • 10. Alta disponibilidad
    • 11. Gestión simplificada
    Jornadas Symfony http://decharlas.uji.es/symfony
  • 12. Escalabilidad:
    • Capacidad de crecimiento
    • 13. Rendimiento
    • 14. Alta disponibilidad
    • 15. Gestión simplificada
    Jornadas 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. Symfony
    • Implementación nativa de MVC
    • 21. Flexible gracias a especialización y configuración
    • 22. Arquitectura REST
    • 23. Potente framework para automatizar tareas mediante línea de comandos
    Jornadas Symfony http://decharlas.uji.es/symfony
  • 24. Escalabilidad / puntos críticos
    • Desarrollo
    • 25. Base de datos
    • 26. Caché
    • 27. División de nuestra aplicación en capas críticas
    • 28. Gestión de la infraestructura
    Jornadas Symfony http://decharlas.uji.es/symfony
  • 29. Escalabilidad / puntos críticos
    • Desarrollo (pensando en nuestra infraestructura)
    • 30. Base de datos
    • 31. Caché
    • 32. División de nuestra aplicación en capas críticas
    • 33. Gestión de la infraestructura
    Jornadas 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. Problema: implementación actual
    • Las ips de los servidores están hardcodeadas en el código
    • 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 automatizable
    Jornadas 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. Configuración de caché propia
    • Hemos dejado más accesible la configuración a los sysadmin y otras personas no programadoras que mantengan el pool de memcached
    • 49. Estaría bien que se pudiese automatizar el despliegue de nuevos nodos para memcached de forma fácil
    Jornadas 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. Symfony / MySql
    Suele ser la primera necesidad a la hora de escalar y el principal cuello de botella en rendimiento
    Opciones habituales:
    • Arquitectura Master – Slave
    • 56. Optimización de consultas , ¿ORM, DQL? y mysql
    • 57. Desnormalización y No-SQL
    • 58. Particiones o estrategias federated
    • 59. Busquedas: Sphinx
    Jornadas Symfony http://decharlas.uji.es/symfony
  • 60. MySql / Master - Slave
    Nodos master: para escribir
    Nodos slaves: para leer
    Objetivos:
    • Replicación y alta disponibilidad.
    • 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. MySql / Búsquedas
    Sphinx
    • Ranking de resultados por relevancia
    • 80. Distribuido
    • 81. Muy rápido, tanto indexando como a la hora de devolver los resultados
    • 82. Indexación en caliente
    Jornadas 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. Symfony / Cache
    ViewCache(Symfony <=1.4)
    • Caché a nivel de acción
    • 89. Caché a nivel de componente y partial
    Doctrine 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. Cache / APC
    Pros
    • Opcode para php, reduce carga de procesador
    • 93. Nos permite almacenar información
    • 94. Caché muy rápida
    Contras
    • La caché es local
    • 95. No escala horizontalmente
    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
  • 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. Cache / Memcached
    Pros
    • Uno de los sistemas más rápidos
    • 101. Nos permite distribuir la información
    • 102. Fácilmente escalable
    Contras
    • Almacenamiento no persistente
    • 103. No hay replicación
    • 104. Limitaciones:
    • 105. keys <= 255caracteres
    • 106. valores <= 1MB
    Jornadas Symfony http://decharlas.uji.es/symfony
  • 107. Cache / Memcached
    Pros
    • Uno de los sistemas más rápidos
    • 108. Nos permite distribuir la información
    • 109. Fácilmente escalable
    Contras
    • Almacenamiento no persistente
    • 110. No hay replicación*
    • 111. Limitaciones:
    • 112. keys <= 255caracteres
    • 113. valores <= 1MB
    Jornadas 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. Cache / sfViewCache
    • Nos facilita la invalidación de cache
    • 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 2
    Jornadas Symfony http://decharlas.uji.es/symfony
  • 125. Cache / proxyCache
    • Ideal para cachear estáticos almacenados en otras ubicaciones como s3
    • 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, EdgeSideIncludes
    Jornadas 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. Cache / proxyCache
    Opciones más usadas:
    • Varnish: varnish-cache.org
    • 136. Nginx: nginx.org
    • 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. Dividir en capas
    • Almacenamiento de archivos y estáticos
    • 149. Cache
    • 150. Acceso a fuentes de datos
    • 151. Mailing
    • 152. Procesamiento de media o tareas de cálculo
    Jornadas Symfony http://decharlas.uji.es/symfony
  • 153. Capas / Acceso a base de datos
    Consejo de Yahoo!: no usar ORMs
    Una buena estrategia si:
    • Usamos diferentes tecnologías de bases de datos según el tipo de información
    • 154. Equipos de trabajo concentrados exclusivamente en esa área
    • 155. Nuestra tecnología de base de datos no implementa interfaz PDO
    Jornadas Symfony http://decharlas.uji.es/symfony
  • 156. Gestión IT
    Jornadas Symfony http://decharlas.uji.es/symfony
  • 157. Gestión IT
    Monitorización
    • Alertas: Nagios
    • 158. Gráficos: Munin, Ganglia, Cacti
    Aprovisionamiento
    • Buena nomenclatura
    • 159. Configuraciones bajo control de versiones
    • 160. Automatización de aprovisionamiento (Virtualización o instalación por red)
    Backup
    • ¿Has probado a restaurar?
    • 161. Configuraciones bajo control de versiones
    Jornadas 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. Cloud computing
    • Tres modelos principales: SAAS, PAAS y IAAS
    • 164. Nos despreocupamos de los costes y gestión de la capa de hardware y de red
    • 165. El despliegue es inmediato
    • 166. Pago por uso
    • 167. La escalabilidad horizontal no es un problema
    Jornadas Symfony http://decharlas.uji.es/symfony
  • 168. IAAS vs PAAS
    PAAS
    • Hay que pensar de forma distinta a como pensaríamos en una infraestructura física.
    • 169. Hay que desarrollar siendo conscientes de los requisitos y recursos de dicho entorno
    • 170. Suele ser mucho más sencillo para un programador. Abstrae de la complejidad de la capa de sistemas.
    IAAS
    • No hay que aprender nada nuevo en la capa de sistemas.
    • 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ísica
    Jornadas Symfony http://decharlas.uji.es/symfony
  • 173. IAAS vs PAAS / Proveedores
    PAAS
    IAAS
    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. Amazon / EC2
    • Permite desplegar instancias virtuales desde AMIsen minutos
    • 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. Amazon / S3
    • Almacenamiento de objetos clave / valor. Cada archivo es un objeto.
    • 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. Amazon / SQS
    • Servicio de cola de mensajes
    • 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. Amazon / Cloudfusion
    • Conjunto de clases para trabajar con los servicios web de Amazon
    • 198. Muy bien documentada y soporta todos los servicios de Amazon
    • 199. Es muy sencilla de utilizar
    Jornadas 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. Amazon / Cloudfusion
    • Usando cloudfusion junto a las herramientas de configuración y tareas de Symfony, automatizamos el crecimiento y gestión de la infraestructura.
    • 205. Podemos en todo momento aumentar nuestra capacidad de almacenamiento y proceso, de forma inmediata y flexible
    Jornadas Symfony http://decharlas.uji.es/symfony
  • 206. Resumen
    Jornadas Symfony http://decharlas.uji.es/symfony
  • 207. Resumen
    • Debemos empezar a pensar en la infraestructura como parte de nuestro proyecto de desarrollo
    • 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