Sei sulla pagina 1di 21

INVESTIGACIÓN SOBRE

METODOLOGÍAS ÁGILES
(DEVOPS)
Agenda
• Que es DevOps
• Entorno DevOps
• Principios de DevOps
• ¿Por qué usar DevOps?
• Entrega continua e integración continua
• Devops vs agile
• Herramientas de automatización DevOps
Objetivos
Al finalizar El modelo Agil DevOps, usted debe ser capas de:
• Tener las habilidades necesarias para manejar las herramientas que apoyan el modelo de colaboración de
DevOps

• Optimizar las tareas relativas a la administración y el desarrollo con el modelo DevOps

• Tener el conocimiento como utilizar las herramientas de automatización DevOps.


Que es DevOps?
¿Qué es DevOps?
• DevOps fue acuñado en 2009 por Patrick Debois, que se ha convertido desde entonces en uno de los gurús
dentro de la comunidad.

• DevOps (es una combinación de desarrollo y operaciones) es un método de desarrollo de software que enfatiza
la comunicación, la colaboración y la integración entre desarrolladores de software y profesionales de la
tecnología de la información.
• Permiten una rápida evolución de productos o servicios.
• Reducen el riesgo
• mejoran la calidad en toda la cartera
• reduce los costos
¿Qué es DevOps?

La integración de DevOps se centra en la entrega de productos, pruebas de calidad, desarrollo de características


y versiones de mantenimiento para mejorar la confiabilidad y la seguridad, y un desarrollo y ciclos de despliegue
más rápidos
La adopción de DevOps está impulsada por factores tales como:
• Uso de ágiles y otros procesos de desarrollo y metodologías
• Exigencia de una mayor tasa de liberaciones de producción por parte de las partes interesadas de las
aplicaciones y las empresas
• Amplia disponibilidad de infraestructura virtualizada y en la nube de proveedores internos y externos
• Mayor uso de las herramientas de automatización y gestión de la configuración del centro de datos
Entorno DevOps
Principios de DevOps

• Desarrollar y probar en un entorno similar a la producción

• Implementar construcciones con frecuencia

• Validar continuamente la calidad de la operación


Índices para medir el rendimiento
Los índices que muchas compañías tecnológicas utilizan para medir el rendimiento son la frecuencia de
despliegue y el tiempo de espera para los cambios, mientras que la estabilidad se mide por el tiempo medio de
recuperación frente a errores.

El primer índice está estrechamente relacionado con SCRUM que es un marco de desarrollo ISMD (Information
Systems Development Method)
• Adoptar una estrategia de desarrollo incremental,
• Basar la calidad del resultado más en el conocimiento tácito de las personas en equipos autoorganizados
• Solapamiento de las diferentes fases del desarrollo

El siguiente índice, que mide el tiempo de espera para los cambios, está correlacionado con técnicas de Lean.
• Estas técnicas incrementan la eficiencia productiva en todos los procesos eliminando funcionalidades
innecesarias, posibles retrasos en el desarrollo, requerimientos poco documentados o procesos lentos.
¿Por qué usar devops?

• Previsibilidad: DevOps ofrece una tasa de fallas significativamente menor de las nuevas versiones.

• Reproducibilidad: versión todo para que la versión anterior se pueda restaurar en cualquier momento.

• Mantenibilidad: proceso de recuperación sin esfuerzo en caso de que una nueva versión bloquee o deshabilite
el sistema actual.

• Tiempo de comercialización: DevOps reduce el tiempo de comercialización hasta en un 50% a través de la


entrega simplificada de software. Este es particularmente el caso de las aplicaciones digitales y móviles.
¿Por qué usar DevOps?
• Mayor calidad: DevOps ayuda al equipo a proporcionar una mejor calidad de desarrollo de aplicaciones, ya que
incorpora problemas de infraestructura.

• Riesgo reducido: DevOps incorpora aspectos de seguridad en el ciclo de vida de entrega del software. Ayuda
en la reducción de defectos a lo largo del ciclo de vida.

• Flexibilidad: el estado operacional del sistema de software es más estable, seguro y los cambios auditables.

• Eficiencia de costos: DevOps ofrece eficiencia de costos en el proceso de desarrollo de software, que siempre
es una aspiración de la administración de las empresas de TI.

• Rompe una base de código más grande en pedazos pequeños: DevOps se basa en el método de programación
ágil. Por lo tanto, permite dividir bases de código más grandes en fragmentos más pequeños y manejables.
Cuando adoptar DevOps
Cuando Si Cuando No

DevOps debe utilizarse para aplicaciones No se debe utilizar en una aplicación de misión
distribuidas de gran tamaño, como sitios de comercio crítica como banco, energía y otros sitios de datos
electrónico o aplicaciones alojadas en una plataforma confidenciales.
en la nube.
Tales aplicaciones necesitan controles de acceso
estrictos en el entorno de producción, una política de
gestión de cambios detallada, política de control de
acceso a los centros de datos.
Entrega continua e integración
continua.
La entrega continua se centra en hacer que el desarrollo de un producto esté siempre en un estado de entrega a
lo largo de su ciclo de vida. La implementación de la entrega continua significa crear múltiples bucles de
realimentación para asegurar que el software se entrega al cliente con mayor rapidez.
DevOps ciclo de vida
DevOps es una integración profunda entre desarrollo y
operaciones. Comprender DevOps no es posible sin conocer el
ciclo de vida de DevOps:

• Desarrollo
• Prueba
• Integración
• Despliegue
• Monitoreo
¿En qué se diferencia DevOps de
agile? Devops vs agile
DEVOPS VS AGILE
Desarrollo ágil: soluciona la brecha entre los requisitos del cliente y los equipos de comprobación de DEV +
Equipos interfuncionales para diseñar, desarrollar y probar las características / historias priorizadas por el Cliente:
se centra más en la preparación funcional y no funcional.

DevOps: Aborda la brecha entre las pruebas de desarrollo y las Ops, Gestión de versiones automatizada,
Se enfoca en la operación funcional y no funcional y la preparación comercial- Intensifica la reutilización y la
automatización.
Herramientas de automatización
DevOps
Es vital automatizar todos los procesos de prueba y configurarlos para lograr velocidad y agilidad. Este proceso se
conoce como automatización de DevOps.

La dificultad que enfrenta el gran equipo de DevOps que mantiene una gran infraestructura de TI enorme se
puede clasificar brevemente en seis categorías diferentes.

• Automatización de infraestructura
• Gestión de configuración
• Automatización de implementación
• Gestión del rendimiento
• Gestión de registro
• Supervisión
Automatización de Infraestructura
Amazon Web Services (AWS): al ser un servicio en la nube, no necesita estar físicamente presente en el
centro de datos. Además, son fáciles de escalar a pedido. No hay costos iniciales de hardware.

Gestión de configuración
Chef: es una herramienta DevOps útil para lograr velocidad, escala y consistencia. Se puede utilizar para facilitar
tareas complejas y realizar la gestión de la configuración. Con esta herramienta, el equipo de DevOps puede evitar
hacer cambios en diez mil servidores. En cambio, necesitan hacer cambios en un lugar que se refleja
automáticamente en otros servidores.
Automatización de implementación
Jenkins: esta herramienta facilita la integración y las pruebas continuas. Ayuda a integrar los cambios del proyecto
más fácilmente al encontrar problemas rápidamente tan pronto como se implementa una construcción.

Gestión de registro
Splunk: esta es una herramienta que resuelve los problemas como agregar, almacenar y analizar todos los
registros en un solo lugar.
Gestión del rendimiento
App Dynamic: es la herramienta DevOps que ofrece monitoreo de rendimiento en tiempo real. Los datos
recopilados por esta herramienta ayudan a los desarrolladores a depurar cuando ocurren problemas.

Supervisión

Nagios: también es importante asegurarse de que se notifique a las personas cuando la infraestructura y los
servicios relacionados disminuyan. Nagios es una de esas herramientas para este propósito que ayuda a los
equipos de DevOps a encontrar y corregir problemas.
Gracias!!