Caso práctico II: symfony en la gestión de un centro de computación avanzada (ceta-ciemat.es) -...

31
organizan patrocinan colaboran Jornadas Symfony 5 y 6 de julio 2010 Universitat Jaume I, Castell ttp://decharlas.uji.es/symfony

description

Caso práctico 2 con symfony: ceta-ciemat.es a cargo de César Suárez en las primeras jornadas symfony. (decharlas.com)

Transcript of Caso práctico II: symfony en la gestión de un centro de computación avanzada (ceta-ciemat.es) -...

Page 1: Caso práctico II: symfony en la gestión de un centro de computación avanzada (ceta-ciemat.es) - decharlas

organizan patrocinan

colaboran

Jornadas Symfony 5 y 6 de julio 2010Universitat Jaume I, Castellón

http://decharlas.uji.es/symfony

Page 2: Caso práctico II: symfony en la gestión de un centro de computación avanzada (ceta-ciemat.es) - decharlas

Caso práctico: Symfony en la gestión de un centro de computación avanzadaCésar Suárez, www.ceta-ciemat.es

Jornadas Symfony 5 y 6 de julio 2010Universitat Jaume I, Castellón

http://decharlas.uji.es/symfony

Page 3: Caso práctico II: symfony en la gestión de un centro de computación avanzada (ceta-ciemat.es) - decharlas

sesión patrocinada por

www.ceta-ciemat.es

Jornadas Symfony http://decharlas.uji.es/symfony

Page 4: Caso práctico II: symfony en la gestión de un centro de computación avanzada (ceta-ciemat.es) - decharlas

¿Quiénes somos?

Jornadas Symfony http://decharlas.uji.es/symfony

Page 5: Caso práctico II: symfony en la gestión de un centro de computación avanzada (ceta-ciemat.es) - decharlas

¿Dónde estamos?

Jornadas Symfony http://decharlas.uji.es/symfony

Page 6: Caso práctico II: symfony en la gestión de un centro de computación avanzada (ceta-ciemat.es) - decharlas

¿Dónde estamos?

Jornadas Symfony http://decharlas.uji.es/symfony

Page 7: Caso práctico II: symfony en la gestión de un centro de computación avanzada (ceta-ciemat.es) - decharlas

¿Dónde estamos?

Jornadas Symfony http://decharlas.uji.es/symfony

Page 8: Caso práctico II: symfony en la gestión de un centro de computación avanzada (ceta-ciemat.es) - decharlas

¿Dónde estamos?

Jornadas Symfony http://decharlas.uji.es/symfony

Page 9: Caso práctico II: symfony en la gestión de un centro de computación avanzada (ceta-ciemat.es) - decharlas

¿Dónde estamos?

Jornadas Symfony http://decharlas.uji.es/symfony

Page 10: Caso práctico II: symfony en la gestión de un centro de computación avanzada (ceta-ciemat.es) - decharlas

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

Page 11: Caso práctico II: symfony en la gestión de un centro de computación avanzada (ceta-ciemat.es) - decharlas

¿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

Page 12: Caso práctico II: symfony en la gestión de un centro de computación avanzada (ceta-ciemat.es) - decharlas

¿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

Page 13: Caso práctico II: symfony en la gestión de un centro de computación avanzada (ceta-ciemat.es) - decharlas

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

Page 14: Caso práctico II: symfony en la gestión de un centro de computación avanzada (ceta-ciemat.es) - decharlas

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

Page 15: Caso práctico II: symfony en la gestión de un centro de computación avanzada (ceta-ciemat.es) - decharlas

¿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

Page 16: Caso práctico II: symfony en la gestión de un centro de computación avanzada (ceta-ciemat.es) - decharlas

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

Page 17: Caso práctico II: symfony en la gestión de un centro de computación avanzada (ceta-ciemat.es) - decharlas

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

Page 18: Caso práctico II: symfony en la gestión de un centro de computación avanzada (ceta-ciemat.es) - decharlas

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

• Sin ningún IDE completo compatible (en ese momento)

Jornadas Symfony http://decharlas.uji.es/symfony

Page 19: Caso práctico II: symfony en la gestión de un centro de computación avanzada (ceta-ciemat.es) - decharlas

…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

Page 20: Caso práctico II: symfony en la gestión de un centro de computación avanzada (ceta-ciemat.es) - decharlas

CMDB: Resultado

Jornadas Symfony http://decharlas.uji.es/symfony

Page 21: Caso práctico II: symfony en la gestión de un centro de computación avanzada (ceta-ciemat.es) - decharlas

CMDB: Resultado

Jornadas Symfony http://decharlas.uji.es/symfony

Page 22: Caso práctico II: symfony en la gestión de un centro de computación avanzada (ceta-ciemat.es) - decharlas

CMDB: Resultado

Jornadas Symfony http://decharlas.uji.es/symfony

Page 23: Caso práctico II: symfony en la gestión de un centro de computación avanzada (ceta-ciemat.es) - decharlas

CMDB: Resultado

Jornadas Symfony http://decharlas.uji.es/symfony

Page 24: Caso práctico II: symfony en la gestión de un centro de computación avanzada (ceta-ciemat.es) - decharlas

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

Page 25: Caso práctico II: symfony en la gestión de un centro de computación avanzada (ceta-ciemat.es) - decharlas

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

Page 26: Caso práctico II: symfony en la gestión de un centro de computación avanzada (ceta-ciemat.es) - decharlas

…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

Page 27: Caso práctico II: symfony en la gestión de un centro de computación avanzada (ceta-ciemat.es) - decharlas

UAWP: Resultado

Jornadas Symfony http://decharlas.uji.es/symfony

Page 28: Caso práctico II: symfony en la gestión de un centro de computación avanzada (ceta-ciemat.es) - decharlas

UAWP: Resultado

Jornadas Symfony http://decharlas.uji.es/symfony

Page 29: Caso práctico II: symfony en la gestión de un centro de computación avanzada (ceta-ciemat.es) - decharlas

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

Page 30: Caso práctico II: symfony en la gestión de un centro de computación avanzada (ceta-ciemat.es) - decharlas

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

Jornadas Symfony http://decharlas.uji.es/symfony

Page 31: Caso práctico II: symfony en la gestión de un centro de computación avanzada (ceta-ciemat.es) - decharlas

¡¡GRACIAS!!¿Preguntas? ¿Sugerencias?

¿[email protected]://www.ceta-ciemat.es

Jornadas Symfony http://decharlas.uji.es/symfony