|
Grado en Ingeniería Informática |
TRABAJOS FIN DE GRADO curso: 2017-18
Diseño e implementación de una infraestructura Dev/Ops para el desarrollo de aplicaciones basadas en microservicios |
Tecnologías Específicas
Ingeniería del Software
Descripcion y Objetivos
Las arquitecturas de microservicios [1] ha surgido como un nuevo estilo arquitectónico que permite desarrollar una aplicacion como una suite de pequeños servicios, cada uno en su propio proceso, que se comunican mediante mecanismos ligeros como HTTP. Una arquitectura de microservicios impone diferentes restricciones para que sea considerada como tal, como por ejemplo, el desarrollo basado en productos no en proyectos, el cumplimiento de la Ley Conway, etc. De entre todas esas características es importante resaltar una: despliegue de forma independiente y automática. Es en este punto donde emerge la utilización de la filosofía Dev/Ops [2,3] .
Dev/Ops se está imponiendo de facto como una aproximación al desarrollo de software que ayuda a mejorar la calidad de los productos software desarrollados. Las características de integración continua, despliegue continuo, automatización de las pruebas, etc. permiten a los involucrados en el proceso de desarrollo centrar su esfuerzo en las fases creativas del desarrollo del software, automatizando todo aquello que de otra forma podría ser tendente a la introducción de errores en el proceso.
Así, el presente proyecto se plantea con los siguientes objetivos:
- Obj 1: Conocer las restricciones e implicaciones para la construcción de las arquitecturas de microservicios.
- Obj 2: Conocer las restricciones y necesidades para la implantación de una infraestructura dev/ops.
- Obj 3: Estudiar y identifcar las propuestas existentes para la implantación de un infraestructura dev/ops.
- Obj 4: Especificar, diseñar e implementar una arquitectura de microservicios para la industria maderera empleando la infraestructura implantada.
- Obj 5: Analizar las ventajas e inconvenientes frente a la situación actual.
Metodología y Competencias
Metodologías:
- Lean StartUP: esta metodología se utilizará en una primera fase del proyecto a fin de estudiar las herramientas que conformaran la infraestructura dev/ops.
- Scrum: esta metodología se utilizará durante el desarrollo de la arquitectura de microservicios.
Competencias a desarrollar con el presente TFG:
- Capacidad para desarrollar, mantener y evaluar servicios y sistemas software que satisfagan todos los requisitos del usuario y se comporten de forma fiable y eficiente, sean asequibles de desarrollar y mantener y cumplan normas de calidad, aplicando las teorías, principios, métodos y prácticas de la Ingeniería del Software.
- Capacidad para valorar las necesidades del cliente y especificar los requisitos software para satisfacer estas necesidades, reconciliando objetivos en conflicto mediante la búsqueda de compromisos aceptables dentro de las limitaciones derivadas del coste, del tiempo, de la existencia de sistemas ya desarrollados y de las propias organizaciones.
- Capacidad de dar solución a problemas de integración en función de las estrategias, estándares y tecnologías disponibles.
- Capacidad de identificar y analizar problemas y diseñar, desarrollar, implementar, verificar y documentar soluciones software sobre la base de un conocimiento adecuado de las teorías, modelos y técnicas actuales.
- Capacidad de identificar, evaluar y gestionar los riesgos potenciales asociados que pudieran presentarse.
- Capacidad para diseñar soluciones apropiadas en uno o más dominios de aplicación utilizando métodos de la ingeniería del software que integren aspectos éticos, sociales, legales y económicos.
Medios a utilizar
Visual Studio 2017 o similar
PC
Bibliografía
-
Sam Newman, Building Microservices. Designing Fine-Grained Systems, O'Reilly Media, 2015, 282.
- Jez Humble and David Farley, Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation, Wiley, 2012
-
Kevin Behr, Gene Kim and George Spafford, The Visible Ops Handbook: Implementing ITIL in 4 Practical and Auditable Steps, IT Process Institute,2013.
Tutor NAVARRO MARTÍNEZ, ELENA MARIA | Alumno MUÑOZ LOPEZ, DAVID |
| |