Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Symfony en la gestión de un centro de computación avanzada

Symfony en la gestión de un centro de computación avanzada

@ deSymfony 2010

César Suárez Ortega

July 05, 2010
Tweet

More Decks by César Suárez Ortega

Other Decks in Programming

Transcript

  1. organizan patrocinan colaboran Jornadas Symfony 5 y 6 de julio

    2010 Universitat Jaume I, Castellón http://decharlas.uji.es/symfony
  2. Caso práctico: Symfony en la gestión de un centro de

    computación avanzada César Suárez, www.ceta-ciemat.es Jornadas Symfony 5 y 6 de julio 2010 Universitat Jaume I, Castellón http://decharlas.uji.es/symfony
  3. ¿Quiénes somos? CETA Centro Extremeño de Tecnologías Avanzadas CIEMAT Centro

    de Investigaciones Energéticas Medio Ambientales y Tecnológicas Jornadas Symfony http://decharlas.uji.es/symfony
  4. Algunos datos de nuestro CPD… •  Computación tradicional •  Cores:

    1.750 •  Gflops: 13.601 •  Computación GPU •  Cores GPUs: 11.040 •  Tflops (32bits): 47,41 •  Gflops (64bits): 3.951 •  Almacenamiento •  694,4 TB Jornadas Symfony http://decharlas.uji.es/symfony
  5. ¿Qué queremos? •  Ofrecer capacidades y servicios junto con los

    centros pertenecientes a las redes GRID en las que participamos. •  Investigar el uso de las capacidades GRID en distintos campos científicos, industriales y sociales. •  Evaluar, desarrollar e implementar aplicaciones. •  Establecerse como un centro de encuentro, intercambio y difusión de conocimiento. Jornadas Symfony http://decharlas.uji.es/symfony
  6. ¿Cómo lo queremos? •  Naturaleza pública del centro •  Búsqueda

    de interés social y el bienestar de los ciudadanos. •  TIC como elemento básico de nuestro sociedad. •  Difusión de la tecnología a todo el tejido social. •  Colaboraciones y sinergias con otras instituciones. •  Uso del software libre. Jornadas Symfony http://decharlas.uji.es/symfony
  7. Unidad Arquitecturas de Aplicaciones •  Investigación, diseño y desarrollo de

    aplicaciones software: •  Principal tecnología usada: Java •  Aplicaciones que se beneficien de la potencia de la GRID: •  Digital Repositories Infrastructure (DRI): Repositorios digitales en la GRID. Ej.- Imágenes médicas (IMED), Archivo Histórico de Trujillo. •  Aplicaciones de uso interno •  POWERED BY SYMFONY!!!!! •  Otras aplicaciones: BOINC. Jornadas Symfony http://decharlas.uji.es/symfony
  8. Aplicaciones internas: CMDB •  CMDB = Configuration Management Data Base

    •  Inventariado de máquinas. (783 elementos) •  Generación ficheros configuración, copiado de ficheros, reinicio de servicios: •  DNS •  DHCP •  Nagios. •  Generación informes y logs. •  Inserción automática de algunos datos: IP, MAC, … •  Primera experiencia con symfony. Jornadas Symfony http://decharlas.uji.es/symfony
  9. ¿Por qué symfony? •  A priori: •  Uso de sistema

    fácil de desplegar y mantener. •  Necesidad de muchas validaciones en formularios.. •  Patrón MVC = Código sostenible y extensible •  Buena documentación para formación •  Integrado con otros frameworks: •  Propel •  Prototype Jornadas Symfony http://decharlas.uji.es/symfony
  10. Primeras buenas vibraciones •  Fácil de instalar, desplegar y configurar.

    •  symfony project:freeze •  ant + symfony = Despliegue reducido a un comando •  databases.yml y app.yml •  Documentación excelente: •  Abundante: Reference Book, Jobeet, primeros pasos. •  Teórica y práctica. •  En español e inglés. •  Actualizada •  Comunidad activa: blog, foros, Google Groups, … •  Potentísimo framework de formularios. Validadores personalizables. Jornadas Symfony http://decharlas.uji.es/symfony
  11. Más primeras buenas vibraciones •  «Incita» a generar código de

    buena calidad: •  Estructura de directorios compleja, pero que obliga a ser organizado. •  Facilidades para generar tests unitarios y funcionales. •  «Auto-loading» de clases. •  Helpers simples y útiles (código más legible). •  Vistas: Slots, layouts, partials, … •  Barra para «debug». •  Toda la potencia de PHP5 aprovechada en el core. Jornadas Symfony http://decharlas.uji.es/symfony
  12. Primeras malas vibraciones •  Curva de aprendizaje costosa •  Muchos

    conceptos nuevos de golpe (si no se conoce otro framework MVC). •  Detalles difíciles de encontrar. •  Framework de formularios complejo. •  Fácil para empezar, pero difícil de dominar. •  Punto flaco en la documentación. •  Exigente con las versiones de PHP •  Obligados a usar symfony 1.1 L •  Sin ningún IDE completo compatible (en ese momento) Jornadas Symfony http://decharlas.uji.es/symfony
  13. …pero al final… •  Código sólido, organizado, … MANTENIBLE • 

    Código fácil de refactorizar. •  Framework de formularios muy flexible. Validadores desacoplados y potentes. Ejemplos: •  Comprobar si una IP forma parte de una VLAN. •  VLANs que se solapan. •  Máscara de una VLAN coherente con su IP. •  Estructura de directorios flexible para adaptarlo a nuestros repositorios. •  6 releases y un sistema estable y ampliable. Jornadas Symfony http://decharlas.uji.es/symfony
  14. Más aplicaciones internas: UAWP •  UAWP = User Access Web

    Portal. •  Gestión de protocolo de acceso a los recursos GRID del centro: •  Generación de certificados, y ayuda en su instalación. •  Generación de cuentas LDAP. •  Ayuda en el envío de trabajos en la GRID. •  Automatizar el protocolo lo máximo posible. •  Especial control en la autorización. Jornadas Symfony http://decharlas.uji.es/symfony
  15. Ventajas de no ser el primero. •  symfony + experiencia

    previa = desarrollo a toda pastilla. •  De las desventajas: •  Curva de aprendizaje costosa •  Muchos conceptos nuevos de golpe (si no se conoce otro framework MVC). •  Detalles difíciles de encontrar. •  Framework de formularios complejo. •  Fácil para empezar, difícil de dominar. •  Punto flaco en la documentación. •  Código fácil de reutilizar (validadores, formularios). Jornadas Symfony http://decharlas.uji.es/symfony
  16. …y al final… •  Ciclos de desarrollo mucho más cortos

    (¡experiencia!). •  Las mejoras descubiertas en UAWP, pasadas a CMDB (¡Refactorización!). •  Descubrimos la potencia de los plugins: •  Añadir ReCaptcha a un formulario como si fuese nativo del framework. •  7 releases. Jornadas Symfony http://decharlas.uji.es/symfony
  17. Nuestro futuro con symfony •  Migrar a symfony 1.4 • 

    Integración continua (Hudson). •  Uso en futuros proyectos similares. •  Posible uso en DRI (proyecto principal). •  Ahora: •  DRI-Engine como EJB •  Visor genérico en VJSF. •  Futuro: •  DRI-Engine vía WebServices. •  ¿Visor genérico en symfony? Jornadas Symfony http://decharlas.uji.es/symfony
  18. Conclusiones •  Framework potente y maduro. •  Requiere de un

    periodo de formación previa. •  Excelente documentación. •  Con la suficiente formación, desarrollos rápidos. •  Induce a tener código sólido y mantenible •  Muy satisfechos con symfony J Jornadas Symfony http://decharlas.uji.es/symfony