Perior De Ingeniería Lecomunicación
Total Page:16
File Type:pdf, Size:1020Kb
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y SISTEMAS DE TELECOMUNICACIÓN PROYECTO FIN DE GRADO TÍTULO: ENTERPRISE ARCHITECTURE AUTOMATION WITH OPENSOURCE TOOLS AUTOR: FERNANDO GARZÁS MARTÍN DE ALMAGRO TITULACIÓN: GRADO EN INGENIERÍA TELEMÁTICA DIRECTOR: ALEJANDRO ALONSO FERNANDEZ TUTOR: CARLOS RAMOS NESPEREIRA DEPARTAMENTO: INGENIERÍA TELEMÁTICA Y ELECTRÓNICA VºBº Miembros del Tribunal Calificador: PRESIDENTE: MARTINA ECKERT TUTOR: CARLOS RAMOS NESPEREIRA SECRETARIO: FRANCISCO JAVIER RAMIREZ LEDESMA Fecha de lectura: Calificación: El Secretario, Enterprise architecture automation with opensource tools 2 Enterprise architecture automation with opensource tools Enterprise architecture automation with opensource tools Resumen Cualquier compañía cuyo negocio se base en el desarrollo y la venta de productos software, debe garantizar el correcto desempeño y rendimiento de los productos que entrega a sus clientes. Para ello, es fundamental realizar una correcta monitorización de las herramientas, lo cual implica un coste operativo que en determinadas ocasiones puede ser elevado. Este coste operativo puede ser asumido por la compañía proveedora, o por el cliente final. En el caso del producto Expresse ®, de la compañía ASSIA Inc. ([2]), esta labor de monitorización se realiza de forma manual por los ingenieros del equipo de soporte de cada cliente, y no se cuenta con un sistema software que permita realizar una monitorización eficiente de los diferentes procesos de negocio ejecutados por el software, ni una correcta monitorización de las plataformas en las que los productos están desplegados. En el presente proyecto se han elegido herramientas que minimicen ese coste operativo, y en base a ellas se ha implementado un sistema de monitorización automáticamente desplegado. Como parte del trabajo, se han determinado los indicadores clave de procesos (KPI) del producto Expresse que deben ser monitorizados. Igualmente, se han determinado los indicadores de rendimiento de los servidores pertenecientes a la plataforma que resulten ser relevantes para la operación de esta. Por otro lado, se han determinado los tipos de arquitecturas que deben ser monitorizados, resultando dos: arquitecturas mono-cliente, y arquitecturas multi-cliente. Con respecto a las herramientas de monitorización, se han evaluado dos: Kibana ([1]) y Grafana ([8]). Finalmente, se ha seleccionado Grafana, al estar siendo utilizada por otros departamentos dentro de la empresa, facilitando así simplificar los procesos de monitorización al tener una plataforma global de monitorización, que incluye otros productos aparte de Expresse. Enterprise architecture automation with opensource tools 3 Enterprise architecture automation with opensource tools Así mismo, se han analizado cuatro herramientas de automatización de despliegues: Ansible ([16]), SaltStack ([18]), Rudder ([11]) y CFEEngine ([12]). De éstas, ha sido seleccionada Ansible, por la simpleza de su arquitectura, su versatilidad y escalabilidad, y su adecuación a los tipos de arquitecturas que se deben gestionar. 4 Enterprise architecture automation with opensource tools Enterprise architecture automation with opensource tools Abstract Software companies developing their own products need to ensure product operation quality and performance after being handed out to their customers. Given that, it is crucial to monitor effectively. The cost of resources to do is an operational expense, which sometimes may be high. These costs might be afforded either by software provider, or by customer itself. In case of Expresse ®, an ASSIA Inc. product ([2]), this monitoring work is currently performed manually by ASSIA support team engineers of each account and does not have any tool to efficiently perform either business process monitoring or platforms monitoring. In this project, tools have been identified to help reduce those operational expenses and an auto-deployed monitoring system has been implemented. As part of the work, KPIs have been identified both for business process monitoring and for platform monitoring. In parallel, two different architectures have been defined: single-customer and multi- customer. Regarding monitoring activity, two tools have been evaluated: Kibana ([1]) and Grafana ([8]). The latter has been chosen as it is being used on other ASSIA processes to monitor another family of products (Cloudcheck). This way, global monitoring processes are simplified. In addition, learning curve for those systems is reduced. Additionally, four different deployment automation tools have been evaluated: Ansible ([16]), SaltStack ([18]), Rudder ([11]) and CFEEngine ([12]). From them, Ansible has been chosen, due to its simplicity of operation, its versatility, scalability, and its suitability to the different architectures to be set up. Enterprise architecture automation with opensource tools 5 Enterprise architecture automation with opensource tools 6 Enterprise architecture automation with opensource tools Enterprise architecture automation with opensource tools Revision History Part Number Date Comments TR-XX-YYYY- Document created with first page meeting DD-MM UPM requirements. Included abstract Included first version of Table of Contents, Acronym list, and introduction Included Introduction Included Technological Framework. 27/05/2019 Included changes from first review 28/05/2019 Added KPI definitions 10/06/2019 Improved KPI definitions. Included diagrams, compliancy and budget. Performed minor revisions. 17/06/2019 Reorganized documentation to add more details in Proposal Description chapter 19/06/2019 Added architecture diagrams. Included more details on solutions used. Added implementation details. Added user guide and conclusions. 02/07/2019 Reviewed document format. Added chapter “Future Works” Enterprise architecture automation with opensource tools 7 Enterprise architecture automation with opensource tools 8 Enterprise architecture automation with opensource tools Enterprise architecture automation with opensource tools Table of Contents REVISION HISTORY ................................................................................................................................................ 7 ABBREVIATIONS, ACRONYMS AND SYMBOLS ............................................................................................... 13 1 INTRODUCTION ....................................................................................................................................... 17 2 PRECEDENTS/TECHNOLOGICAL FRAMEWORK ............................................................................. 19 2.1 EXPRESSE SUITE OUTLINE ................................................................................................................... 19 2.1.1 EXPRESSE ARCHITECTURE DESIGN .................................................................................................. 20 2.1.2 EXPRESSE HARDWARE ......................................................................................................................... 25 2.2 THIRD PARTY TOOLS............................................................................................................................. 25 2.2.1 IT DEPLOYMENT AUTOMATION SELECTION PROCESS ............................................................... 26 2.2.2 MONITORING SOFTWARE REQUIREMENTS .................................................................................... 31 2.3 HIGHLIGHTS OF SELECTED TOOLS ................................................................................................... 35 3 DESIGN SPECIFICATION AND RESTRICTIONS ................................................................................. 37 3.1 GLOBAL SPECIFICATIONS .................................................................................................................... 37 3.2 GENERIC RESTRICTIONS ...................................................................................................................... 37 3.3 BUSINESS PROCESS KPI SPECIFICATION ......................................................................................... 38 3.4 GENERIC KPI SPECIFICATION............................................................................................................. 47 3.4.1 GENERIC HARDWARE INDICATORS .................................................................................................. 47 3.4.2 DATABASE (ORACLE) SPECIFIC INDICATORS ................................................................................. 48 3.5 DASHBOARD DEFINITION ..................................................................................................................... 50 4 PROPOSAL DESCRIPTION ..................................................................................................................... 51 4.1 IT DEPLOYMENT AUTOMATION ......................................................................................................... 51 4.1.1 SELECTION PROCESS AND FINAL DECISION ................................................................................... 51 4.1.2 ANSIBLE TO AUTOMATE DEPLOYMENTS ........................................................................................ 53 4.2 MONITORING FRAMEWORK ................................................................................................................ 54 4.3 ARCHITECTURES PROPOSAL .............................................................................................................. 55 4.4 ANSIBLE INSTALLATION .....................................................................................................................