SlideShare una empresa de Scribd logo
1 de 43
¿Quien es este tío que viene a
darnos la charla?

Alejandro de la Hoz Martin
es.linkedin.com/in/alejandrodelahozmartin
sliphup@gmail.com
@sliphup

Desarrollador de aplicaciones informáticas

8 años de experiencia en el sector informático
en clientes como ISBAN (Siconet),
JAZZTEL(Wairbut), kuehne nagel (TAHBIT),
GEAR,TELCO,HPE (Polar Consultores)

Me encanta investigar y salir de mi zona de
confort, pero sobre todo programador JAVA

Actualmente “Ingeniero de Consultoría y
Desarrollo” aunque en cristiano diría analista
programador.

¿Y ahora DEVOPS?
¿Volviendo a la pregunta recurrente
de hoy en día?
¿Big Data con mongoDB?
NO esta vez, pero quien sabe en un futuro
¿Contenedores ya sean de docker o html?
NO, pero con lo del docker nos vamos acercando
¿DEVOPS?
SI
Según nuestra amada WIKIPEDIA
Situación actual en la mayoría de
proyectos y empresas
Lo que se supone que seria un
devops y las funciones que asumiría
de cada una de sus partes
Lo que se quiere conseguir
Ejemplos de herramientas para
realizar estas funciones
Según nuestra amada WIKIPEDIA
Vagrant esta soportado en
Ejemplo visual de uso de vagrant
Ejemplos reales
Ejemplos escritos de amazon EC2
Según nuestra amada WIKIPEDIA
Ansible esta soportado en
Ejemplo visual de uso de ansible
Otro ejemplo visual mas concreto
de uso de ansible
Un repositorio y generación de roles
Ejemplo de estructura de un role
Ejemplos reales
Ejemplo visual de uso de vagrant y
ansible
Ejemplos reales
¿Organización de los entornos de
un proyecto cualquiera?
EQUIPO
DESARROLLO SERVIDOR
DESARROLLO
SERVIDOR
TEST IT
SERVIDOR
TEST QA
SERVIDORES
PRODUCCIÓN
En ese momento aparece chicote
Programadores salvajes aparecen
Programadores salvajes contesta
Programador salvaje responde
Posible solución
Mientras chicote revisa el entorno
de integración
Se encuentra con Paco Lobatón
propietario de Paquito Soware
Después de esto Paquito sorprende
con
Chicote explota

Alejandro de la Hoz Martin
es.linkedin.com/in/alejandrodelahozmartin
sliphup@gmail.com
@sliphup
PREGUNTAS

Más contenido relacionado

Destacado

A Gentle Introduction To Docker And All Things Containers
A Gentle Introduction To Docker And All Things ContainersA Gentle Introduction To Docker And All Things Containers
A Gentle Introduction To Docker And All Things ContainersJérôme Petazzoni
 
Basic docker for developer
Basic docker for developerBasic docker for developer
Basic docker for developerWeerayut Hongsa
 
Docker introduction
Docker introductionDocker introduction
Docker introductiondotCloud
 
Docker 101: Introduction to Docker
Docker 101: Introduction to DockerDocker 101: Introduction to Docker
Docker 101: Introduction to DockerDocker, Inc.
 

Destacado (6)

A Gentle Introduction To Docker And All Things Containers
A Gentle Introduction To Docker And All Things ContainersA Gentle Introduction To Docker And All Things Containers
A Gentle Introduction To Docker And All Things Containers
 
Basic docker for developer
Basic docker for developerBasic docker for developer
Basic docker for developer
 
Docker by Example - Basics
Docker by Example - Basics Docker by Example - Basics
Docker by Example - Basics
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
Webinar : Docker in Production
Webinar : Docker in ProductionWebinar : Docker in Production
Webinar : Docker in Production
 
Docker 101: Introduction to Docker
Docker 101: Introduction to DockerDocker 101: Introduction to Docker
Docker 101: Introduction to Docker
 

Similar a Vagrant ansible pesadilla en la consultoria

Cloud para tu juego en una tarde
Cloud para tu juego en una tardeCloud para tu juego en una tarde
Cloud para tu juego en una tardeIgnacio Segura
 
¿Cómo trabajamos los diseñadores digitales?
¿Cómo trabajamos los diseñadores digitales?¿Cómo trabajamos los diseñadores digitales?
¿Cómo trabajamos los diseñadores digitales?Jimena Catalina Gayo
 
¿Quién va a desarrollar las Apps del futuro? (aviso: no serán los programadores)
¿Quién va a desarrollar las Apps del futuro? (aviso: no serán los programadores)¿Quién va a desarrollar las Apps del futuro? (aviso: no serán los programadores)
¿Quién va a desarrollar las Apps del futuro? (aviso: no serán los programadores)Jordi Cabot
 
Introducción a la programacion.pdf
Introducción a la programacion.pdfIntroducción a la programacion.pdf
Introducción a la programacion.pdfIvanaTrento
 
Nuevas oportunidades para Ingenieros de Sistemas Programadores en el 2011
Nuevas oportunidades para Ingenieros de Sistemas Programadores en el 2011Nuevas oportunidades para Ingenieros de Sistemas Programadores en el 2011
Nuevas oportunidades para Ingenieros de Sistemas Programadores en el 2011Jose Hernandez
 
Desarrollo multiplataforma de apps con GWT y PhoneGap
Desarrollo multiplataforma de apps con GWT y PhoneGapDesarrollo multiplataforma de apps con GWT y PhoneGap
Desarrollo multiplataforma de apps con GWT y PhoneGapbetabeers
 
Charla 1er betabeers Córdoba
Charla 1er betabeers CórdobaCharla 1er betabeers Córdoba
Charla 1er betabeers CórdobaLuis Muñoz Hueso
 
Big Data - El Futuro a través de los Datos
Big Data - El Futuro a través de los DatosBig Data - El Futuro a través de los Datos
Big Data - El Futuro a través de los DatosOscar Corcho
 
Lado oscuro de big data y el ingeniero del siglo xxi
Lado oscuro de big data y el ingeniero del siglo xxiLado oscuro de big data y el ingeniero del siglo xxi
Lado oscuro de big data y el ingeniero del siglo xxiJosé Carlos García Serrano
 
HTML5, CSS3 y móviles
HTML5, CSS3 y móvilesHTML5, CSS3 y móviles
HTML5, CSS3 y móvilesPideCurso
 
PulpoCon23 Los Datos que no sabes que tienes y como usarlos
PulpoCon23 Los Datos que no sabes que tienes y como usarlosPulpoCon23 Los Datos que no sabes que tienes y como usarlos
PulpoCon23 Los Datos que no sabes que tienes y como usarlosNino Dafonte
 
Diseña tus aplicaciones multiplataforma
Diseña tus aplicaciones multiplataformaDiseña tus aplicaciones multiplataforma
Diseña tus aplicaciones multiplataformaPlain Concepts
 
Presentacion scratch
Presentacion scratchPresentacion scratch
Presentacion scratchhammad rafqat
 
Diapositivas software en la actualidad
Diapositivas software en la actualidadDiapositivas software en la actualidad
Diapositivas software en la actualidadJhoanny Osuna
 
Tecnologías de hoy y del futuro
Tecnologías de hoy y del futuroTecnologías de hoy y del futuro
Tecnologías de hoy y del futuroFernando Parra
 
Software libre en entidades educacionales
Software libre en entidades educacionalesSoftware libre en entidades educacionales
Software libre en entidades educacionalesLuis Lastra Cid
 
Abuntool presentation
Abuntool presentationAbuntool presentation
Abuntool presentationCarlos Toxtli
 
PHP Con symfony
PHP Con symfonyPHP Con symfony
PHP Con symfonycsalazart
 

Similar a Vagrant ansible pesadilla en la consultoria (20)

Cloud para tu juego en una tarde
Cloud para tu juego en una tardeCloud para tu juego en una tarde
Cloud para tu juego en una tarde
 
Developing for Android (The movie)
Developing for Android (The movie)Developing for Android (The movie)
Developing for Android (The movie)
 
¿Cómo trabajamos los diseñadores digitales?
¿Cómo trabajamos los diseñadores digitales?¿Cómo trabajamos los diseñadores digitales?
¿Cómo trabajamos los diseñadores digitales?
 
¿Quién va a desarrollar las Apps del futuro? (aviso: no serán los programadores)
¿Quién va a desarrollar las Apps del futuro? (aviso: no serán los programadores)¿Quién va a desarrollar las Apps del futuro? (aviso: no serán los programadores)
¿Quién va a desarrollar las Apps del futuro? (aviso: no serán los programadores)
 
Introducción a la programacion.pdf
Introducción a la programacion.pdfIntroducción a la programacion.pdf
Introducción a la programacion.pdf
 
Nuevas oportunidades para Ingenieros de Sistemas Programadores en el 2011
Nuevas oportunidades para Ingenieros de Sistemas Programadores en el 2011Nuevas oportunidades para Ingenieros de Sistemas Programadores en el 2011
Nuevas oportunidades para Ingenieros de Sistemas Programadores en el 2011
 
Desarrollo multiplataforma de apps con GWT y PhoneGap
Desarrollo multiplataforma de apps con GWT y PhoneGapDesarrollo multiplataforma de apps con GWT y PhoneGap
Desarrollo multiplataforma de apps con GWT y PhoneGap
 
Charla 1er betabeers Córdoba
Charla 1er betabeers CórdobaCharla 1er betabeers Córdoba
Charla 1er betabeers Córdoba
 
Big Data - El Futuro a través de los Datos
Big Data - El Futuro a través de los DatosBig Data - El Futuro a través de los Datos
Big Data - El Futuro a través de los Datos
 
Lado oscuro de big data y el ingeniero del siglo xxi
Lado oscuro de big data y el ingeniero del siglo xxiLado oscuro de big data y el ingeniero del siglo xxi
Lado oscuro de big data y el ingeniero del siglo xxi
 
HTML5, CSS3 y móviles
HTML5, CSS3 y móvilesHTML5, CSS3 y móviles
HTML5, CSS3 y móviles
 
PulpoCon23 Los Datos que no sabes que tienes y como usarlos
PulpoCon23 Los Datos que no sabes que tienes y como usarlosPulpoCon23 Los Datos que no sabes que tienes y como usarlos
PulpoCon23 Los Datos que no sabes que tienes y como usarlos
 
Diseña tus aplicaciones multiplataforma
Diseña tus aplicaciones multiplataformaDiseña tus aplicaciones multiplataforma
Diseña tus aplicaciones multiplataforma
 
Presentacion scratch
Presentacion scratchPresentacion scratch
Presentacion scratch
 
Diapositivas software en la actualidad
Diapositivas software en la actualidadDiapositivas software en la actualidad
Diapositivas software en la actualidad
 
Frontend Developer
Frontend DeveloperFrontend Developer
Frontend Developer
 
Tecnologías de hoy y del futuro
Tecnologías de hoy y del futuroTecnologías de hoy y del futuro
Tecnologías de hoy y del futuro
 
Software libre en entidades educacionales
Software libre en entidades educacionalesSoftware libre en entidades educacionales
Software libre en entidades educacionales
 
Abuntool presentation
Abuntool presentationAbuntool presentation
Abuntool presentation
 
PHP Con symfony
PHP Con symfonyPHP Con symfony
PHP Con symfony
 

Vagrant ansible pesadilla en la consultoria

Notas del editor

  1. Presentación
  2. Ir siguiendo el hilo de los textos
  3. La aceptación de la filosofía DevOps significa la adopción de una ideología que fomenta una cultura altamente productiva de colaboración entre sus equipos de desarrollo (Dev) y operaciones (Ops). El objetivo compartido de DevOps consiste en eliminar la fricción, el riesgo y otras restricciones para facilitar el éxito de los despliegues de producción de las aplicaciones, todo ello para encontrar el camino más rápido para obtener resultados de la máxima calidad.
  4. La frontera entre el desarrollo y la parte operacional siempre es muy difusa y suele hacer mas complejos los desarrollos y el mantenimiento de las aplicaciones. Esto se produce al tener separados estos dos mundos. Con devops lo que se pretende es crear comunicación o grupos multidisciplinares para este cometido
  5. DEV rendimiento de las aplicaciones desarrolladores modernos utilizan herramientas de APM para disminuir la latencia y tener mejor visibilidad en los código, bases de datos, memorias caché, las colas y de terceros. Análisis del Usuario Final Un gran desarrollador entiende a los usuarios finales, tienen la mejor reglamentación y análisis y juegan una parte enorme de la comprensión de los usuarios. Los desarrolladores están monitoreando constantemente la latencia del usuario final y comprueban el funcionamiento de los dispositivos y navegadores. Código de Calidad Los desarrolladores lo necesitan para asegurar sus despliegues y las nuevas versiones no implosionan ni degradan el rendimiento general. Errores de código de nivel Cuando se tiene una gran aplicación distribuida, es vital, tenerlos para disminuir tiempo medio de reparación mediante la búsqueda de la causa de los errores y excepciones. OPS Solicitud de disponibilidad Las aplicaciones tienen que estar en funcionamiento y es de los ops la responsabilidad de garantizar el tiempo de actividad y que los SLA están en orden. rendimiento de las aplicaciones Las Operaciones clásicas generalmente se basan en las métricas de infraestructura - CPU, memoria, red y Dick E / S, etc. Las Operaciones modernas se correlacionan todas esas métricas con métricas de software que solucionan los problemas 10 veces más rápido. Las quejas de los usuarios finales el objetivo es conocer y solucionar los problemas antes de recibir quejas de los usuarios finales, reducir el número de tickets de soporte, y eliminar las falsas alertas. rendimiento Analytics Información automática de las métricas de Operaciones ayudan a comprender lo que ha cambiado y dónde enfocar los esfuerzos para dar solución a problemas. Alertas en base a la desviación de las líneas base observadas ayudan a mejorar la calidad y reducir el ruido de las alertas.
  6. Al crear estos equipos y estas comunicaciones mas ágiles tendremos proyectos con la filosofía devops que ayudaran a agilizar, mejorar su rendimiento y hacerlos que sean menos susceptibles de errores. Con ello serán proyectos de mayor calidad.
  7. Para crear proyectos que cumplan las exigencias de un equipo con filosofía devops existen muchos productos que ayudaran en dicho cometido. Según vayan apareciendo nuevas necesidades aparecerán mas productos. Algunas necesidades se cubren con estas cuatro categorías aunque se podrían añadir mas. Automatización Manejadores de configuración Visualización de equipos Visualización de datos También tendremos herramientas de motorización y validación de proyectos pero la mayoría se integraran con las anteriores
  8. Ahora solo falta entrar en esta vertiente de la gestión de proyectos y formar a los equipos para poder poco a poco cumplir estos hitos. Con ello haremos que los proyectos cumplan lo comentado anteriormente ademas de conseguir que nuestros equipos sean mas conscientes de como funciona su proyecto y no crear personas indispensables para el proyecto. También tendremos perfiles mas ricos y capaces de poder adaptarse a otros proyectos ya que tendrán una visión y predisposición a a tener varias funcionalidades dentro de su equipo.
  9. Si pero para saber porque se han desarrollado estos productos tenemos que saber que necesidades han venido a cubrir. Tranquilos que ya empezamos.
  10. Vagrant es una herramienta para la creación y configuración de entornos de desarrollo virtualizados. Vagrant es capaz de trabajar con múltiples proveedores, como virtualbox, VMware, Amazon EC2 Vagrant se ha desarrollado en Ruby se puede usar en multitud de proyectos escritos en otros lenguajes, tales como PHP, Python, Java, C# y JavaScript.
  11. Vagrant esta disponible para plataformas linux, mac y windows. Vagrant creara maquinas virtuales de plataformas diversas según el proveedor seleccionado. Ademas de poder montar nuestras propias imágenes, vagrant nos permite recuperar imágenes de su repositorio con unas preconfiguraciones especificas
  12. Vagrant nos permitirá a partir de unos comandas y unos ficheros de configuración crear y gestionar dichas maquinas virtuales en el proveedor seleccionado. En la imagen tenemos un ejemplo de como vagrant + virtualbox + imagen ubuntu podremos crear n maquinas virtuales
  13. Ahora pasaremos a ver unos ejemplos de configuración y ejecución de unos comandos para que veáis como funciona. El fichero por excelencia que veremos sera el Vagrantfile
  14. Para poder usar vagrant con amazon WS requeriremos del plugin vagrant-aws No hemos podido crear ningún ejemplo de amazon porque tenemos todas las maquinas ocupadas
  15. Ansible es una plataforma de software libre para configurar y administrar computadoras. Combina instalación multi-nodo, ejecuciones de tareas ad hoc y administración de configuraciones. Adicionalmente, Ansible es categorizado como una herramienta de orquestación. Maneja nodos a través de SSH Dispone de módulos que trabajan sobre JSON y la salida estándar puede ser escrita en cualquier lenguaje. Nativamente utiliza YAML para describir configuraciones reutilizables de los sistemas El diseño de Ansible8 incluye: Mínimo por naturaleza. Los sistemas de administración no deben imponer dependencias adicionales. Consistente. Seguro. Ansible no instala agentes vulnerables en los nodos. Solamente se requiere OpenSSH que es considerado crítico y altamente testeado. Alta confiabilidad. El modelo de idempotencia es aplicado para las instalaciones y configuraciones, para prevenir efectos secundarios en la ejecución repetitiva de scripts. Suave curva de aprendizaje. Los playbooks usan un lenguaje descriptivo simple, basado en YAML
  16. Ansible esta soportado en plataformas linux y mac Para plataformas windows se puede soportar pero requiere de otros softwares para su funcionamiento y no es muy recomendable Y la gestión de nodos o maquinas serán linux aunque ya se han implementado componentes que según la versión vienen incluidos tanto para windows como contenedores docker
  17. Como se muestra en la imagen con ansible seremos capaces de gestionar varias maquinas desde un mismo playbook que es la estructura mínima de un proyecto de ansible.
  18. En esta imagen podemos ver como desde el host en el que esta ansible tenemos: playbook (ordenes, preconfiguraciones) inventories (hosts a los que nos conectaremos y configuraciones concretas de cada host) El propio ansible Los módulos propios de ansible y los creados por nosotros mismo (los módulos son funciones concretas que realizara ansible) Los plugins que son un conjunto de módulos y mejoras de ansible y entre ellos se encuentran los encargados de las conexiones con los hosts que queremos configurar
  19. Ansible tiene una funcionalidad que es ansible galaxy en la que podremos generar proyectos con una estructura concreta para posterior mente publicarlas en un repositorio GitHub publico o privado para su posterior reutilización. También generar ficheros tar.gz para facilitar su almacenamiento. En esta funcionalidad nos creara una estructura de fichero en la que ademas de las variables, funcionalidad y requisitos también nos dará ficheros para la documentación de dichos roles
  20. Cada carpeta tiene su función: -Defaults: Son las variables por defecto necesarias para este role. Estas variables se podrán modificar sus variables desde la llamada a los roles o desde los groups vars - Files: Ficheros que se usaran dentro de los roles, ya sean para copiarse o descomprimirse en las maquinas a las que nos conectamos. -Handlers Mediante los “handlers” podemos utilizar la etiqueta “notify” y estas acciones se disparan al final de cada bloque de tareas en los playbooks. Solo se activan una vez, incluso si un mismo “notify” está definido en varias tareas diferentes. -Meta Estos archivos describen el entorno (SO, versión, etc), autor, licencia, y también establece las dependencias del role. -Tasks Conjunto de acciones que se realizan sobre los hosts si cumplen las exigencias marcadas. Este directorio puede contener mas de un yml pero solo serán ejecutados si son referenciados desde main.yml -Templates Los templates son parecidos a los files, pero éstos admiten modificaciones (cambiar valores según las variables,...) -Test Como su nombre indica contiene una ejecución para probar el funcionamiento del role contra un host concreto indicado en el inventory. -Vars Tiene la misma función que defaults y se usa para almacenar variables. Además, las variables definidas en vars tienen mas prioridad que las variables definidas bajo defaults -.travis.yml Este fichero solo es usado en el caso de usar ansible-galaxy para publicar el role. -README.md Como me imagino que suponéis es para documentar el role pero es usado para ansible-galaxy como documentación para la wiki del github
  21. Ahora pasaremos a ver unos ejemplos de configuración y ejecución de unos comandos para que veáis como funciona. El ansible puede ir desde un único fichero yml en el que tendremos todo o un playbook con sus inventories donde irán configurados los hosts
  22. Ahora ya si que entramos en ver a la parejita feliz aunque también podríamos darle una vuelta mas en el siguiente curso y meter otro componente y hacer un trió pero eso ya sera para la siguiente charla. Por ahora nos quedamos con la pareja feliz.
  23. Para que quede mas claro vemos este flujo visual de como tendríamos nuestra arquitectura y las etapas por las que pasaremos para realizar la funcionalidad completa. Primero tendremos Ansible y vagrant que duda cabe y ademas tendremos que tener un proveedor de maquinas virtuales para vagrant. Haremos un vagrant up desde el directorio del vagrantfile a usar. Dicho vagrant file arrancara la imagen seleccionada y preconfigurara la maquina con lo indicado. Posteriormente lanzaremos el playbook ya sea desde vagrant o manualmente con el host de la maquina virtual y este configurara la maquina y orquestara las acciones indicadas. Posteriormente conectaremos a dicha maquina ya sea usando el vagrant ssh o a través del cliente de la propia maquina para comprobar que la maquina esta correctamente configurada.
  24. Ahora pasaremos a ver unos ejemplos de las dos herramientas.
  25. Ahora tampoco os penséis que crearemos maquinas como churros con un pájaro dándole a la letra S o Y,ni que dbas y los administradores de sistemas desaparecerán. Si que crearemos maquinas de manera mas sencilla, rápida, reutilizable, mantenible y mas fáciles de almacenar pero el conocimiento seguirá recayendo en los perfiles anteriormente indicados y para poder automatizar primero hay que haberlo instalado manualmente. Lo mas importante es que conseguimos replicar configuraciones iguales o similares a entornos de producción en todos los escalafones del desarrollo e integrar las maquinas en los flujos de construcción.
  26. Y tampoco os penséis que con esto dejaremos de trabajar ya que esto nos obliga a estar pendientes constantemente de la gestión de estos ficheros y estas maquinas para que estén incluidas en el flujo del proyecto, saber las vanguardias de las herramientas para mejorar y optimizar estos procesos. Ademas de estar conectados entre los proyectos de la empresa para poder reutilizar el trabajo ya realizado.
  27. Tenemos un proyecto tipo con nuestro equipo de desarrollo,nuestro servidor de desarrollo,test,qa, n y llegamos hasta producción. Todo parece muy bonito en este esquema en el que todo el equipo es feliz y vive en armonía hasta que empiezan a aparecer ciertas circunstancias que empiezan a alterar la visión del proyecto y la imagen perfecta del esquema empieza a verse que en su interior esconde una visión muy diferente.
  28. Chicote a venido para enseñarnos la realidad de este proyecto tan bonito en el esquema pero tan turbio por dentro en la realidad
  29. Programadores salvajes aparecen. Están discutiendo sobre la ultima entrega que a realizado uno ellos ya que no le funciona al otro. Con esto llegamos a la situación tan típica
  30. En mi maquina funciona como que no funciona en la tuya.
  31. De quien es el problema?? De uno, de ninguno, de los dos.Generalmente esta situación se da por una cagada del programador. Vale somos humanos. Pero también hay situaciones que el programador a programado bien, en su entorno local funciona pero a un compañero no. O me funciona en mi equipo pero en el resto no. Esto ocurre porque las plataformas en las que se a probado el código son distintas. Las posibles situaciones son: Cada equipo esta configurado de su padre y de su madre en desarrollo. Resto de entornos se van parcheando cada cual a su ritmo y a mano. Pudiendo darse casos de olvidar migrar esos cambios a las maquinas en su ciclo de vida.
  32. Si integramos en el flujo del desarrollo vagrant y ansible siempre tendremos entornos configurados de la misma manera indicando en cada entrega de software la versión correspondiente de scripts de ansible y vagrant. Generalmente el script de vagrant solo se usara la primera vez y se irán ejecutando en cada entrega los tasks de los scripts de ansible correspondientes. También nos da la posibilidad de que el equipo de desarrollo pueda crear una maquina virtual completa igual a las de los entornos posteriores.
  33. Encuentra una maquina en la cual están instaladas muchas aplicaciones, funcionalidades obsoletas que ademas no aportan valor al proyecto y muchos ficheros de configuración que no se sabe a que aplicaciones afectan. Pero claro hacer una revisión de todo ademas de costoso es un poco insufrible. Entonces chicote pregunta sobre los scripts de configuración de la maquina y la persona que administro la maquina durante la vida del proyecto
  34. Este proyecto ademas de no haber contado con una historificación o repositorio de scripts de instalación han pasado muchos administradores y por ello es imposible saber quien hizo que, ni porque. Si hubieran usado ansible y vagrant hubieran podido historificar los scripts con la vida del proyecto y así saber porque y para que se instalaron ciertas aplicaciones y como están configuradas, Esto hubiera ayudado a la buena administración y mantenimiento de estas maquinas. Los nuevos administradores hubieran sabido con facilidad la situación de la maquina y no tendrían tanta dependencia de las personas que la gestionaban
  35. Paquito sorprende a chicote comunicándole que ese proyecto con tan bonito esquema pero con un mantenimiento mas que dudoso y un desarrollo con bastantes traspiés, tiene que salir a producción en modo producto esa misma semana y que tendrá que ser instalable de manera fácil y sencilla por sus clientes.
  36. Teniendo en cuenta que no ha habido un repositorio en el que se hayan ido historificando los scripts de cambio de las maquinas y los responsables de mantenimiento del equipo ni el equipo de desarrollo saben realmente lo que es esencial para poder correr su software y ningún entorno tiene las versiones homogeneizas de aplicaciones instaladas. Chicote decide huir del lugar sabiendo que tendría un largo trabajo de investigación para poder saber los requisitos mínimos que el software requiere realmente y eso no entraría en los tiempos que paquito quería cumplir
  37. -Si el proyecto hubiera tenido entornos homogéneos. -Si se hubiera historificado los scripts de mantenimiento de las maquinas y de versiones mínimas para el software -Si no se hubiera dejado el conocimiento de las maquinas en manos de unos pocos El proyecto hubiera salido adelante con mayor facilidad Vagrant y ansible hubieran ayudado en ello Cierto que siempre tendremos una curva de aprendizaje, tendremos que integrar o facilitar la comunicación entre departamentos y distribuir el conocimiento por todos los perfiles del equipo. Pero con esto conseguiremos perfiles mas ricos y poder reutilizar muchos de estros esfuerzos en otros proyectos. Ademas conseguiremos proyectos mas ágiles y con mayor calidad.