1 00:00:00,000 --> 00:00:18,000 Comenzamos la grabación. Quería darte los buenos días, Borja. Hoy, día 18 de enero, a las 4 y 20, estamos convocados a través de jefatura del departamento 2 00:00:18,000 --> 00:00:25,000 para defensa del módulo profesional del proyecto del ciclo formativo de grado superior de administración de sistemas informáticos en red. 3 00:00:25,000 --> 00:00:38,000 Te informo de que esta grabación se usará en un entorno cerrado de UCAMadrid con fines educativos y sólo estará a disposición de los profesores evaluadores en el aula virtual para llevar a cabo la evaluación 4 00:00:38,000 --> 00:00:47,000 y la calificación de la defensa del proyecto. En el aula virtual de proyectos habéis sido informados de los criterios y la rubrica de calificación que tienen 5 00:00:47,000 --> 00:01:00,000 y en la orden de la presentación del proyecto es el siguiente. Tienes 15 minutos para defender el proyecto y 5 minutos para preguntas por parte del tribunal, que las haría yo. 6 00:01:00,000 --> 00:01:10,000 Dicho esto, tu tiempo de exposición comienza a partir de este momento. Así que, adelante y mucha suerte. Son 24. 7 00:01:17,000 --> 00:01:39,000 Empezamos a partir de que empieces a hablar. Si quieres que cambia y 25 la hora y así tenemos el tiempo exacto. Ya, puedes empezar. 8 00:01:40,000 --> 00:01:53,000 Buenas tardes. Mi proyecto consta de la implementación de los servicios BIM, Apache, MySQL, Nginx y Nagios. 9 00:01:53,000 --> 00:02:05,000 Se van a hacer a través de 5 máquinas virtuales usando Virtualbox y a cada una de ellas se les va a asignar 2 GB de memoria RAM y 15 de disco duro. 10 00:02:05,000 --> 00:02:14,000 Además, todas ellas van a estar conectadas en modo puente para favorecer la conexión con mi router. 11 00:02:16,000 --> 00:02:33,000 Entre los objetivos generales a destacar del proyecto, sobre todo, asegurar un funcionamiento óptimo de las distintas máquinas virtuales, optimizar los recursos para aumentar la disponibilidad de los servicios, 12 00:02:33,000 --> 00:02:47,000 intentar llevar a cabo las mejores políticas de seguridad en cada máquina virtual y seguir las pautas de configuración y administración de los diferentes servicios a implementar. 13 00:02:48,000 --> 00:03:03,000 Entre los objetivos específicos a destacar serían, en la primera máquina virtual, configurar BIM como servidor de resolución de nombres DNS mediante el contenedor Docker. 14 00:03:04,000 --> 00:03:26,000 Para las máquinas virtuales 2 y 3 desplegar ambos servidores web Apache con módulo PHP y además entre ellos integrar MySQL como servidor de base de datos configurados entre ellos en modo maestro y esclavo. 15 00:03:27,000 --> 00:03:42,000 Para la máquina virtual número 4 configurar Nginx como balanzador de carga de los dos servidores anteriores Apache para mejorar el rendimiento. 16 00:03:43,000 --> 00:03:59,000 Y para la última máquina virtual configurar Navios para monitorizar los diferentes servicios y detectar posibles errores, aparte de también la documentación detallada de los puntos a exponer del proyecto. 17 00:04:00,000 --> 00:04:16,000 Aquí se muestra un poco el diagrama de red, cómo irían las conexiones, la disposición de las distintas máquinas virtuales, cómo se relacionan entre ellas y los distintos puertos abiertos en cada una de ellas. 18 00:04:16,000 --> 00:04:35,000 La configuración a destacar para la primera máquina virtual en BIM sería gestionar el servicio mediante la herramienta Docker Compose para simplificar y administrar este servicio. 19 00:04:36,000 --> 00:04:46,000 Junto a esto se va a crear también el archivo de configuración de BIM, además de las zonas directa e inversa. 20 00:04:47,000 --> 00:05:00,000 Abrir el puerto 53 por el que escucha BIM junto al puerto que escucha el servidor remoto de Navios para su posterior monitorización junto con la definición de esos comandos. 21 00:05:01,000 --> 00:05:17,000 Aquí muestro la captura de pantalla de cómo el servidor BIM está funcionando, resolviendo los nombres de dominio tanto por IP como por nombre DNS. 22 00:05:17,000 --> 00:05:36,000 Para la configuración de los servidores Apache con MySQL destacar la creación de ambos host virtuales con los dominios definidos en BIM. 23 00:05:37,000 --> 00:05:46,000 En ellos se van a generar autocertificados SSL para garantizar conexiones seguras con el protocolo HTTPS. 24 00:05:49,000 --> 00:06:04,000 Para la configuración de los servidores MySQL en modo maestro y esclavo, además de crear un usuario con permisos para la replicación en el servidor maestro. 25 00:06:06,000 --> 00:06:17,000 Se van a habilitar los diferentes puertos de escucha, además de habilitar el servidor remoto de Navios para su posterior monitorización junto con los comandos. 26 00:06:22,000 --> 00:06:34,000 Aquí muestro el funcionamiento de los servidores Apache, tanto por comunicación HTTP como por HTTPS. 27 00:06:37,000 --> 00:06:51,000 Y aquí se muestra el funcionamiento de la replicación de la base de datos en el que se han tomado los datos del servidor maestro junto con ese usuario creado para la replicación. 28 00:06:52,000 --> 00:07:04,000 Y esos datos son tomados en el esclavo para cuando se inicie la replicación el esclavo pase a adoptar esos datos. 29 00:07:06,000 --> 00:07:18,000 Una vez iniciada la replicación, para comprobar que funciona, se ha creado una base de datos en el maestro que se replica en el esclavo. 30 00:07:22,000 --> 00:07:33,000 Para la máquina virtual 4 se ha configurado Nginx como balanceador de carga para distribuir esta en los servidores web Apache. 31 00:07:34,000 --> 00:07:47,000 Además va a funcionar para manejar los certificados con SSL configurados en Apache y se le va a forzar además la conexión mediante el protocolo HTTPS. 32 00:07:48,000 --> 00:07:58,000 Se van a habilitar también los puertos necesarios junto con el servidor de monitorización Navios para su posterior monitorización. 33 00:08:03,000 --> 00:08:21,000 Y aquí se mostraría el funcionamiento del balanceador de carga en el que balancea tanto al servidor 1 como al servidor 2 y garantizando la comunicación mediante HTTPS. 34 00:08:22,000 --> 00:08:45,000 Por último en la máquina virtual 5, definir en Navios los hosts a monitorizar que son los servicios anteriormente mencionados, los comandos y los servicios a monitorizar. 35 00:08:46,000 --> 00:08:52,000 Se habilita también los puertos de escucha necesarios para poder acceder a ello. 36 00:08:55,000 --> 00:09:06,000 Y aquí se muestra como se monitorizan tanto los hosts definidos como los servicios, además de mostrar el mapa de red de la monitorización. 37 00:09:06,000 --> 00:09:35,000 Este proyecto puede ser usado en entornos empresariales como empresas que ofrecen hosting web, en empresas de desarrollo software, en empresas que priorizan seguridad y redundancia en servicios de línea, en empresas con infraestructuras críticas y en empresas que priorizan la monitorización continua. 38 00:09:37,000 --> 00:09:59,000 Los motivos de su aplicación serían porque mejora la disponibilidad, ya que la configuración por parte de Nginx como balanceador de carga, tanto la replicación en la base de datos, aparte que también da cierta redundancia porque minimiza la pérdida de los datos. 39 00:10:00,000 --> 00:10:06,000 La implementación de un servidor DNS da cierta capa de seguridad. 40 00:10:08,000 --> 00:10:16,000 La configuración permite escalar según las necesidades y la recuperación ante los desastres. 41 00:10:16,000 --> 00:10:40,000 Las conclusiones que podría destacar de este proyecto sobre todo serían el haber desarrollado la capacidad de poder configurar y administrar servicios esenciales y críticos que pueden ser usados en un entorno de producción real. 42 00:10:47,000 --> 00:11:04,000 Algunas consideraciones de vías futuras pueden ser implementación de seguridad adicional como implementar certificados SSL mediante Redsencript. 43 00:11:05,000 --> 00:11:21,000 Incluso también desplegando un firewall dedicado a que gestione todas las conexiones restringiendo aquellas que no sean específicamente necesarias. 44 00:11:22,000 --> 00:11:45,000 Implementar otras tecnologías de contenedización como Kubernetes, mejoras en la monetización como crear un registro de alertas específico, optimizar más los recursos y explorar nuevas tecnologías. 45 00:11:46,000 --> 00:12:00,000 Y aplicación en otras empresas. Puede ser aplicado en empresas de comercio electrónico, start-up tecnológicas y en agencias de marketing digital. 46 00:12:00,000 --> 00:12:29,000 ¿Durante el desarrollo del proyecto cuáles fueron los mayores desafíos técnicos que has enfrentado y cómo los has superado? 47 00:12:30,000 --> 00:12:49,000 Sobre todo el hacer desplegar el contenedor con BIN. La verdad que eso me llevó bastante quebradero de cabeza. 48 00:12:49,000 --> 00:13:02,000 Y sobre todo los permisos relacionados con permitir los puertos o incluso con los permisos que se da a ciertos archivos para poder acceder a ellos. 49 00:13:02,000 --> 00:13:05,000 Que era también mucho de lo que he fallado. 50 00:13:06,000 --> 00:13:20,000 ¿Puedes explicar con más detalle cómo configuraste la relación maestro-esclavo entre los servidores Apache y MySQL y cómo esto contribuye a la alta disponibilidad del sistema? 51 00:13:20,000 --> 00:13:42,000 Lo primero se configuró para la configuración de MySQL en maestro-esclavo. Primero de todo creamos un usuario con los permisos específicos de la replicación. 52 00:13:43,000 --> 00:14:08,000 Luego se toma el estado del maestro. Se cogen los datos por ejemplo de la posición, del binlog y junto con ese usuario de replicación le añades la IP 53 00:14:08,000 --> 00:14:15,000 junto con la IP configurada también en el servidor maestro. 54 00:14:27,000 --> 00:14:32,000 ¿Cómo contribuiría la alta disponibilidad del sistema? 55 00:14:33,000 --> 00:14:49,000 La alta disponibilidad, además esto sí que te lo puedo decir porque sobre todo el balanceador, tanto el balanceador de carga como la base de datos contribuye a la alta disponibilidad ya que 56 00:14:50,000 --> 00:15:05,000 está siempre en continuo acceso. Aunque un servidor falle puedes acceder al otro y centrarte en arreglar el permiso sin dejar de ofrecer esos servicios. 57 00:15:05,000 --> 00:15:31,000 Y por último te quería preguntar también cuál ha sido dentro del proyecto, cómo sería la aplicación en un entorno empresarial real como los que hablas y cuál sería el impacto para la mejora de esa infraestructura. 58 00:15:35,000 --> 00:15:58,000 Sobre todo también el uso de tecnologías de código abierto ayudan a reducir los costes y la configuración que se ha elegido 59 00:15:58,000 --> 00:16:25,000 Siempre con esto, tanto con el balanceador de carga y con la replicación de base de datos, si tú ofreces un servicio y por un casual te da fallos el otro servidor, tú puedes seguir ofreciendo ese servicio. 60 00:16:28,000 --> 00:16:40,000 ¿Termina de decirlo con tranquilidad? 61 00:16:40,000 --> 00:17:05,000 Es que no. Garantizar el poseso, la disponibilidad del acceso, incluso si tú tienes los datos que son muy importantes en una empresa, contribuye a que las pérdidas se minimicen, las pérdidas de esos datos sean mínimas. 62 00:17:05,000 --> 00:17:15,000 Entiendo. Pues con esto quedaría terminada la presentación del proyecto. ¿Vale, Borja?