Ep2 T3 - con Nelson Calero sobre automatización en bases de datos con Ansible
Cuando administras un gran número de bases de datos, ciertas tareas necesitan automatizarse. 👨💻 Parchea tú 500 bases de datos en 200 servidores. Una a una. Repitiendo todos los pasos en cada una de ellas. Acabamos mal de la cabeza seguro! 🤯 Pues sucedió que cuando conocí a Nelso
Escuchar y ver el episodio
- Acast: este episodio · todos
- YouTube: el vídeo · la lista completa
- Spotify: Café Database en español
- Apple Podcasts: Café Database en español
Transcripción del episodio
Transcripción generada automáticamente y corregida con glosario técnico. Puede contener algún error residual. Está cortada en las mismas frases que llevan los subtítulos: descargar .srt · descargar .vtt
[0:07] Nelson, empezamos ¿Qué tal?
[0:10] ¿Qué tal estás? ¿Qué tal estás?
[0:12] Bien, bien muchas gracias por la invitación.
[0:16] Acá haciendo una pausa en el trabajo y aprendiendo un poco a usar…
[0:21] Por favor, a ti, a ti voy a poner a la gente en antecedentes.
[0:26] Nos conocimos en Las Vegas, en el Cloud World, porque no nos habíamos conocido antes.
[0:30] Antes sí habíamos hecho, había hecho un podcast con Edelweiss sobre Machine Learning
[0:36] y tal, pero nunca nos habíamos conocido hasta Las Vegas y pude asistir, tuve el lujazo
[0:41] de asistir a tu charla sobre Kubernetes en el SPU en Madrid.
[0:48] Y ahí te dije, pues es que tenemos que hacer, tenemos que hablar.
[0:57] Es muy lindo esto en la comunidad ahora, que es lo que tiene, hay mucha gente haciendo
[1:04] cosas todo el tiempo y, bueno, pasan estas cosas porque yo también había escuchado que
[1:09] vos estabas haciendo cosas en España, pero tampoco nos habíamos cruzado antes y, bueno,
[1:15] qué suerte que nos cruzamos.
[1:17] Pues ya estamos, ya estamos tomándonos un café juntos.
[1:20] La gente que está en la audiencia puede participar si quiere, puede levantar la mano
[1:24] y de lo que vayamos hablando
[1:26] Pues eso, pues le podemos dar paso porque este es un formato abierto y voy a contar dos
[1:32] cosas, voy a contar dos cosas: una, ¡vaya pedazo de charla te marcaste sobre Kubernetes
[1:37] en Madrid! Me quedé flipado, lo voy a contar, es decir, él iba contando, yo estaba con
[1:44] los ojos como platos y él iba diciendo todo esto es muy sencillo, bueno, estáis viendo
[1:49] todos estos comandos pero en realidad todo esto es muy sencillo, todos los comandos de
[1:53] la instalación, todos los exis de cómo montar con Kubernetes toda la instalación que
[1:59] estabas haciendo y luego después fuera de la conversación que te dije no he trabajado
[2:03] nunca con Kubernetes, qué interesante y me dijiste dos cosas porque además estábamos
[2:10] hablando de un proyecto que estoy haciendo de si instalaba con Raspberry Pi, Docker y
[2:15] tal y me dijiste pues esto sí puede hacerse y muy interesante me dijiste también, y automatizar
[2:21] procesos de base de datos con Ansible, ¿no?
[2:25] Y dije, bueno, bueno, bueno, tenemos que hablar de ello, tenemos que hablar de ello.
[2:31] Entonces, haz un repasito así para los que no estuvieron en Madrid y no se lo saben,
[2:37] de lo que contaste de Kubernetes en Madrid.
[2:40] Sí, bueno, lo de Madrid fue parte de un tour que se hizo de grupos usuarios por Europa,
[2:46] entonces yo apliqué con propuse un par de estas dos charlas es de las que vos dijiste
[2:51] y bueno el de kubernetes vino porque hace un par de años cuando ahora
[2:59] que empezó a trabajar en crear un operador para kubernetes con ahora que yo bueno Siendo
[3:06] director este cada tanto hablo con los bien y me dijeron a ver si quería ser parte del
[3:11] beta testing, entonces estuve probando todo lo que ellos hicieron antes de que se liberara
[3:18] y, bueno, y después también escribí algún blog y escribir poco, no lea tener que haber
[3:23] escrito más, pero dediqué mucho tiempo a probarlo, por eso termina haciendo la presentación,
[3:28] este esta es la segunda versión de esa presentación sobre Cuba Net es que había dado
[3:33] una cuando todavía no era producción, cuando era todavía beta.
[3:39] Y, bueno, lo interesante es, a mí cuando doy charlas técnicas me gusta mostrar ejemplos
[3:47] y los comandos para que si alguien lo quiere reusar después tenga todo el detalle de
[3:52] lo que necesita hacer, además de haber aprendido de qué se trata la tecnología.
[3:57] Lo malo, lo que yo siempre veo como un defecto de mis charlas es que tienen mucho contenido.
[4:02] Entonces, a veces me estoy muy apurado siempre tratando de poner más cosas, pero bueno,
[4:09] quizás sea mucho para prestar atención en el momento.
[4:13] Lo importante es que después se pueden bajar las slides, tenés todo el material ahí para
[4:17] usarlo y reproducirlo con tu propio usuario y demás.
[4:22] Es buenísimo, es buenísimo.
[4:23] Hiciste todo un despliegue de Kubernetes desde la instalación hasta la creación,
[4:31] despliegue. Sí, exacto. Todos los pasos, porque en general lo que tienen, cualquier cosa
[4:38] que queramos hacer con tecnología en general, por más simple que sea, siempre involucra
[4:44] muchos pasos y a veces pasa de que algo falla o algo necesita una cosita más de
[4:51] lo que dice el manual y los manuales en general te dicen, bueno, esto tenés que ir a
[4:55] otro lado y no te cuentan los detalles.
[4:56] Entonces, a mí me parece interesante cuando se quiere mostrar algo completo que incluya
[5:02] todas esas cosas extras, ¿no?
[5:04] Pero también, bueno, es lo que lo hace Medio pesado después para que entre en el tiempo
[5:09] que se tiene una charla que es medio cortito, ¿no?
[5:12] Y bueno, sí Sí, bueno, y aparte siempre hay muchas charlas interesantes al mismo tiempo
[5:19] y estás en un día donde hay 6, 7 charlas o sea, 7 horarios para escuchar cosas entonces
[5:25] capaz que podés prestar mucha atención en una, dos, tres pero llega un momento que estás
[5:30] cansado también pero bueno, es parte del desafío de estas cosas, yo cuando voy a a los
[5:36] eventos me gusta engancharme a las cosas bien técnicas, pero sí a las 3, 4 de la tarde
[5:40] ya estás muerto no puedes prestar mucho más atención.
[5:44] Sí, sí, las becas fue una maratón.
[5:48] Exacto, es lo que tiene eventos como esos de varios días, físicamente son muy exigentes.
[5:53] Decía que hablaba con Roy Salazar sobre estos eventos.
[5:57] Claro, Roy tiene el de DATA, el de DBSAT y él cada vez lo va ampliando, ampliando, ampliando,
[6:03] entonces su charla cada vez es más contenido, más contenido, más contenido y dice y cada
[6:06] vez lo tengo que dar más rápido.
[6:08] Digo, guau. Eso está interesante.
[6:11] Mantener un mismo tema es una cosa rara, pero también es interesante porque le permite
[6:17] hacer eso, de cada vez ir mejorándolo y agregándole cositas nuevas.
[6:22] Como siempre, hay mil temas de los que uno se enfrenta todos los días y quisiera poder
[6:29] ver más en detalle. A mí en general también me gustan las cosas originales, pero tienen
[6:33] como contra de que la gente todavía no las está usando.
[6:36] Entonces, capaz que es mucho más práctico hablar de temas que son más, digamos,
[6:44] más de entrada, más de principiantes, donde también siempre tienen público.
[6:50] Y bueno, ese de seguridad es algo que todo el tiempo todo el mundo tendría que estar
[6:55] actualizándose, o sea que es un lindo tema.
[6:58] Bueno, y Ansible cuéntame lo de la automatización, ¿qué es lo que sueles hacer?
[7:04] ¿Y cómo funciona la Ansible?
[7:08] Lo que hice en esta presentación, que di también acá en el tour, es que intenté hacerlo
[7:13] no solamente enfocado en Ansible, sino más en base de datos Oracle, como una especie
[7:19] de tratar de mostrar a alto nivel
[7:23] todos los desafíos que hay cuando hay que automatizar y poniendo ejemplos con Ansible.
[7:28] Eso porque, como en todos los temas de tecnología, ya hay mucho material sobre cómo hacer
[7:34] de Ansible. Uno busca información, bueno, es como el
[7:42] doble filo de internet, que uno siempre dice, bueno, uno no se puede guiar por lo que
[7:46] encuentra en internet, pero al mismo tiempo están todos los manuales de todos los productos
[7:50] que usamos. O sea que en realidad lo que uno no puede hacer es a ciegas guiarse por lo
[7:56] que encuentra en internet.
[7:56] Uno tiene que saber un poco, bueno, de dónde viene la información, porque al final todos
[8:03] trabajamos remoto, todos consumimos el soporte de Oracle que está en internet.
[8:09] Entonces hay que tener cuidado cuando decimos algunas palabras porque pueden malinterpretarse
[8:14] el tema que con ansi hay muchísimos ejemplos de una comunidad enorme de gente que lo
[8:20] usa que es una herramienta para automatizar tareas y sirve para cualquier tecnología
[8:25] y digamos que lo que que viene a hacer es ayudar
[8:33] a manejar o codificar las acciones que uno quiere hacer,
[8:41] ejecutar un programa, analizar una salida de un programa, de un comando y poner
[8:48] todo eso en una especie de guía, se le llama, Ansible le llama playbook al código que
[8:55] ejecuta, pero bueno la idea es que uno escribe digo como una guía de bueno quiero seguir
[8:59] estos pasos y tiene bueno manejo una cierta sintaxis se permite más o menos programar
[9:05] este en algunas estructuras de control clásicas pero con una sintaxis Distinta no tenéis
[9:11] tienes condiciones tenés este variables y bueno con esa forma simple de describir
[9:18] la idea de por qué se hizo popular es porque tiene un lenguaje descriptivo, no, donde
[9:24] tiene una simpleza bastante grande, al mismo tiempo le da mucha flexibilidad y,
[9:32] bueno, de a poquito todos los vendedores de software empezaron a agregarle sus propios
[9:36] formas de, o digamos, empezaron a crear código para que Ansible pudiera manipular
[9:43] recursos que ellos crean.
[9:45] Entonces, así fue como se fue extendiendo y hoy en día se puede usar para lo que sea.
[9:50] Entonces podemos usar Ansible para ejecutar en el lugar que queramos.
[9:54] El otro que tiene es que es muy fácil de instalar porque es un ejecutable solamente.
[9:57] Uno va, si está en Windows, un .exe, en Linux un binario y ya está.
[10:03] Después es ir al manual y fijarse, bueno, se aprecia este archivo de configuración que
[10:07] tiene que tener ciertas reglas.
[10:09] Y lo potente, además de la simpleza, lo potente es que uno puede configurar,
[10:17] configurar, se usen muchos servidores y al ejecutar, se ejecutan todos esos servidores
[10:24] al mismo tiempo. Entonces, ahí es donde está la potencia, ¿no?
[10:28] Uno automatiza ciertos pasos, maneja con estructuras de control, qué hacer cuando pasa
[10:35] esto, cuando pasa aquello.
[10:36] Lo que termina siendo, está pronto para ser ejecutado en miles de servidores.
[10:43] Es una locura, ¿no? Y por eso es popular, ¿no?
[10:48] Con la aparición de la cloud, de todos los proveedores de cloud hace un poco más de 10
[10:52] años, esto fue como una necesidad porque las granjas de servidores empezaron
[10:59] a aparecer más accesibles a todo el mundo, porque antes solamente tenías que estar en
[11:06] una empresa grande para poder ver estas cosas.
[11:08] Ahora hoy en día este lo que sé con tu cuenta donde te conectas a tu cloud bueno solo
[11:15] tuyo, pero si trabaja por una empresa nuevamente tiene muchos servidores están todos
[11:18] ahí y bueno esa fue como la motivación de por qué han sido empezó a crecer y se empezó
[11:24] a extender, no. Entonces yo trabajo por una empresa que hace consultoría entonces este
[11:29] en mi rol dentro de la empresa
[11:33] Trabajo en proyectos de tecnología Oracle y hacemos un poco de todo.
[11:38] Somos especialistas en Oracle, base de datos en particular.
[11:42] Y lo que yo vi en los últimos años es que mi trabajo se está convirtiendo más en hacer
[11:50] otras cosas que solamente administrar base de datos.
[11:52] Entonces me pareció interesante hablar en las presentaciones que di este año sobre este
[11:58] tema por el hecho de que desde hacía, yo creo que Larry fue el que empezó con esto, Larry
[12:03] Ellison hace como, no sé, en un open world allá por el 2009, creo que fue que dijo que
[12:08] al principio se reía un poco de la cloud y después cuando ahora que se subió la cloud
[12:12] dijo, ya los devianos se van a precisar, y como que todo el mundo empezó con ese miedo
[12:18] de que, bueno, ¿por qué? Vamos a quedar todos sin trabajo, y yo creo que esto, que sin
[12:24] querer, no sé, que todos estamos viendo estos días de cómo ha cambiado nuestro trabajo,
[12:28] es una muestra de que en realidad los DBA siguen siendo necesarios, pero están haciendo
[12:34] cosas distintas hoy en día.
[12:36] Y quizás, bueno, si son puristas, claro, de repente ya estás haciendo otras tareas y
[12:41] no son exclusivamente DBA, pero yo creo que lo que está pasando es que simplemente el
[12:44] rol de alguien que se especializa en base de datos está extendiendo y estamos incorporando
[12:51] más Herramientas en nuestro trabajo diario, porque la necesidad de hacer lo que hacíamos
[12:56] antes es menor. Entonces, eso no quiere decir que la gente que era DBA tiene que seguir
[13:02] siendo solo lo que hacía antes.
[13:04] Yo creo que simplemente se está dando en la práctica que se están extendiendo a hacer
[13:09] más cosas, incluyendo automatizaciones.
[13:11] Entonces, antes esto lo hacían solamente la gente que trataba con sistema operativo,
[13:16] los isops, los devops, hay muchos nombres y términos.
[13:22] Y mismo hoy en día están saliendo todo el tiempo roles nuevos dentro de la industria,
[13:28] como los data ops, los ml ops y arquitecto, nos estamos metiendo
[13:35] más en todo lo que tiene que ver con la arquitectura.
[13:42] El diseño, sí, sí, claro, por eso no es solamente el diseño de las tablas y cómo
[13:50] hacer mejor uso, optimizar los recursos del servidor y demás, sino que es la de cierto,
[13:56] nos metemos en más, bueno, este, cómo está configurada la red, cómo están configurados
[14:01] los enlaces, sí, sí, cosas que de repente eran más cosas de otros
[14:08] roles, como el CISAMIN, seguramente, o el encargado de la red.
[14:13] Pero para mí es parte de lo que está pasando hoy, que es, yo creo que no es solo exclusivo
[14:18] del DBA, yo creo que toda la tecnología, lo vemos todos los días, aparecen cosas nuevas,
[14:23] hace que las cosas empiecen a ser más simples, las viejas aparecen temas nuevos.
[14:29] Y todos los roles se van adaptando a ser menos de lo que se hacía antes y más de otras
[14:35] cosas nuevas. Y por ahí viene, me parecía a mí, interesante, ¿no?
[14:39] Sí, que se hacen estas tareas un poco más monótonas, sí es mucho más fácil quizá eso,
[14:46] ¿no? Automatizarlas o quizá ya no es tan crítico que haya alguien poniendo inteligencia
[14:51] humana en las tareas. Y eso es lo otro, cuando queremos hacer
[14:58] algo así, yo lo vi en este año, el año pasado con clientes que nos venían a pedir distintos
[15:05] tipos de automatismos, que había como una o sigue habiendo una especie de expectativa
[15:13] de la gente que quiere meterse a hacer estas cosas de que esto es algo simple o que esto
[15:20] debería ser algo simple para la gente que ya sabe, entonces como que decir, bueno, nosotros
[15:24] no sabemos nada de esto y queremos que alguien nos ayude a automatizar esto y como nosotros
[15:31] ya sabemos hacer eso que queremos automatizar, sabemos que lo que ustedes van a hacer
[15:35] es algo chiquito, van a agregar y dos otras cositas y va a quedar andando, pero bueno,
[15:41] al final ese trabajito no es tan simple, ¿no?, tiene ciertas complejidades, entonces
[15:46] eso fue lo que me interesó mostrar y si ustedes ven la slide, si quieren después les
[15:50] pongo el link, yo la subí y por ahí a Slideshare en su momento, está pública.
[15:55] Hace menos cuento un poco eso, ¿no?
[15:57] Los desafíos que hay y cómo encararlo y bueno, y en particular con ejemplos de Ansible
[16:03] de código, ¿no? Mostrando un poco de código de dónde aparecen
[16:08] Complejidades, digamos, porque no son problemas, pero por ser tan flexible
[16:13] Permite que se hagan muchas cosas que después pueden traer problemas, ¿no?
[16:17] Entonces es como que, como todo, ¿no?
[16:19] Cuando uno programa en C, el primer programa que hizo seguramente sea horrible y lo reescribe
[16:25] cada vez. Y la última versión siempre tiene miles de líneas de código, anda más rápido,
[16:30] usa menos memoria, ¿no? Cosas así.
[16:32] Vamos a poner un caso práctico, por ejemplo, ¿vale?
[16:37] Porque evidentemente, vamos a poner un caso práctico, por ejemplo, ¿no?
[16:41] De algo que podríamos hacer de forma manual, pero que con Anselo, por ejemplo, podríamos,
[16:46] o sea, así, por encima, ¿no?
[16:51] Sí, bueno. Aplicar los PSUs, por ejemplo, aplicar el...
[16:56] Exacto. Por ejemplo, a 200 servidores, ¿no?
[17:00] ¿Cómo lo haríamos? Exacto.
[17:03] Aplicar un parche, por ejemplo, ¿no?
[17:05] Entonces, por un lado tenés que Oracle tiene el manual que te dice, bueno, esta parte
[17:12] se liberó, tenés que seguir estas instrucciones, te dice primero baja el software, fíjate
[17:18] que la base, no sé si estás usando RAC o no, tenés un camino distinto, quizás
[17:26] tengas que primero asegurarte que los otros nodos se bajen, si querés aplicarlo en Rolling
[17:32] Upgrade, este después tenés que ejecutar este comando por cierta sintaxis fijarte que
[17:39] el resultado no de ningún error y después continuar con nosotros no si tuvieras rack,
[17:45] no, así muy alto nivel tenés como 56 pasos y en realidad tenemos los pasos porque lo
[17:51] dice el manual este, así que alguien comenta que alguien está creando cuáles con ansiedad,
[17:56] si eso es pico que está interesante, todo lo que uno hace al
[18:04] final se puede hacer con ansiedad claramente, pero para redondearlo con este ejemplo
[18:08] entonces si alguien si ustedes hoy quieren decir bueno el siguiente parche lo voy a aplicar
[18:15] con ansiedad este como hago lo primero es ir a leer el manual el manual te te va a decir
[18:20] todas las cosas que hay que hacer, ¿no?
[18:22] El manual del parche. Te dice las instrucciones.
[18:26] Entonces, lo único que tenemos que hacer es codificar esos pasos en comandos dentro de
[18:32] Ansible. Bueno, parece medio obvio, pero al final Es, bueno,
[18:37] ¿cómo copio, cómo me bajo el archivo del PCU?
[18:42] ¿Me lo bajo yo? ¿Me conecto a soporte para que automáticamente me lo descargue?
[18:48] Este si tengo que hacer eso qué pasa con las credenciales como las almaceno también permite
[18:55] usar wallets o sea que sus propios cuales no son los cuales de oracle entonces ahí hay
[19:01] algunas definiciones han sido lo que tiene es una tarea es la unidad mínima donde uno
[19:07] le dice bueno qué tipo de tarea es en estos casos lo típico que uno diga bueno es una
[19:12] tarea tipo shell y ejecuta un comando de Linux, para poner un ejemplo simple
[19:18] El tema que hay con ese tipo de tareas es que no tienen mucha inteligencia dentro de
[19:22] Ansible, porque Ansible lo único que hace es abrir una shell y ejecutar lo que nosotros
[19:26] escribimos; entonces tenemos que nosotros poner la sintaxis correcta.
[19:30] Por ejemplo, si quisiéramos crear primero el directorio donde vamos a copiar el archivo
[19:35] podríamos decir mi tarea Ansible va a ser una shell que hace MD para que me cree el directorio
[19:42] o podríamos usar algo más elaborado que ahí está lo bueno de Ansible que es usar
[19:49] un módulo que trata con los directorios, entonces le decimos usando ese módulo
[19:56] en este path yo quiero que el estado de ese path que te pongo sea existe, entonces Ansible
[20:04] se encarga de validar si el directorio no existe lo crea, y bueno y tiene 3 o 4 parámetros
[20:10] ese comando de Ansible o esa definición de ANSYL, porque no es un comando, es una tarea,
[20:15] donde dice, bueno, para este módulo que es directorio de sistema operativo, en este path,
[20:21] quiero que el destino sea existe, quiero que si existe el usuario sea tal, el grupo
[20:28] sea tal, los permisos sean tal.
[20:30] Y ANSYL se encarga de crear el comando para que eso pase.
[20:35] Puede ser chown, chmod, mkdir, o sea, Y si estás en Windows también lo hace bien, porque
[20:42] no es solo para Linux. Esa es la potencia de Ansible, es basarse en módulos.
[20:48] En general, cuando uno trabaja en un solo sistema operativo para una infraestructura
[20:53] propia y demás, uno no se preocupa mucho de esas cosas.
[20:56] Uno siempre va y dice, bueno, yo lo voy a hacer para que me funcione a mí.
[20:59] Yo trabajo con Linux, lo hago todo con Linux.
[21:02] Lo que me resulta más fácil es pongo comandos, hardcodeo cosas.
[21:06] Al final eso también puede jugarnos en contra, se vuelve más complicado mantener, como
[21:12] todo, a medida que uno empieza a crear automatismos así, la
[21:20] idea es que la siguiente va a salir mejor.
[21:23] Sí, entonces Nelson, la idea es dedicar mucho tiempo a esa primera instalación, a esa
[21:29] definición de esa tarea en Ansible para definir el estándar que tú tienes en tu compañía
[21:35] o cómo funciona tu parque.
[21:37] Es decir, si tú tienes un estándar basado en, no sé, en tener solamente single instance
[21:44] y rack, por ejemplo, pues para que se adapte al rack como funciona en tu rack, que se
[21:49] adapte a la single instance en la plataforma que tienes y a partir de ahí, ¿no?
[21:54] Dedicando ese tiempo y haciendo pruebas de un despliegue, probar el despliegue de forma
[22:00] universal, ¿no? Exacto, en general es así, vos trabajás para uno solo, o
[22:07] sea, te creás la conversión de Azure con un solo servidor, que es el que usás para probar,
[22:11] creás esta codificación, la ejecutás mil veces hasta que no tiene ningún error, porque
[22:15] lo importante acá es que cada pasito que vos haces, lo siguiente también validás cosas,
[22:20] porque no es solo que pones creo el directorio, copio el binario, lo descomprimo, ejecuto
[22:27] un installer, porque quizás en el medio te pueda dar error, capaz que te quedaste sin
[22:31] espacio en el disco y quizás la copia falló y de repente, bueno, en algunos casos fáciles
[22:37] Ansible aborta y te dice, ops, falló acá y listo.
[22:41] Pero en otros casos no y sigue adelante y te esconde un poco esos mensajes, porque el
[22:46] error, según cómo hayas configurado la ejecución de la tarea, a veces eso puede pasar.
[22:52] Entonces como que uno tenés que poner también pasos de control donde decís, bueno, valido
[22:57] la salida del comando anterior.
[22:59] Si hay algún archivo de log, por ejemplo, la instalación en la aplicación del parche,
[23:04] yo ejecuto seguramente o patch o patch auto, uno de esos dos, bajarán archivos de log,
[23:11] quizás tengo que analizar el archivo log para estar bien seguro de que no hubo una excepción
[23:16] rara, que quizás tenga que buscar algún string en particular que diga suces adentro del
[23:21] log, sabiendo que es el último comando que escriben en el log, ¿no?
[23:25] ¿no? Cositas así eso es lo que lo terminan jarcodeando la ejecución, ¿no?
[23:29] Porque como que al final uno hace la tarea bien específica.
[23:34] Lo que tiene Dos cosas, digamos.
[23:38] La cosa buena es que uno realmente sabe lo que está haciendo, ¿no?
[23:41] Tiene que estar Bien familiarizado con el comando que va a ejecutar, con el proceso,
[23:47] para saber anticipar todos los posibles problemas, para evitar que mañana vos vas a decir,
[23:51] bueno, terminé con uno, lo voy a correr en 100 servidores, y de repente te falla en 20.
[23:56] ¿Y por qué te falla en 20?
[23:57] Y tenés que ir uno por uno.
[23:58] Bueno, si ya el código está un poco más robusto y maneja excepciones y demás, te va a
[24:04] andar siempre más o menos bien, o te va a anticipar y testear que, bueno, si el lecterio
[24:09] no existe, primero lo tiene que crear.
[24:11] Si no hay espacio libre, que te pare ahí, no pierda tiempo haciendo otras cosas.
[24:18] Digamos que por ahí viene algo que por acá comenta Hanoi, el concepto de idempotencia,
[24:23] eso está bien interesante, sí, que también es algo que también está con cuando uno usa
[24:30] Terraform, o sea que se usa es otro utilitario para automatizar la creación de infraestructura,
[24:35] la idea es que cuando el ejecutar un playbook en Ansible este, si
[24:42] uno ejecuta de vuelta, tiene que dar el mismo resultado, no este, y entonces Ansible
[24:48] se va de alguna forma de unas variables internas o unos estados, digamos, para
[24:56] saber identificar si esto está igual, si no está igual, este, no volver a hacerlo, pero
[25:01] eso es una cosa un poco en general es así, pero por ejemplo cuando tenemos que descomprimir
[25:10] el parche, copiamos el archivo, lo descomprimimos.
[25:15] La copia, si usamos los módulos de Ansible que dicen el archivo quiere usar el módulo
[25:22] archivo, el archivo tiene que estar ahí, o el módulo que dice copy from server, hay muchos
[25:27] módulos. Eso funciona, pero si uno manualmente pone los comandos en Linux, Ansible confía
[25:32] en lo que nosotros ponemos y lo ejecuta.
[25:34] Entonces, ahí perdemos, no tenemos la idea en potencia porque le estamos diciendo a Ansible
[25:41] ejecutame esto. Y ahí es donde se empieza a complicar porque hay cosas que queremos hacer
[25:45] que quizás son complejas depende si el módulo lo maneja o no y terminamos Enredándonos
[25:52] en cosas que bueno por esto no debería hacerlo y no lo hace y si es de lo que tiene cuando
[25:59] por ejemplo nosotros en la persona que trabajo hicimos varios este desarrollo con con
[26:06] ansiedad para hacer instalaciones patching de oracle en distintas variedades y termina
[26:13] siendo miles de líneas de código este cientos de directorios de sus directorios creados
[26:18] en el donde tenemos el código de ángel porque se incluyen este se permite
[26:25] rehusar no hace él permite rehusar código entonces bueno uno cuando programa aprovecha
[26:30] y usa eso para decir bueno cuando instalo tías rack o si es inglés insta la creación
[26:35] del licen es el el mismo código, no tengo que escribir dos veces lo mismo pero bueno,
[26:39] le agrega complejidad a todo esto y al final empiezan a pasar estas cosas que terminas
[26:44] ejecutando Un modulito que hace una tarea simple como patchear unos datos y termina demorando
[26:51] como 40 minutos porque tenés un rack de tres nodos y tiene que copiar los binarios a
[26:56] tres lugares, tiene que ejecutar un zip en tres lugares.
[27:01] Validar que tuve requisitos, primero ejecutar después, y después revisar que esté todo
[27:06] bien. Bueno, entonces, estoy imaginando aquí, yo que soy así como un poco pesimista,
[27:10] estoy imaginando las tragedias, ¿vale?
[27:12] Te voy a decir algunas tragedias: imagínate,
[27:15] despliegas Ansible sobre 100 servidores, por ejemplo,
[27:19] van justos de disco y, cuando hacen el unzip,
[27:24] revientan disco y tienes de pronto de 100, tienes 80 caídos, ¿no?
[27:29] ¿Te pasa algo así? ¿Te toca ir a todos o hay alguna forma de decir ¡eh!
[27:35] Rollback hace un deshacer o tienes que crearte con ansible o la mancha atrás también
[27:43] sería crear la marcha tenés que crearla así si no hay una forma automática de retomar
[27:50] en errores como que vos tenés que programar cierta lógica donde crees le agregas este
[27:57] algo que se llaman tags entonces vos podés ejecutar diciendo, bueno, salteate estos tags
[28:02] y cosas así. O sea, que se vuelve medio complejo.
[28:05] Tiene una funcionalidad a partir de cierta versión, hay agregado algo de hacer
[28:11] Resum, pero se basa en estados, es medio complejo.
[28:15] Digamos que depende un poco de las versiones que uses, como quizás respuesta más fácil,
[28:20] ¿no? Pero sí, siempre es complejo.
[28:22] Cuando aparecen problemas, lo difícil es que cuando estás probando no pasa nada, porque
[28:27] en mis pruebas, en mi manejo, pero Pero cuando eso lo vas a ejecutar contra servidores
[28:32] productivos, bueno, eso no puede fallar, ¿no?
[28:38] Y lo que sea que te hayas comido de implementar, de validar, de lo que fuera, si lo haces
[28:43] en muchos servidores al mismo tiempo, después la gente que está trabajando son pocos,
[28:48] ¿no? No podés tener 100 manos para conectarte a todos los servidores.
[28:53] Sí, acá Harold comenta que sí, que hay un comando de dry run.
[28:56] Sí, pero también el Ray -Ran está bueno, pero depende mucho de los módulos que usaste,
[29:01] ¿no? Entonces, hemos tenido, es parte un poco de la proligidad, seguramente cuando terminaste,
[29:08] cuando sabes mucho, lo vas a hacer mucho mejor y vas a incluir todos estos detallitos,
[29:13] pero se te pueden colar ahí cositas que no vayan bien.
[29:16] Sí, sí. Pero lo interesante es que es muy potente.
[29:23] La empresa que creó HashiCorp, que es la que creó Ansible, tiene certificaciones, tiene
[29:31] buena documentación, buenos training.
[29:33] Entonces como que y bueno para antes que eso ha sido es una forma no hay
[29:41] Otros utilitarios por ahí entonces el espectro es muy grande acá como que no estamos
[29:47] achicando y decimos bueno tan me elegí esta herramienta entonces me ahora me caso con
[29:53] esto y que automatizó ahí pero puedes cruzarte con otras y también son un poco distintas
[29:59] y cada una de sus particularidades y lo bueno todo esto es que, bueno, es parte del trabajo
[30:04] actual, ¿no? El trabajo actual es tratar con todos estos utilitarios.
[30:07] Oye, Nelson, una cosa, ¿qué infraestructura se necesita para montar Ansible en una...
[30:13] Pues en una empresa? No, nada.
[30:14] Es un binario. Pero necesita ser un servidor que controle
[30:20] Los despliegues, los procesos...
[30:24] Bueno, hay alguna gente que le gusta tener...
[30:28] digamos... Todo siempre puede ser muy elaborado o no.
[30:34] En principio es un binario que vos lo pones donde quieras, lo corres y chao.
[30:40] Ahora, cuando vas a ser en un ambiente empresarial y querés tener procesos y validaciones
[30:46] y evitar que nadie sin querer haga cosas que no tiene que hacer, a veces se empieza a
[30:50] complicar porque tenés que agregar seguridad, tenés que agregar alguna forma de controles
[30:56] de acceso que no sean por línea de comando.
[30:58] Hay utilitarios, interfaces, webs que permiten hacer eso.
[31:05] Nosotros trabajamos con algunos clientes que tenían eso muy bien elaborado y que se veía
[31:10] muy bien, pero, claro, te agrega mucho más complejidad, más mantenimiento, ¿no?, este
[31:15] porque es como a alto nivel está frente un workflow de tareas
[31:22] este donde podría llegar a retomar la ejecución de cada una si fallan este entonces
[31:30] podrías llegar a tener un panel de control web donde si es bueno que está junto bien
[31:34] no apretó un botoncito y la retoma pero eso con ansia en realidad es complejo porque
[31:40] no tiene módulos que son archivo de texto y les ejecuta polinesia comanda entonces digamos
[31:46] que hay mucho para hacer mismo así el clásico que es bueno como comentaba por acá hanoi
[31:52] que fue comprado por riesga creo por lo visto vamos a invitar a hanoi a que a que suba
[31:58] a tomarse café aquí con nosotros ¿te parece?
[32:00] vamos a invitarles y, claro, sí y es van y también está activa está diciendo que está
[32:07] preguntando ¿podemos tener?
[32:08] Un ambiente local de juego para cazar real o sea podríamos tener un ancho y claro lo
[32:15] difícil del ambiente claro lo difícil elemento del juego es que han sido el
[32:22] por si es un ejecutable que tiene archivo configuración que dice dónde se conecta entonces
[32:27] el ambiente de juego tendría que ser servidores virtuales que creamos que pueden ser
[32:31] bien war puede ser de docker como uno nos guste en la la cloud donde en
[32:38] la configuración de ángel le ponemos ese cip en estos servidores de prueba pero en el
[32:43] fondo tenemos que nosotros preocuparnos por crear esos servidores de prueba en general
[32:49] las pruebas las hago así no me creo algunas maquinas con no tanto con con virtual
[32:57] box sino con este hoy en día con
[33:00] con virt, pero no en el comando virt, pero bueno ejecutas la línea de comando y ya te
[33:06] crea automáticamente el virtual box, te crea todo, ejecuta todo lo importante es eso,
[33:11] uno puede crearse en alguna ambición de ansia y decirle, bueno, usame estos servidores
[33:14] que son los míos de prueba
[33:16] Hanoi, cuéntanos, ¿qué tal?
[33:18] Hola, buenas tardes, ¿qué tal?
[33:21] Pues el micro es tuyo, cuéntanos.
[33:24] Nada, simplemente aportar ahí un poco mi granito de arena,
[33:29] porque porque, bueno, nosotros sí que llevamos trabajando bastante tiempo con Ansible.
[33:37] Y, bueno, la problemática que tenemos resuelta es que tenemos muchísimos servidores,
[33:44] Muchas bases de datos Oracle y cualquier cambio que hacemos, por ejemplo, en scripts
[33:50] de configuración y demás, pues lo hacemos todo por ahí, porque si no es que sería inviable,
[33:56] vamos. A nosotros sería imposible con la cantidad de servidores que tenemos entonces
[34:03] nos viene muy bien es bastante simple pero en el momento que vas entrando un
[34:10] poco en script más elaborados y demás por las cosas va complicando la verdad que el fundamento
[34:18] es simple pero se puede llegar a complicar bastante y nada la verdad que está muy interesante
[34:24] Ah claro, que la idea a mí me gustaba más que nada que la gente tome conciencia de la
[34:31] complejidad que se puede tomar al tratar de hacer estas cosas porque me parece que hay
[34:36] un mensaje como muy simplista sobre que la automatización es algo fácil que está en todos
[34:43] lados, que todo lo podemos hacer pero que bueno, hay que dedicarle un poco de tiempo,
[34:47] es como todo es como, digamos, cualquier tarea compleja que uno trata de hacer sin mucha
[34:54] experiencia siempre lleva un poco de tiempo, y me pareció como que en la automatización
[34:59] y en particular con Ansible había mucha gente que se estaba tratando de hacer cosas y
[35:03] bueno que se estaba complicando y hay templates hay comunidad que vaya haciendo así como
[35:10] templates, hay alguna comunidad de Oracle que Saque templates para aplicar PSU que diga,
[35:15] mira, adapta esto más o menos a como lo tengas.
[35:18] Ah, sí, sí. Dentro de Oracle hay tres o cuatro referentes
[35:25] de, históricamente, usuarios que han hecho mucho, ¿no?
[35:29] Inclusive mucho antes que Oracle.
[35:30] Que está este hora virt de finlandia creo que él empezó como hace
[35:38] más de diez años con todo esto y fue de los primeros que se metió con ansi el que yo
[35:44] que yo encontraba referencias me acuerdo cuando todos empezamos estudiar mismo tim hall
[35:48] empezó después que él no a meterse en estas cosas o sea y él creó pila de documentación
[35:56] de ejemplos de código a los años recién ahora que les acogió ejemplos y que más o menos
[36:02] hacían lo que él hacía entonces cuando uno va a aplicar a un parche no hay nada oficial
[36:08] de hora que no ahora que tiene algunos ejemplos y ya pero muy simples este entonces si
[36:15] uno las puede usar rehusar y a partir de ahí este hacer la versión propia pero que
[36:22] está faltando eso de repente no una especie de repositorio de días bueno para el pc utal
[36:29] apliquen este código anselm que es el que ya está recontra validado y todo el mundo lo
[36:32] usa y funciona bien y pero y también tenés este si no quiero dejar pero
[36:40] hay tres o cuatro no el otro grande es el de a mí se me dan los nombres no se tenía que
[36:45] tener atado para referenciar los fritz fritz holligan él hizo mucho laburo con este con
[36:50] automatismo de aplicación De parte cuando cuando trabajaba en Enquitec hace varios años.
[36:55] También, él tiene unos códigos, miles y miles de señales, el código para cada versión,
[37:02] con cada parche. Mirá, esos códigos son una locura de la cantidad de detalles que tiene,
[37:07] lo que te muestra el tiempo que se le dedicó a hacer todo eso, ¿no?
[37:11] Es lo que tiene Ansible, ¿no?
[37:12] O sea, si querés aplicar parches en todas las versiones de todos los parches, tenés que
[37:18] probarlo. Tiene que funcionar y el código tiene que no dar errores, ¿no?
[37:22] Bueno, y una cosa, a ver, Ansible versus Cloud Control para parcheo, por ejemplo, o para
[37:28] automatismos. Porque Cloud Control también tiene, digamos, una parte para desplegar,
[37:34] te prueba el parche, te prueba el prereqs, te hace el análisis, digamos, de los requisitos.
[37:40] Sí, sí, con el automatismo es lo que tenés, ¿no?
[37:44] En todas las Cloud te ofrecen sus propias versiones de los automatismos, ¿no?
[37:49] Oracle también tiene eso.
[37:50] Tratamos justo de los parches de oracle así que te aplica bien pero como norma general
[37:55] cuando vas a una cloud te enfrentas a que bueno ellos tienen su propia versión de la
[38:01] de los utilitarios que hay que usar no y si lo que tiene buena civil es que funciona
[38:06] con todo entonces este es más portable y demás muy bien
[38:13] muy bien si alguien quiere preguntarnos algo estamos aquí tomando damos un café con todos
[38:19] hoy es muy interesante mira yo sé dónde conocí conocían según en noruega yo estaba trabajando
[38:25] en el departamento de salud y allí se utilizaba para el tema automatismos de servidores
[38:32] y eso se utilizaba el sol pero para lo que era base de datos yo yo lo hice todo con cloud
[38:39] control lo de crear golden image de por ejemplo de los agentes toda esa parte la dice
[38:47] dice así. Pero me encontré por ejemplo que con el despliegue de racks, el despliegue
[38:54] de los binarios de rack y la preparación un poco y el despliegue de software, me encontré
[39:00] con mucho problema de que estaba muy cerrado el tema de automatismos con Cloud Control
[39:04] y sé que resolvieron con Ansible la parte de
[39:12] Futuros despliegues y también la parte de de parches de parche
[39:19] o yo yo llegué a parchear con con con cloud control y como era un
[39:26] estándar muy muy homogéneo era prácticamente la misma versión misma misma versión de
[39:32] linux misma versión de base de datos mismo componente para todo pues fue fácil decir
[39:36] desde claro control agregó todos los destinos y hago el patch desde desde el mismo cloud
[39:42] control no pero sí claro que todo el resto de componentes se parcheaban ahí con Anzio
[39:50] Sí, El Cloud Control se sigue usando también todavía
[39:58] Enterprise Manager en particular
[40:01] Eso es lo otro que tiene Oracle, que tiene tantas.
[40:06] Herramientas que automatizan cosas.
[40:09] Que a veces presentan un poco
[40:14] De dudas de que bueno que cualquier camino me conviene tomar no me pongo a hacer por
[40:19] mi cuenta algo o mejor uso una herramienta que se tiene ahora que la trata de
[40:27] usar hasta lo máximo que pueda para evitarme el trabajo de tener que mantenerla yo no
[40:31] y en ese camino por ejemplo está lo del este
[40:36] Esta herramienta que sacó hace unos años ahora que para manejar los homes golden images
[40:41] y demás más, ¿no? El Fleet Provisioning and Patching.
[40:44] Sí, primero se llamaba el Rapid Home Provisioning and Patching y ahora han cambiado el
[40:48] nombre. Rapid Home Provisioning.
[40:50] Ahora han cambiado el nombre.
[40:51] Se llama Fleet Provisioning and Managing.
[40:55] Fleet Provisioning and Patching, sí.
[40:56] Entonces, esa es una alternativa.
[40:59] Lo único Trae todo, digamos.
[41:03] O sea, un repositorio central donde uno almacena una versión de los binarios, donde los
[41:09] pueda patchear y después distribuir a muchos servidores; lo que tiene, si querés,
[41:16] de contra es que está pensado como para instalaciones grandes.
[41:20] Si uno tiene un rack de dos nodos, usar un servidor de FPP implica crear un servidor
[41:26] de repositorio, mucho espacio en disco para tener las imágenes; es como que te agrega
[41:33] un overhead extra de mantenimiento.
[41:38] Fíjate Fíjate, te iba a preguntar una cosa, te iba a decir, ¿en qué casos no recomendarías
[41:45] el coste de desplegar ANSI o de aprender ANSI para prepararse todo un despliego,
[41:55] todo un automatismo respecto, digamos, al beneficio?
[41:58] ¿En qué casos dirías, mira, es que para hacer algo así no valdría la pena?
[42:02] Que quizá, evidentemente, cuando es algo muy específico en un servidor, pero ¿en qué
[42:06] tareas has echado para atrás y has dicho, mira, lo vamos a hacer con Ansible, pero mejor
[42:13] no, mejor vamos a terminar antes si lo hacemos a mano?
[42:17] ¿En qué casos te has encontrado el caso opuesto?
[42:19] Yo creo que es como dijo Hanoi, que ahora volvió con nosotros acá, es
[42:26] que cuando tenés volumen, o sea, cantidad de servidores, en general la ecuación te da
[42:31] bien de decir, invierto en automatizar.
[42:34] Si tengo poquitos servidores y me pongo a automatizar tareas complejas, a menos que las
[42:41] vaya a ejecutar muy seguido, es difícil que me rinda porque hay que invertir mucho tiempo
[42:47] para tener una automatización funcionando bien.
[42:49] Bien y sobre todo porque cambia las cosas no si voy a hacer imagínate no cambiar
[42:56] la clave de un usuario y me hago un escrito antes del chiquito que me conecta la base
[43:01] crean wallet le pone la paja vieja la nueva bueno capaz que puede estar interesante como
[43:07] ejercicio pero cuántas Veces le andar usando eso yo que sé una por año en un servidor
[43:14] ahora tengo 50 servidores capaz que que me sirven pero siempre este tipo de detalles
[43:20] es muy difícil de estimar porque de repente de entrada uno se genera expectativas que
[43:25] no son alineadas con la realidad porque uno se puede inventar la película decir bueno
[43:30] yo esto le gustan después a futuro millones de veces acá y ella y termina se gastando
[43:34] en diciendo haciendo una cosa enorme que lo usaste tres veces o cuando tienes un parque
[43:39] muy heterogéneo quizá si tienes muchas versiones y si las son mucho seguros operativos
[43:44] distintos y muchas arquitecturas distintas quizá el coste de eso analizar tantísimo y
[43:50] el momento que dices ya paremos la personalización implica dedicarle el mismo tiempo
[43:57] porque en general poco lo que puede usar si hay mucho que puede usar bueno capaz que
[44:04] te sirve pero este si mismo los comandos no sé que se está haciendo exadata el comando
[44:10] para porque un parche distinto hace en la cloud el comando no un gran manager services
[44:15] de los de ahora que el comando distinto entonces está bien capaz que te puedes rehusar
[44:20] la partecita de decir copio el binario pero no sé todo todo lo demás va a ser tan distinto
[44:26] que va a ser difícil no que te rinda al hilo esto que decís quería comentar una Cosa
[44:31] sobre un concepto también importante en archivo el que es el tema del inventario el
[44:38] inventario lo que hace archivo les digamos manejar grupos de servidores en
[44:45] un concepto de inventario el inventario es bastante potente porque permite organizar
[44:52] y viores en grupos y a su vez grupos en sus grupos Entonces tú luego
[44:59] los roles o los playbooks que quieres desplegar, puedes desplegarlos
[45:07] sobre un grupo de servidores en concreto.
[45:10] Entonces esto también da muchísimo juego.
[45:12] No sé si esto Nelson también lo has encontrado tú.
[45:17] Sí, sí, claro. Para mí eso, yo no quise entrar en muchos nombres, pero es parte de la
[45:22] configuración. Cuando configuras, la configuración en general es esos detallecitos de
[45:28] cuáles son los servicios en los que me voy a conectar.
[45:30] Y lo que tiene interesante el inventory es que vos podrías tener en mi misma instalación
[45:37] de prueba, puedo tener distintos archivos de inventario para ejecutar pruebas distintas.
[45:44] Entonces, eso es algo que nosotros hacemos a veces para decir, bueno, voy a probar este
[45:49] RAM book contra un single instance.
[45:51] Este mismo rambo contra un rack pero los sobredotes de racks un grupo de sobredotes distintos
[45:57] porque no quiere usar los mismos entonces mismo que mismo para crearlos es más fácil
[46:01] de otra forma entonces ahí los archivos de inventario distinto tiene variables que
[46:09] se pueden digamos configurar por estos grupos que comento pues esto también te
[46:17] da mucho juego para aplicar por ejemplo una una cosa específica para un grupo de servidores
[46:22] que podría tener un Oracle 11, por ejemplo.
[46:26] Sí, sí, tal cual. Qué bueno.
[46:30] Es bastante potente. Sí, yo lo uso un poco.
[46:34] Digamos que... Bueno, no lo uso, quiero decir.
[46:40] Sí, pero porque no tienes muchos servidores.
[46:42] Si tuvieras muchísimos servidores, vamos, estás 90 % obligado a usarlo.
[46:48] Claro, y cuando tengo son esos, son clientes distintos, sistemas
[46:53] cada uno y claro de un instalador distinto pero si me parece poder nosotros es que
[47:00] tenemos nosotros tenemos un cloud privado en el que tenemos muchas instalaciones de oracle
[47:07] para cada cliente o sea para cada cliente tenemos un oracle por decirlo alguna forma
[47:12] una instancia entonces tenemos muchas bases de datos y cuando tenemos que configurar
[47:17] de configurar en todas a la vez que aplica una una mejora, pues un script que hacen en
[47:23] Ansible y se aplican todas las bases de datos de los clientes.
[47:27] Qué bueno, qué bueno, qué bueno.
[47:30] Pues está muy bien para eso, sí.
[47:33] Pues muy bien, ¿qué dices?
[47:35] ¿Tú siempre usas? ¿Qué dices, Nelson?
[47:37] ¿Que usas siempre el de...?
[47:39] Ah, sí, estaba siguiendo con Bani.
[47:42] Por los virtuales, ¿no? Por el hecho de que para usar máquinas virtuales uno siempre
[47:47] puede ir a VirtualBox y crearlas a mano, ¿no?
[47:49] Pero InHop, él publica siempre, cada vez que sale una versión nueva, él crea la configuración
[47:53] background, ahora con un comando
[47:57] ejecutás y ahí te crea la virtual, te instala el software y todo y él se ha preocupado
[48:03] de mantener todo ese software durante el tiempo ahora que también publica background
[48:08] boxes se llama Pero bueno, como Tim lo ha dicho antes y aparte Tim publica dentro
[48:16] de esas configuraciones también le agrega más cosas le pone
[48:22] Se pone developer, le pone todo, entonces ya te bajás eso y ya te sirve no solo para
[48:29] hacer datos, sino también si querés desarrollar un desarrollo chico, incluye en Apex,
[48:33] RDS. Qué bueno, qué bueno
[48:40] que vuelve. Y es también otro ángulo de la automatización, la automatización no es solo
[48:45] una herramienta, la creación de una virtual ejecutando todo es otro aspecto esos
[48:53] scripts enormes Larguísimos si se ponen a revisar los códigos, todo
[49:00] tiene muchas horas de trabajo atrás, pero reaprovechadas nosotros que
[49:09] solo los copiamos los usamos seguro.
[49:13] Pregunta Miguel si queda grabado el café claro que sí lo grabamos y lo subimos al podcast
[49:19] y tenemos estás nelson en el episodio 2 de la temporada 3 así
[49:27] que sí o no es largo que te parece pues nada pues eso es el tercer año que
[49:34] estamos no digo que el hecho de poder escuchar este los
[49:42] pocas después también está bueno sí porque también es que que a las horas a las horas
[49:47] en las que a veces a lo mejor no está todo el mundo a veces hay gente que está pues está
[49:51] trabajando o está en su casa pues hay mucha gente me decía oscar garcía que él
[49:58] escucha el podcast siempre conduciendo pero está muy bien está muy bien oye
[50:06] pues es que es muy interesante te digo es decir la parte que conocía es algo así no sé
[50:12] hasta qué punto me me interesa aprender...
[50:16] Yo soy muy así, soy principio de economía máximo.
[50:19] ¿Hasta qué punto me interesa aprender una tecnología, un componente, por el beneficio
[50:26] si más o menos hasta ahora me he estado capeando con Cloud Control, por ejemplo?
[50:32] Es decir, descargar scripts, por ejemplo, en todas las bases de datos, pues me lo hago
[50:35] un job, un job con Cloud Control y lo planifico y lo despliego.
[50:39] Ya todo esto que dices tú, esa personalización,
[50:43] O poder hacerlo estándar, no solamente para Oracle, es decir, que en un momento puedas
[50:47] hacer una parte con Oracle y otra parte en otro componente, o otra parte en otro aspecto,
[50:52] digamos, con un asistente operativo, con SQL, ya digamos, una herramienta muy general
[50:58] o genérica como Cloud Control no te permite ir tan a lo fino, ¿no?
[51:03] Y quizá ya Ansible sí es mucho más potente para este tipo de cosas, ¿no?
[51:07] Y aparte Cloud Control es propietario de Oracle y tenés que tenerlo instalado y
[51:14] tenés que mantenerlo en versiones
[51:19] Ancible es como una cosa más genérica más liviana que la podés poner
[51:26] a andar en muy poco tiempo y lo otro es que el código porque las cosas que podés hacer
[51:32] con Ancible es como digamos es como un lenguaje donde puedes escribir por
[51:39] tareas lo que quieras. En el Cloud Control, en realidad, estás limitado para las opciones
[51:43] que tiene el Cloud Control.
[51:44] Sí, mucho, la verdad que sí.
[51:47] Yo creo que es un intento de hacer algo...
[51:50] Es útil. Es un intento como de hacer algo así como automatismos,
[51:57] pero decir, bueno, que nuestra herramienta estándar de monitorización, por lo menos lo
[52:02] haga y haga algo así. Y gestione las golden copies, ¿no?
[52:06] Y se puedan Provisionar homes y a ciertas cosas.
[52:10] Decir, bueno, no nos es tan complicado.
[52:11] Poder implementar un Pequeño Ansible.
[52:15] Para poder Desplegar cosas, pero claro, la herramienta de Cloud Control es como para
[52:21] muchas otras cosas más, de monitorización.
[52:25] Y no te olvides que también tiene, ¿cuánto?
[52:28] 20 años. Bueno, capaz que menos, 15 Cloud Control, o sea que estaba haciendo estas cosas
[52:34] desde hace mucho tiempo atrás.
[52:35] Y de última Ansible es bastante
[52:39] Moderno como una cosa que surgió después o sea tampoco es muy justo decir que ahora hay
[52:45] una cosa moderna que hace todo mucho mejor y más rápido pero bueno es más específica
[52:50] porque digamos si es posible solamente para automatizar claro un poco cloud control es
[52:55] como gestión de toda la monitorización automatización gestión de backup gestión de digamos
[53:02] a universal para ¿Para abatado de base de datos?
[53:06] Exacto pero solamente a eso, claro.
[53:09] Era para tu base de datos todo lo que quisieras hacer con tu base, pensado en Oracle,
[53:14] y bueno, sí, tiene sus ventajas.
[53:17] Quizás hoy en día también se está notando más de que, bueno, no es la realidad de todo
[53:22] el mundo, ¿no? Pero yo que hago consultoría, hay muchas empresas que tienen entornos
[53:27] más heterogéneos. No tienen solo Oracle entonces herramientas como estas que se pueden
[53:33] usar contra con cualquier otro motor o para otras actividades son más valiosas porque
[53:38] son de múltiples propósitos y no como que acá contra que sólo te sirve para ahora entonces
[53:44] es doble fil igual porque cuando quieres hacer en parte para ahora que tiene que ser
[53:50] siguiendo los pasos de ahora que entonces un par de un par de cositas mira miguel debe
[53:56] a está preguntando en el chat opinión entiendo que crees que es mejor ansible el de reformó
[54:02] jenkins a bueno Es una pregunta interesante, son todas herramientas de automatismos
[54:09] para cosas distintas. Ansible es este creada por automatizar tareas y ejecución
[54:16] paso a paso de cosas con módulos para lo que quieras, entonces es más pensado como decir
[54:23] bueno, quiero evitarme de hacer cosas a mano que antes ejecutaba un programas?
[54:28] Bueno, uso ANSI. Terraform tiene una filosofía de configuración similar en el sentido
[54:35] de que es un archivo en texto plano que uno puede leer, también descriptivo sobre recursos,
[54:43] pero se usa para crear infraestructura Terraform.
[54:47] Terraform no sirve para ejecutar tareas paso a paso.
[54:51] Sin embargo, Terraform hace cosas paso a paso, pero no nos da a nosotros la libertad
[54:56] de decir, bueno, Bueno, quiero hacer algo más después de que el servidor...
[55:00] Claro, Terraform es para crear recursos.
[55:02] Entonces, si yo quiero crear un servidor nuevo y eso implica
[55:10] crear un disco, crear la red,
[55:13] Lo que sea que haya que hacer, bueno, Terraform permite hacer eso.
[55:17] Porque de la misma forma que Ansel tiene módulos para todo, Terraform también se hizo
[55:22] muy popular y todos los proveedores de software crearon sus módulos que son capaces de
[55:27] gestionar sus recursos. Entonces, hay módulos de Terraform para poder conectarse ahora
[55:32] a OCI, a Amazon, a Google.
[55:36] Entonces, uno puede crear de forma casi con el mismo código, con algunas variantes, en
[55:43] todos lados cosas, ¿no? Pero los archivos que describen lo que hay que hacer solamente
[55:49] describen cómo crear los recursos.
[55:52] Termina ahí, en el curso que ha creado, y Terraform termina.
[55:57] No podemos decirle después de crearme, instalame ahora, aplicame un parche.
[56:03] No sirve para eso y Cienquis es un utilitario que sirve para automatizar ejecución,
[56:10] pero más orientado a tipo de eventos.
[56:13] Se usa mucho cuando quiero armar un ambiente donde automáticamente se me apliquen, se
[56:20] ejecuten o se disparen tareas anidadas, digamos.
[56:26] Por ejemplo, hago un cambio en la base de datos y eso me dispara, o al revés, hago un
[56:31] cambio en el código, eso me dispara un commit en Git y eso me dispara una compilación
[56:36] de una SQL en la base de datos.
[56:38] Eso es a Jenkins, es como más para un orquestador de cambios.
[56:43] Y bueno, hay formas de, hay muchas recetas, muchos ejemplos De cómo conectar cosas
[56:50] con otras, pero bueno, son como herramientas distintas que están todas vinculadas al
[56:55] tema automatismo, ¿no? Sí, sí, sí.
[56:57] Oye, y acá acabamos con un caso de éxito y otro caso de fracaso.
[57:04] Es decir, ¿tienes algún caso de estos de decir, mira, hicimos esto y fue espectacularmente
[57:10] bien y hicimos esto y fue espectacularmente mal?
[57:14] Bueno, el fracaso para mí en estos casos es cuando las estimaciones no nos dan como pensamos,
[57:22] ¿no? Entonces, hemos tenido proyectos donde inicialmente parecían muy simples, terminaron
[57:28] siendo muy complejos y costándonos muchísimo más de lo que inicialmente asignamos
[57:36] de gente para trabajar en eso.
[57:40] Eso es lo fracaso. Al final las cosas siempre funcionan.
[57:43] Por ejemplo, hicimos algún, hay unos compañeros, ¿no?
[57:48] Yo en particular no toqué mucho, pero se hizo un automatismo con Jenkins, Git
[57:56] y demás para aplicar cambios de bases de datos en ambientes con eBusiness Suite.
[58:01] que funcionó, pero tenía muchas limitaciones y requería muchas cosas manuales por parte
[58:07] de los usuarios. Entonces, al final, como se gastó tiempo, se hizo algo que funciona,
[58:13] pero no se adoptó, digamos.
[58:15] Como que era lindo de ver, pero no era muy práctico.
[58:18] Eso también puede ser... Y el caso súper éxito termina con un bombazo.
[58:24] Venga, terminas con el caso súper éxito.
[58:26] Ah, bueno. De éxito, tenemos tenemos unos módulos ahí públicos para hacer patching de
[58:32] instalaciones de bases Oracle con RAC que están funcionando
[58:37] quizás no puedo dar muchos detalles porque son cosas, algunas confidenciales pero buscan
[58:42] en Git, hay algunos repositorios públicos que hacen eso y que los creamos nosotros para
[58:48] clientes son de Pythian o son tuyos
[58:54] bueno, no los hice con Pythian y con otros compañeros que trabajamos para clientes están
[59:00] publicados en nombres de clientes o sea que si van ahí
[59:06] Buscan en Git y ven algunos repositorios Ansible para instalar ahora con Rack y demás,
[59:11] hay chance de que nosotros hayamos hecho bastante de ese código y que están ahí funcionando
[59:17] desde hace años y cada tanto los mantenemos y demás, pero bueno que bueno
[59:23] la cosa funciona, es como todo, funciona hay que dedicarle mucho este mucho tiempo pero
[59:29] bueno al final funcionan así y facilita mucho tiene el trabajo muy bien son las 7 nos
[59:35] pasamos un par de minutos Nelson sé que tienes tienes algo justo que te vas es un gustazo
[59:42] hablar contigo se nos queda Juan por decir ya
[59:49] nos hemos ido un poquito de tiempo voy Voy a crear, para terminar solo una cosita, crearé
[59:55] un canal de texto para que a lo mejor podamos poner ahí enlaces o podamos poner algún
[60:01] tipo de documentación. Y si alguien se queda con alguna preguntita, pues que lo pueda
[60:05] comentar también en el chat o poner algún link o algo así.
[60:09] Y un gustazo, es que es un gustazo tener de Nelson, eres un tanque de guerra, de verdad.
[60:17] Un placer. Muchas gracias.
[60:19] Bueno, mismo Miguel hizo unas preguntas, de repente las seguimos ahí en ese canal, viste,
[60:23] que están ahí de cómo automatizar OCI y AWS.
[60:26] Sí, qué bueno. Todo eso se puede, hay ejemplos, sí.
[60:29] Lo podemos seguir ahí, sí, seguro.
[60:31] Bueno, muchísimas gracias por la invitación y bueno, un placer, un gusto compartir esta
[60:35] tarde contigo y con la resta de la gente que se conectó hoy.
[60:39] Y de último, cuando tengas el canal creado para hablar de estas cositas que quedaron
[60:42] pendientes también, las que tienen preguntas.
[60:45] Y lo voy a hacer ahora, lo voy a hacer ahora, ¿cómo lo llamamos?
[60:50] Y automatizaciones automatización base de datos si lo que quieras diciendo a los que
[60:55] ya tenés canales tenés, pero no tenés ninguno solo automatismo, si poner la automatización
[61:00] en base de datos, pues mira la de chanel ha creado y le
[61:08] ponemos la pregunta de miguel y la seguimos después, entonces escuchó ahora tengo otras
[61:12] cosas para hacer, pero que esté con tiempo sé que me me habías dicho que tenías justito.
[61:19] Tampoco te quería alargar más.
[61:21] Muchísimas gracias, Nelson.
[61:23] Ahí dejé puesta la pregunta de Miguel.
[61:26] Dale, hablamos después igual.
[61:28] Muchas gracias. Muchísimas gracias a ti, Nelson.
[61:31] Un abrazo muy fuerte.
Suscríbete a la lista de emails y únete a Discord.
Nada de spam: lo que se publica, cuando se publica, y el Discord del Café.