Saltar navegación

DEFENSA OLIVER BERJANO - Contenido educativo

Ajuste de pantalla

El ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:

Subido el 13 de mayo de 2025 por M.pilar P.

1 visualizaciones

Descargar la transcripción

se me da fatal esto voy a ver si voy a ver si encuentro la opción aquí de compartir 00:00:00
los más acciones no me sale la opción ver atajos configuración estadística 00:01:07
antes ya sí sí sí estaba mirando en otro lado al auto ser windows permitir pantalla 00:01:16
Permitid pantalla completa 00:01:28
Ahora lo ves, ¿no? 00:01:31
Vale 00:01:35
No sé si hay algún inconveniente, Pilar 00:01:35
Tengo aquí algunas notas aquí sobre la mesa 00:01:40
Porque me pongo muy nervioso 00:01:43
Y si no me voy a liar 00:01:44
Y no sé que diga cosas que no deba 00:01:47
Vale, perfecto 00:01:49
Se me escucha bien, ¿no? 00:01:53
Vale, genial 00:01:56
Voy a abrir la presentación 00:01:57
Vale, voy a poner también mi temporizador 00:01:59
que también me ayuda a saber por dónde voy, pues muchísimas gracias Pilar. 00:02:04
Pues en principio, buenos días, quería presentaros mi proyecto, 00:02:17
mi defensa de proyecto de un sistema de configuración y aprovisionamiento automatizado con Ansible. 00:02:23
En principio este proyecto propone un sistema automatizado de configuración y aprovisionamiento de servidores 00:02:30
en entornos mixtos cuyo objetivo es eliminar tareas repetitivas y manuales, reducir errores 00:02:38
y mejorar la eficiencia operativa. Como sabemos en entornos empresariales esta solución puede 00:02:45
permitir acelerar el despliegue de infraestructuras y garantizar sobre todo las configuraciones sean 00:02:52
consistentes entre los diferentes entornos. En el siguiente capítulo vamos a analizar cuáles son 00:02:57
los motivos del porqué automatizar. Es un hecho real que muchas organizaciones aún 00:03:04
dependen de procesos manuales para configurar servidores, implementar aplicaciones o gestionar 00:03:10
infraestructuras. Esto conlleva algunos inconvenientes como que son propensos a errores, son procesos 00:03:15
también que son muy lentos y sobre todo una de las cosas que más se mira a día de hoy 00:03:23
que es que tienen poca escalabilidad los procesos manuales. 00:03:27
La automatización se ha convertido en un pilar fundamental en la administración de sistemas modernos, 00:03:34
especialmente en los sistemas más complejos, y con ello permite eliminar tareas manuales repetitivas, 00:03:39
garantizar la consistencia en entornos de servidores y acelerar el despliegue de infraestructuras. 00:03:45
Para ello se emplean herramientas de automatización, como en el ejemplo del proyecto se ha usado Ansible. 00:03:50
Ansible puede resolver problemas reales mediante la automatización a través de una sola herramienta, pero veamos qué realmente es Ansible. 00:03:57
Ansible es un software, es una aplicación libre de OpenShift que permite aprovisionar sistemas. 00:04:08
Entendemos por aprovisionar sistemas desde preparar y configurar un servidor o una máquina para que esté listo para su uso, 00:04:16
desde instalar una máquina virtual, instalar paquetes de software, así como configurar servicios o permisos, etc. 00:04:24
Por otro lado, Ansible cuenta con una serie de complementos que se les denomina módulos que sirven para provisionar servicios. 00:04:33
Estos módulos son componentes reutilizables que realizan tareas muy específicas, como por ejemplo, puede ser copiar archivos, 00:04:43
instalar paquetes o gestionar servicios. Además, Ansible, a diferencia de los scripts de BaaS, 00:04:50
que son herramientas imperativas, Ansible es una herramienta declarativa, se describe el final, 00:04:58
el objetivo final del propósito. ¿Esto qué quiere decir? Pues que se le indica cuál es el estado deseado, 00:05:03
se le indica, por ejemplo, que quiero instalar Apache, que lo quiero habilitar e incluso decirles que lo inicie. 00:05:10
Por otro lado, cumple con el principio de indepotencia, lo que significa que se puede ejecutar una tarea de forma indefinida sin afectar al sistema, aplicando solamente los cambios que difieren con el estado final. 00:05:16
Por ejemplo, si tengo instalado Apache y tengo puesto que esté habilitado, pero en la siguiente ejecución, en la próxima interacción le digo que se inicie, pues ese va a ser el único cambio que va a efectuar. 00:05:29
Y por último, es abstracto de la complejidad. Esto significa que no es necesario escribir comandos específicos, porque para ello se utilizan los módulos, como por ejemplo hay un módulo que se llama apt o el módulo service. 00:05:41
Por último, veamos, uy, perdón, lo siguiente es simplemente indicar que a diferencia de otras herramientas de automatización, Ansible no requiere de instalar o configurar agentes remotos en los nodos. 00:05:53
Ahora sí, veamos un ejemplo de cómo funciona Ansible. 00:06:06
Por un lado tenemos un servidor con un Ubuntu en el cual está instalado Ansible 00:06:12
y hay un fichero de inventario donde se declaran las máquinas, los servidores 00:06:16
y por otro lado están los playbooks, que son esos archivos 00:06:20
donde van a tener todas las instrucciones que se van a ejecutar en los nodos. 00:06:24
Este nodo se le denomina el nodo de control, donde está Ansible instalado. 00:06:28
Por otro lado vamos a tener los nodos gestionados 00:06:32
que pueden ser un Ubuntu o puede ser un Windows perfectamente, cuya comunicación con el nodo de control 00:06:35
se va a realizar a través de los protocolos SSH y Windows Remote. 00:06:41
A continuación veamos que el objetivo del proyecto en general es la automatización, 00:06:50
automatizar la gestión de servidores, en este caso heterogéneos, para mejorar la eficiencia, la consistencia y la escabilidad. 00:06:56
Y por otro lado tenemos los objetivos específicos que son reducir los tiempos de despliegue, 00:07:03
también eliminar inconsistencia en las configuraciones, facilitar la replicación entre los diferentes entornos 00:07:08
y por último, para facilitar esa labor, se va a centralizar la gestión a través de Semáforo UI 00:07:15
que simplemente es una interfaz gráfica diseñada para el uso de Ansible. 00:07:20
Este proyecto es un desarrollo con un enfoque destinado a DevOps, permitiendo adaptar el desarrollo a posibles cambios 00:07:29
y entregando un valor de manera rápida a través de iteraciones, ¿vale? 00:07:40
En un proyecto ágil que avanza de forma interactiva. 00:07:45
Esto nos va a permitir que... 00:07:49
Uy, perdón, esto no... 00:07:52
Al final este desarrollo ágil se va a realizar a través de una metodología Scrum 00:07:53
con esplenificación en Spring. 00:07:59
Scrum es una metodología ágil de gestión de proyectos 00:08:01
que se suele usar de forma habitual en las empresas 00:08:04
destinadas a desarrollo de software. 00:08:08
Y por otro lado, para la gestión de estas tareas, 00:08:12
se va a realizar a través de la aplicación Jira, 00:08:16
que permite, pues eso, es una herramienta para gestionar proyectos, tareas 00:08:19
y principalmente también equipos. 00:08:23
El objetivo final con estas iteraciones, con estas fases del proyecto, 00:08:26
son entregables que sean funcionables de playbooks validados, 00:08:33
y dados, resultados que podamos documentar, que el inventario esté actualizado, el inventario 00:08:36
de máquinas esté actualizado, realizar pruebas de indepotencia y sobre todo tener un control 00:08:41
en las versiones de los cambios que se realicen en los playbook. 00:08:46
Veamos a continuación cuál es la estructura técnica de la solución que se ha llevado 00:08:50
a cabo en el proyecto. 00:08:55
Y por un lado tenemos un J-Anfitrion, que en este caso he utilizado un macOS, al cual 00:08:58
se le ha instalado un VMWare Fusion para virtualizar máquinas virtuales, tenemos un nodo de control 00:09:04
que es el nodo con Ubuntu, con Ansible y Semáforo UI y por otro lado tenemos los nodos administrados 00:09:11
por el nodo de control que en este caso es un Ubuntu y un Windows. La comunicación entre 00:09:17
estos nodos, entre el nodo de control y el nodo administrado se realiza a través de 00:09:25
una red personalizada ad hoc creada en vmware fusion y como vimos anteriormente la comunicación 00:09:28
entre los nodos se realiza a través de los protocolos ssh y windows remote veamos ahora 00:09:34
que hasta el momento hemos hablado de la solución de la estructura técnica de la solución hablemos 00:09:43
ahora cuál ha sido el stack tecnológico y en rasgos generales incluye pues los sistemas 00:09:49
operativos utilizados ha sido macOS, Ubuntu Desktop y Microsoft Windows. En cuanto a software 00:09:54
de virtualización, VMware Fusion. Herramientas para automatización, Ansible y Semáforo UI como 00:10:00
interfaz gráfica. Por otro lado, como gestor de base de datos se ha utilizado MariaDB para el 00:10:07
caso de Semáforo UI, que es necesario para archivar toda la información de los usuarios. Y por otro 00:10:14
lado en cuanto al lenguaje se ha utilizado principalmente Python y PowerShell y gestión 00:10:19
de paquetes se ha utilizado APT para Linux y Chocolatey que es una solución para Windows 00:10:26
que funciona similar a APT. Por último simplemente indicar que se ha priorizado el uso de software 00:10:31
libre en la medida que ha sido posible. Hablemos ahora a continuación de los recursos humanos 00:10:37
que han sido necesarios para implementar esta solución. Por un lado un administrador de 00:10:47
sistemas encargados para la creación y la configuración inicial de servidores. Por otro 00:10:51
lado, un desarrollador al cual se le ha consultado para determinar el software y las herramientas 00:10:55
específicas necesarias y sin duda la figura más relevante un DevOps para la creación y 00:11:00
mantenimiento y ejecución de los playbook. Hablemos de la planificación que ha sido dividida en tres 00:11:05
sprint o fases basado en entregas establecidas por el proyecto. Un primer sprint que contenía 00:11:11
la planificación y los objetivos y la selección de herramientas, un segundo sprint que comprende 00:11:18
el grosso del proyecto que ha sido la instalación, la configuración de entornos y el desarrollo 00:11:25
de playbooks y las pruebas y un último y tercer sprint que principalmente se ha enfocado 00:11:29
en la documentación y en la preparación de la presentación. Esto nos ha llevado a 00:11:35
una entrega del proyecto que fue el 5 de mayo del 2025 y se ha invertido un total aproximado 00:11:42
de 52 horas. El resultado final del proyecto ha supuesto una infraestructura mínima pero 00:11:47
completamente funcional con fines demostrativos en la que se ha utilizado Semáforo UI para 00:11:54
poder gestionar los playbooks, se han instalado utilidades y herramientas en los nodos administrados 00:11:59
tanto Linux como Windows, por otro lado se ha instalado un servidor web con Apache, MariaDB 00:12:05
y php al cual también se ha instalado un cms tipo wordpress por otro lado se ha gestionado 00:12:11
los servidores windows mediante windows remote además se ha instalado chocolate y para la gestión 00:12:18
de paquetes similar a cómo funciona pete en linux y por último se ha instalado un entorno 00:12:25
de desarrollo basado en punto net para ejecución de proyectos veamos a un ejemplo de ejecución de 00:12:29
ansible dura un minuto aquí lo que estamos viendo ahora mismo es verificar que en el servidor web 00:12:36
server estamos comprobando que apache no está instalado antes de ejecutar la tarea programada 00:12:43
tras ejecutar la tarea en semáforo y vemos cómo va pasando por todos los procesos que han sido 00:12:49
configurados en el playbook desde actualizar apt instalar maría debe instalar apache e instalar 00:12:57
todos los módulos necesarios para poder levantar un servidor web con wordpress con permiso de ver 00:13:05
agua aquí estamos viendo como todas esas configuraciones que se han metido a través 00:13:20
de los playbook están aquí referenciadas desde el usuario y todas las configuraciones correspondientes 00:13:42
en la siguiente captura podemos ver un resumen general de semáforo y donde se ven todas las 00:13:47
tareas y las ejecuciones realizadas llegando al fin a través de la automatización comprobamos que 00:13:54
A través de la automatización comprobamos, este proyecto es aplicable principalmente en entornos de administración de infraestructuras de empresa y mediana y gran escala, 00:14:03
centros de datos y proveedores de servicio, por otro lado también es aplicable a equipos de devos o sistemas 00:14:15
y por último se podría aplicar por ejemplo a unas entidades públicas que requieran estandarización o automatización. 00:14:21
A través de la automatización comprobamos que a través de la gestión de los servidores se vuelve mucho más rápida, uniforme y segura. Además, las configuraciones se aplican de forma consistente entre los entornos y la solución se adapta a un crecimiento de la infraestructura, es decir, es escalable. 00:14:27
El uso de Ansible no solo es útil para la automatización actual 00:14:45
sino que también abre puertas a vías futuras 00:14:49
como por ejemplo una de las medidas que se pueden implementar en Ansible 00:14:51
es el uso de roles y reutilizar funcionalidades 00:14:55
el uso de Ansible Vault para cifrar y proteger datos sensibles 00:14:57
y por ejemplo integrar con JIT para la gestión de versiones 00:15:01
y poder trabajar de forma colaborativa 00:15:05
y también integrar con Terraform y Jenkins 00:15:08
Y hasta aquí, aunque no es el final porque hay una despedida 00:15:11
Te cedo el testigo y quedo a tu disposición ante cualquier pregunta 00:15:14
Sí, por supuesto 00:15:19
Simplemente comentar que cuando os hablaba del capítulo de metodología 00:16:05
Lo primero que me vino a la mente es utilizar Scrum 00:16:10
Porque al final los playbooks no es más que un desarrollo de software 00:16:13
Y por otro lado utilicé Jira para la gestión de todas las tareas 00:16:17
Que iban a estar involucradas a lo largo del proyecto 00:16:20
¿Por qué he utilizado esta metodología? 00:16:25
simplemente porque actualmente trabajo en un departamento de DevOps desde hace un año 00:16:27
y es algo que utilizamos y estamos obligados a utilizar la metodología Scrum y utilizamos Jira como herramienta. 00:16:31
Entonces te cuento que es un poco Jira, Jira como he comentado un poco brevemente anteriormente 00:16:38
es una herramienta que te permite gestionar el backlog, el backlog no es más que un listado de tareas 00:16:42
que previamente se han definido y que los operarios, los activos van resolviendo a medida que se van necesitando. 00:16:48
Se organizan a través de Spring de forma que puedas hacer una entrega de forma rápida y ágil 00:16:55
Cambios en las versiones, pues por ejemplo, ahora mismo se ha hecho una solución 00:17:01
Que es esta, la que se ha expuesto y se ha realizado en 3Spring 00:17:06
Pero ahora viene una siguiente fase que se podría ampliar este proyecto 00:17:11
Y empezar a hacer nuevas integraciones o añadir nuevas funcionalidades a Ansible 00:17:15
Y eso requeriría un nuevo Spring, por lo tanto habría que añadir nuevas tareas al backlog 00:17:21
que se gestionarían a través de la herramienta Jira a la cual se le pueden indicar una estimación de tiempo que se puede determinar por puntos o por tiempo real en minutos o en horas como hice en mi caso y me quedé en blanco y creo que no sé si te ha resuelto la duda pero básicamente es una herramienta de pago pero Jira tiene una versión gratuita que es la que he utilizado yo 00:17:25
que tiene como un máximo de 10 usuarios que la pueden utilizar de forma gratuita 00:17:55
y es completamente funcional. 00:17:59
Aunque hay algunas cosas que difieren un poco de la versión de pago, 00:18:01
pero me las tuve que apañar para poder, eso es, para poder producirlo para este proyecto 00:18:04
y ajustarlo un poco. 00:18:10
Pues, por ejemplo, no me dejaba utilizar tareas y dentro de una tarea no me dejaba asociar subtareas 00:18:11
para luego asignarlas a una historia. 00:18:18
Sin embargo, en la versión de pago sí que me deja seguir la nomenclatura, 00:18:20
seguir el esquema principal que es una épica, una épica engloba historias, esas historias engloba tareas 00:18:22
y una tarea puede estar subdividida en varias subtareas, pues eso en la versión gratuita no me deja 00:18:28
entonces solamente tuve que jugar con épicas que es el grosso principal del proyecto 00:18:34
que en este caso es el proyecto de Ansible, luego dividirlo en historias que serían los hitos principales 00:18:40
y luego lo tuve que dividir en subtareas que ya eran todas las tareas desde instalación, preparar los playbooks 00:18:45
hacer las pruebas de potencia, etcétera. No sé si resuelve eso la duda planteada. 00:18:52
Muchas gracias. Sí, mira, por ejemplo, una de las tareas que se pueden automatizar, 00:19:01
por ejemplo, es una de las cosas que hemos visto es la instalación de Apache. 00:19:17
La instalación de Apache de una forma muy completamente sencilla, como había comentado durante la presentación, 00:19:22
Es una herramienta declarativa y uno de los principios que cuenta esta herramienta es que es completamente abstracta de la complejidad. 00:19:27
No necesito, por ejemplo, si yo quiero instalar Apache, no tengo que indicar a Ansible sudo apt install apache2. 00:19:37
Solamente utilizas un módulo, que en el caso de instalación de unos componentes es apt, 00:19:45
Por debajo, Ansible ya sabe que el comando es sudo apt install y solamente le tenemos que indicar cuál es el servicio que quiere instalar, en este caso Apache 2. 00:19:52
Así funciona el despliegue con Ansible de cualquier aplicación. 00:20:02
Ansible cuenta, como he comentado, con diferentes módulos. 00:20:08
He puesto un ejemplo anterior, que por ejemplo es el módulo de APT, que son los más sencillos de entender, y el de Service, para poder cambiar el estado de un servicio, desde ponerlo a Stop, a Enable o a Start, y en base con los módulos puede jugar. 00:20:11
Ahí Ansible prácticamente integra todos los módulos existentes. Incluso una persona puede generar sus propios módulos ad hoc si lo ve correspondiente y los puede integrar perfectamente en Ansible. Pero a día de hoy la comunidad de Ansible es tan sumamente grande que es raro no encontrar un módulo que ya exista. 00:20:26
Y si existe, lo podéis integrar en Ansible si ya no lo trae por defecto. Por ejemplo, yo para poder conectar con las máquinas de Windows, tuve que instalar un módulo de Python, que es PIP, y eso lo que me permitía era conectar con nodos Windows a través de Windows Remote. 00:20:47
Sí, muchísimas gracias. No hay problema. Y si me permites, simplemente por último quería dar las gracias a la institución y al profesorado del Instituto de Ignacio de Ayacuría por vuestro tiempo y la dedicación y el seguimiento en este proyecto. 00:21:07
os lo agradezco enormemente 00:21:48
os dejo aquí en la parte inferior 00:21:50
mi nombre 00:21:52
bueno, mi contacto 00:21:54
y un repositorio de GitHub 00:21:56
donde está publicado el proyecto 00:21:58
de Ansible, está publicado 00:22:00
para la comunidad por si alguien lo quiere reutilizar 00:22:02
exacto 00:22:05
pues muchísimas gracias y hasta aquí 00:22:21
ya sí que he terminado, muchísimas gracias 00:22:27
Pilar y espero que haya sido 00:22:29
de tu agrado 00:22:31
muchísimas gracias, hasta luego Pilar 00:22:32
Materias:
Administración de Sistemas Informáticos en Red
Etiquetas:
Gestión de proyectos
Niveles educativos:
▼ Mostrar / ocultar niveles
  • Formación Profesional
    • Ciclo formativo de grado básico
      • Primer Curso
      • Segundo Curso
    • Ciclo formativo de grado medio
      • Primer Curso
      • Segundo Curso
    • Ciclo formativo de grado superior
      • Primer Curso
      • Segundo Curso
Subido por:
M.pilar P.
Licencia:
Reconocimiento - No comercial - Sin obra derivada
Visualizaciones:
1
Fecha:
13 de mayo de 2025 - 12:10
Visibilidad:
Clave
Centro:
IES CIFP a Distancia Ignacio Ellacuría
Duración:
22′ 40″
Relación de aspecto:
1.88:1
Resolución:
1920x1020 píxeles
Tamaño:
1.44

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid