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

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

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

@ deSymfony 2010

Avatar for César Suárez Ortega

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