1 00:00:01,780 --> 00:00:19,530 Y empezamos. Buenas tardes, Manuel. Hoy día, 16 de mayo, a las 18.30 horas, estamos convocados a través de Jefatura de Departamento para la defensa del módulo profesional de proyecto, el ciclo formativo de grado superior de Administración de Sistemas Informáticos en Red. 2 00:00:20,350 --> 00:00:25,350 Te informo que esta grabación se usará en el entorno cerrado de EducaMadrid, con fines educativos, 3 00:00:25,629 --> 00:00:33,649 y sólo estará a disposición de los profesores en el aula virtual para llevar a cabo la evaluación y calificación de la defensa del proyecto. 4 00:00:34,350 --> 00:00:40,490 En el aula virtual de proyectos habéis sido informados de los criterios y rúbricas de calificación. 5 00:00:41,170 --> 00:00:43,729 El orden de la presentación del proyecto es el siguiente. 6 00:00:43,729 --> 00:00:49,729 15 minutos máximo para defender el proyecto a partir de que termines de leer este texto 7 00:00:49,729 --> 00:00:53,149 y 5 minutos para preguntas por parte del tribunal. 8 00:00:54,130 --> 00:00:57,270 Dicho esto, tu tiempo de exposición comienza a partir de este momento. 9 00:00:58,229 --> 00:00:59,609 Adelante, Manuel, y mucha suerte. 10 00:01:00,469 --> 00:01:00,969 Muchas gracias. 11 00:01:02,189 --> 00:01:04,069 Pues este es mi proyecto. 12 00:01:04,069 --> 00:01:11,549 He planteado un clúster de almacenamiento y hosting web 13 00:01:11,549 --> 00:01:22,390 en el que va a haber una tienda alojada con un buscador y constaría de tres partes, un buscador, una web 14 00:01:22,390 --> 00:01:30,290 y estaría montado de una manera económica, lo he dividido en tres secciones la presentación 15 00:01:30,290 --> 00:01:37,549 voy a introducir un poco lo que es la infraestructura y cómo se va a montar 16 00:01:37,549 --> 00:02:03,310 En el 2, donde más hincapié voy a hacer va a ser en el diseño, puesto que realmente la instalación de los distintos software es más manual y más práctico, he puesto los comandos necesarios, pero donde más hincapié voy a hacer es en la explicación de todo y luego en las conclusiones es donde voy a hacer en qué contexto laboral le sirve y qué mejoras a futura se pueden hacer. 17 00:02:03,310 --> 00:02:36,969 He dejado ahí la sección de preguntas para el final y, bueno, pues comienzo. Vale, lo que he planteado es, vamos a hacer una página web de una manera económica en la que no cueste muchísimo dinero tener un almacenamiento contratado, o sea, un hosting contratado y que lo pueda autogestionar desde la misma tienda y que tenga una escalabilidad que sea coherente. 18 00:02:36,990 --> 00:03:08,050 Como he comentado, yo tengo mi background laboral, yo he trabajado en una tienda durante muchos años en la que teníamos una página web y esa página web era llevada por otras personas y era un dineral para al cabo del mes, la gestión, el hosting, la base de datos, los artículos y demás. 19 00:03:08,050 --> 00:03:23,430 Entonces, bueno, pues se me ocurrió hacer una propuesta de una página web propia que la pudiéramos llevar en servidores locales, que no llevara mucho coste porque las licencias de los servidores son bastante caras. 20 00:03:23,430 --> 00:03:43,330 Entonces, una manera barata que fuera eficiente, que fuera escalable y que fuera segura. Entonces, es aquí donde viene la idea del proyecto, que es mediante Raspberrys y software gratuito, que podría ser de pago, pero para el proyecto es mejor que sea gratuito. 21 00:03:43,330 --> 00:03:50,469 así se puede hacer un control de todo lo que es la página web 22 00:03:50,469 --> 00:03:55,669 y todo lo que conlleve ello, tanto SQL como sistema operativo 23 00:03:55,669 --> 00:03:58,310 como diseño, etc. 24 00:04:01,389 --> 00:04:04,949 Entonces, con ello concretamos que los objetivos son 25 00:04:04,949 --> 00:04:09,210 garantizar la autonomía, reducir los costes, reforzar la seguridad 26 00:04:09,210 --> 00:04:12,969 garantizar la redundancia y facilitar la escalabilidad y la flexibilidad 27 00:04:12,969 --> 00:04:21,589 aquí voy a presentar las tecnologías que se van a usar lo más importante y el centro de 28 00:04:21,589 --> 00:04:27,629 todos este modelo de raspberry que es una maravilla es un modelo un poco antiguo ya 29 00:04:27,629 --> 00:04:35,870 estamos en modelos superiores lo que pasa es que éste no tenía tenía la posibilidad de manejarlos 30 00:04:35,870 --> 00:04:43,790 con más frecuencia entonces tengo mayor mayor manejabilidad con ellos y bueno lo bueno es que 31 00:04:43,790 --> 00:04:49,730 es de bajo coste y tiene una potencia bastante grande cuáles son las características de este 32 00:04:49,730 --> 00:04:54,829 raspberry son que tiene cuatro puertos usb que vienen muy bien un puerto de hdmi y un puerto 33 00:04:54,829 --> 00:05:01,850 de rj45 que me supuso un problema pero lo solucione con un aparato que añado aquí en 34 00:05:01,850 --> 00:05:08,089 la siguiente diapositiva para el diseño necesitaba que tuviera dos rj45 y en uno 35 00:05:08,089 --> 00:05:14,810 de la raspberry tenía que tener tres conexiones de rj45 así que bueno los adaptadores usb rj45 36 00:05:16,170 --> 00:05:23,970 con conectado por usb pues hace una conexión bastante eficiente también los cables que fueron 37 00:05:23,970 --> 00:05:29,069 necesarios para interconectar los raspberry dispositivos de entrada y salida que no los 38 00:05:29,069 --> 00:05:34,410 he incluido en los costes puesto que bueno monitor ratón y teclado que tenía por casa 39 00:05:34,410 --> 00:05:42,750 entonces tampoco era necesario y un hdmi splitter por comodidad porque sí que es verdad que estar 40 00:05:42,750 --> 00:05:47,730 desenchufando y enchufando en una raspberry me daba cierto respeto entonces prefería dejarlo 41 00:05:47,730 --> 00:05:57,569 enchufado y que fuera fuera más más más cómodo el uso vale luego en cuanto al software que usado 42 00:05:57,569 --> 00:06:02,709 Uno de las cosas más importantes ha sido el Glaster, GlasterFS 43 00:06:02,709 --> 00:06:08,790 Lo que hace este sistema es que permite tener como una copia de respaldo 44 00:06:08,790 --> 00:06:11,810 Constantemente en otra unidad 45 00:06:11,810 --> 00:06:16,389 Y mediante una conexión directa está constantemente haciendo un respaldo 46 00:06:16,389 --> 00:06:20,829 En el caso de que si uno parara, el otro empezaría a funcionar 47 00:06:20,829 --> 00:06:23,050 Su almacenamiento funciona mediante bricks 48 00:06:23,050 --> 00:06:26,029 Que son como volúmenes digitales 49 00:06:26,029 --> 00:06:29,490 Básicamente hay que hacer una partición del disco 50 00:06:29,490 --> 00:06:30,610 Del almacenamiento de la SD 51 00:06:30,610 --> 00:06:33,490 Y configurarla para que se use 52 00:06:33,490 --> 00:06:34,490 Solo a modo de Glaster 53 00:06:34,490 --> 00:06:37,170 Entonces, bueno 54 00:06:37,170 --> 00:06:39,050 Asegurado de redundancia y disponibilidad 55 00:06:39,050 --> 00:06:41,009 Como 56 00:06:41,009 --> 00:06:42,790 Se ha generado 57 00:06:42,790 --> 00:06:44,930 Lo he montado en el Ubuntu Mate 58 00:06:44,930 --> 00:06:47,050 Que es el sistema operativo que he usado 59 00:06:47,050 --> 00:06:48,589 Que lo definiré ahora más adelante 60 00:06:48,589 --> 00:06:50,790 Y bueno, te permite 61 00:06:50,790 --> 00:06:53,069 Gestionar los datos 62 00:06:53,069 --> 00:06:54,269 Y el sistema 63 00:06:54,269 --> 00:06:58,829 Puedes gestionar los datos desde el sistema operativo 64 00:06:58,829 --> 00:07:01,649 Tiene bastantes protocolos de seguridad 65 00:07:01,649 --> 00:07:04,509 Tiene tolerancia a fallos, tiene redundancia 66 00:07:04,509 --> 00:07:08,310 Tiene una facilidad de uso bastante grande, la verdad 67 00:07:08,310 --> 00:07:11,209 Y tiene muy buen rendimiento 68 00:07:11,209 --> 00:07:18,009 En cuanto a la base de datos 69 00:07:18,009 --> 00:07:20,750 He usado MySQL para hacer las bases de datos 70 00:07:20,750 --> 00:07:24,009 Uno para la tienda y otro para el buscador 71 00:07:24,009 --> 00:07:33,050 Mediante Glaster he podido tener un backup constante de la base de datos 72 00:07:33,050 --> 00:07:41,769 Para que de una manera activa siempre esté actualizada y se esté pasando la información en ambas bases de datos 73 00:07:41,769 --> 00:07:44,790 En caso de que corte una, la otra puede seguir trabajando 74 00:07:44,790 --> 00:07:55,779 En cuanto al hosting web, he usado Apache, que es una herramienta muy conocida 75 00:07:55,779 --> 00:08:03,040 bastante sencilla y como los archivos web se almacenan en el Glaster, también está sincronizado constantemente. 76 00:08:03,620 --> 00:08:12,220 Entonces, ya solamente faltaría integrarlo a través de WordPress para que esté funcionando en correcto estado. 77 00:08:15,259 --> 00:08:23,500 WordPress facilita la administración de cualquier sitio web, es una herramienta bastante utilizada 78 00:08:23,500 --> 00:08:25,740 y en ella va a gestionar tres sitios 79 00:08:25,740 --> 00:08:28,839 tanto la tienda como el buscador como la administración de las páginas 80 00:08:28,839 --> 00:08:34,460 y por último Ubuntu Mate 81 00:08:34,460 --> 00:08:38,879 que está basado en Ubuntu pero es muy ligero 82 00:08:38,879 --> 00:08:41,360 tiene una interfaz muy sencilla 83 00:08:41,360 --> 00:08:45,139 es bastante estable porque no carga ninguna cosa externa 84 00:08:45,139 --> 00:08:48,559 solo carga el sistema operativo y lo que programes a partir de ahí 85 00:08:48,559 --> 00:08:50,460 entonces tiene un arranque súper rápido 86 00:08:50,460 --> 00:08:53,179 aunque sí que es verdad 87 00:08:53,179 --> 00:08:55,120 que he notado que cuando cargas 88 00:08:55,120 --> 00:08:57,379 Maya SQL a lo mejor tarda un pelín más 89 00:08:57,379 --> 00:08:59,299 pero bueno, estamos hablando de un arranque 90 00:08:59,299 --> 00:09:01,399 de unos 30 a 35 segundos 91 00:09:01,399 --> 00:09:03,200 que es bastante rápido 92 00:09:03,200 --> 00:09:06,820 Por último, mi descubrimiento 93 00:09:06,820 --> 00:09:08,440 ha sido IP Tables 94 00:09:08,440 --> 00:09:09,759 no lo conocía 95 00:09:09,759 --> 00:09:12,779 me parece una herramienta maravillosa 96 00:09:12,779 --> 00:09:14,759 se puede gestionar muy bien a través de 97 00:09:14,759 --> 00:09:16,980 de este programa todo lo que 98 00:09:16,980 --> 00:09:18,759 lo que fluya por 99 00:09:18,759 --> 00:09:19,659 ese servidor 100 00:09:19,659 --> 00:09:28,519 Se puede de una manera muy intuitiva indicar del punto A al punto B qué puertos, qué necesitas, qué datos 101 00:09:28,519 --> 00:09:32,639 Entonces es bastante seguro y te permite encriptar la información de un lado a otro 102 00:09:32,639 --> 00:09:38,139 Está bastante segura y da bastante estabilidad 103 00:09:38,139 --> 00:09:42,799 Ahora voy a hablar de los costes 104 00:09:42,799 --> 00:09:49,519 Sí que es verdad que he hecho un poco de trampa aquí porque Raspberry ya tenía 105 00:09:49,519 --> 00:10:02,879 Entonces, no he gastado 174 euros en tres Raspberrys, pero bueno, he puesto el valor porque creo que es más importante esto que un monitor y un teclado para el desarrollo de esto 106 00:10:02,879 --> 00:10:07,960 Sin esto no se podría hacer, entonces bueno, lo he puesto aquí para que esté estimado 107 00:10:07,960 --> 00:10:31,960 Entonces, la Raspberry Pi 3 en el proyecto dejé los enlaces de compra de todos estos artículos, bueno, 58 euros, los cables 4,49, los adaptadores 14,99 y luego el splitter HDMI que es opcional, 16,61, lo recomiendo y las tarjetas para el almacenamiento de las Raspberrys. 108 00:10:31,960 --> 00:10:39,779 Luego aquí me tomé la libertad de buscar cuánto era el consumo de una Raspberry Pi 109 00:10:39,779 --> 00:10:47,879 Que es un total de 13€ al mes, es bastante, de las 3 Raspberry Pi son 13€ al mes 110 00:10:47,879 --> 00:10:54,279 Y puse aquí el diseño de la página web, puesto que podría haberlo intentado hacerlo yo 111 00:10:54,279 --> 00:10:58,840 Pero es un coste bastante alto, entonces las 3 páginas web 112 00:10:58,840 --> 00:11:06,960 la del buscador, la de la tienda y la de la administración, pues en la empresa de Alese me hicieron un presupuesto 113 00:11:06,960 --> 00:11:11,139 y me dijeron más o menos 58 euros cada una y, bueno, pues lo puse aquí. 114 00:11:13,940 --> 00:11:20,720 Luego, en cuanto al diseño de cómo se iba a gestionar esto, pues lo planteé de la siguiente forma. 115 00:11:21,279 --> 00:11:29,639 En un principio no había pensado en un firewall, pero, claro, siempre no conseguía llegar al punto 116 00:11:29,639 --> 00:11:31,700 de cómo iba a balancear 117 00:11:31,700 --> 00:11:33,620 el sistema si uno 118 00:11:33,620 --> 00:11:35,720 u otro fallaba, entonces planteé 119 00:11:35,720 --> 00:11:37,240 un tercero que hiciera de balanceador 120 00:11:37,240 --> 00:11:39,340 pero al instalar 121 00:11:39,340 --> 00:11:41,620 iptables aquí, vi que 122 00:11:41,620 --> 00:11:43,679 podría hacer algo más aparte de balancear 123 00:11:43,679 --> 00:11:45,659 y lo puse a modo de firewall 124 00:11:45,659 --> 00:11:47,159 entonces 125 00:11:47,159 --> 00:11:49,659 tendríamos las dos raspberries principales 126 00:11:49,659 --> 00:11:51,299 la principal y la backup 127 00:11:51,299 --> 00:11:53,559 o el nodo 1 y nodo 2 en caso de que 128 00:11:53,559 --> 00:11:55,000 haya que balancear por lo que sea 129 00:11:55,000 --> 00:11:57,399 están conectados con una 130 00:11:57,399 --> 00:12:04,480 rj45 por el puerto nativo uno a otro y luego mediante el adaptador usb a rj45 ambas están 131 00:12:04,480 --> 00:12:11,399 conectadas al firewall y este firewall mediante el nativo está conectado al router directamente 132 00:12:11,399 --> 00:12:25,779 la instalación del cluster bueno pues he puesto los comandos principales que mediante mediante 133 00:12:25,779 --> 00:12:31,419 los comandos se puede configurar de manera muy rápida instalas crear los directorios montas la 134 00:12:31,419 --> 00:12:37,539 partición creas el directorio para el volumen verificas que todo esté correcto y repite lo 135 00:12:37,539 --> 00:12:42,580 mismo la segunda raspberry para que sean iguales luego verificamos la conexión entre un nodo y 136 00:12:42,580 --> 00:12:49,419 otro con estos comandos creamos el volumen compartido iniciamos el volumen y con este 137 00:12:49,419 --> 00:12:59,009 comando se verifica que está activo apache de la misma manera bueno pues hay que crear un grupo 138 00:12:59,009 --> 00:13:07,809 instalar Apache, reiniciarlo después de la instalación, configurar el archivo del default del Apache, 139 00:13:08,330 --> 00:13:13,970 configurar el host, instalar el phpMyAdmin y luego enlazar y reiniciar el servicio. 140 00:13:20,629 --> 00:13:33,929 Falta el WordPress, con ello copiamos el paquete, el zip, lo des... no me sale ahora, deszipeamos, no me sale. 141 00:13:34,870 --> 00:13:36,230 ¿Cómo? 142 00:13:36,529 --> 00:13:37,629 Los traemos, ¿no? 143 00:13:37,889 --> 00:13:38,710 Los traemos, sí. 144 00:13:39,029 --> 00:13:40,769 Es que estoy y llevo muchas horas. 145 00:13:42,269 --> 00:13:44,529 Arrancamos MySQL, creamos la base de datos, 146 00:13:44,649 --> 00:13:47,990 que la junté en el proyecto, las bases de datos que he usado. 147 00:13:49,029 --> 00:13:50,990 Y, bueno, instalamos y configuramos WordPress 148 00:13:50,990 --> 00:13:56,129 para poder gestionar la página web de una manera sencilla. 149 00:13:59,159 --> 00:14:03,620 Entonces, creo que se podría utilizar esta página web 150 00:14:03,620 --> 00:14:12,759 para muchas cosas como e-commerce, empresas con grandes volúmenes de datos, startups pequeñas, tecnológicas, sectores críticos, 151 00:14:13,480 --> 00:14:19,279 aunque para sectores críticos creo que tendría que tener una escalabilidad aún mayor, pero bueno, se podría gestionar. 152 00:14:19,940 --> 00:14:29,179 Equipos de desarrollo, a lo mejor páginas de pequeñas empresas o pymes de desarrollo o incluso instituciones educativas, 153 00:14:29,179 --> 00:14:35,759 algún colegio o algún colegio más pequeñito que nos tenga EDUCA como el nuestro y demás. 154 00:14:36,200 --> 00:14:41,919 Entonces, yo creo que es una solución flexible y que funciona muy bien a pequeña escala. 155 00:14:42,779 --> 00:14:50,559 Por último, las vías futuras. Aquí he dicho para qué se podría utilizar, o sea, qué podría mejorar en un futuro. 156 00:14:51,899 --> 00:14:57,659 Veo necesario el certificado, creo que un HTTPS es muy necesario para esto. 157 00:14:57,659 --> 00:15:10,639 Creo que al ser escalabre puedes añadir más nodos en caso de que tenga mayor carga de trabajo, incluso no usar solo un nodo de backup, sino usar varios nodos activos balanceables a varios nodos de backup. 158 00:15:10,639 --> 00:15:18,320 también la opción para la que hemos reciclado el proyecto ha sido para hacer streaming de plex que 159 00:15:18,320 --> 00:15:27,799 es bastante cómodo así que la integración de placas en un mini rack lo vamos a hacer en muy 160 00:15:27,799 --> 00:15:35,700 poco tiempo seguramente porque tener los perros metidas en un cajón que las tengo guardadas ahí 161 00:15:35,700 --> 00:15:42,120 no es muy no es muy económico para para la ventilación y sí que hemos notado que el caché 162 00:15:42,120 --> 00:15:49,419 el caché nos estaba jorobando un poquito entonces tenemos que mirar cómo mejorar el sistema de caché 163 00:15:49,419 --> 00:15:57,360 y el rediseño de la tienda pues en caso de que sea productivo poner un rediseño más atractivo 164 00:15:57,360 --> 00:16:00,879 puesto que no hemos pagado al S 165 00:16:00,879 --> 00:16:02,919 y no vamos a poner el suyo 166 00:16:02,919 --> 00:16:03,720 entonces, bueno 167 00:16:03,720 --> 00:16:06,860 hemos hecho un apaño y ya está 168 00:16:06,860 --> 00:16:09,220 y bueno, he puesto aquí 169 00:16:09,220 --> 00:16:10,960 una frase que me gusta mucho de la película 170 00:16:10,960 --> 00:16:12,580 de Tron, el problema no es la tecnología 171 00:16:12,580 --> 00:16:14,799 sino cómo la usamos y ya está 172 00:16:14,799 --> 00:16:16,080 ya puedo pasar a las preguntas 173 00:16:16,080 --> 00:16:18,899 Muchas gracias Manuel, muchísimas gracias 174 00:16:18,899 --> 00:16:19,759 por la presentación 175 00:16:19,759 --> 00:16:23,240 ¿Qué es lo que más dificultad 176 00:16:23,240 --> 00:16:24,820 te ha creado a la hora de crear el proyecto? 177 00:16:24,820 --> 00:16:27,539 IPTables 178 00:16:27,539 --> 00:16:29,740 ha sido un reto enorme 179 00:16:29,740 --> 00:16:32,059 pero lo que más me cuesta a mí 180 00:16:32,059 --> 00:16:33,059 son las bases de datos 181 00:16:33,059 --> 00:16:35,840 eso me ha costado muchas horas 182 00:16:35,840 --> 00:16:37,159 de internet 183 00:16:37,159 --> 00:16:40,379 y bastante ayuda de inteligencias artificiales 184 00:16:40,379 --> 00:16:41,879 porque las bases de datos 185 00:16:41,879 --> 00:16:42,740 me cuestan un pelín 186 00:16:42,740 --> 00:16:45,559 pero lo demás ha sido un proyecto bastante divertido 187 00:16:45,559 --> 00:16:47,480 cacharrear siempre mola 188 00:16:47,480 --> 00:16:49,159 ¿y si tuviese que hacer el proyecto de nuevo? 189 00:16:52,799 --> 00:16:54,320 pues de primeras 190 00:16:54,320 --> 00:16:56,620 no hubiera perdido tanto tiempo 191 00:16:56,620 --> 00:16:58,460 con el splitter primero que compré 192 00:16:58,460 --> 00:16:59,820 que es horrible 193 00:16:59,820 --> 00:17:02,179 hubiera cogido de primeras este 194 00:17:02,179 --> 00:17:04,619 segundo splitter de cuatro puertos con alimentación 195 00:17:04,619 --> 00:17:06,359 externa, que me dio 196 00:17:06,359 --> 00:17:08,420 bastante por saco y perdí muchas horas 197 00:17:08,420 --> 00:17:10,279 y a lo mejor 198 00:17:10,279 --> 00:17:11,380 cambiaría el Raspberry 199 00:17:11,380 --> 00:17:14,640 el modelo a Raspberry a uno más reciente 200 00:17:14,640 --> 00:17:16,299 pero como ya disponía de dos 201 00:17:16,299 --> 00:17:17,980 bueno, pues quise 202 00:17:17,980 --> 00:17:19,660 comprar uno más y 203 00:17:19,660 --> 00:17:20,839 tenerlo ahí 204 00:17:20,839 --> 00:17:24,240 Muy bien Manuel, pues muchísimas gracias 205 00:17:24,240 --> 00:17:26,160 ¿vale? Voy a proceder 206 00:17:26,160 --> 00:17:28,160 adquirir la grabación, ¿vale? Vale.