DevOps

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda

DevOps (acrónimo inglés de development -desarrollo- y operations -operaciones-) es una práctica de ingeniería de software que tiene como objetivo unificar el desarrollo de software (Dev) y la operación del software (Ops). La principal característica del movimiento DevOps es defender enérgicamente la automatización y el monitoreo en todos los pasos de la construcción del software, desde la integración, las pruebas, la liberación hasta la implementación y la administración de la infraestructura. DevOps apunta a ciclos de desarrollo más cortos, mayor frecuencia de implementación, lanzamientos más confiables, en estrecha alineación con los objetivos comerciales.[1][2][3][4]

Definiciones e Historia[editar]

Ilustración que muestra DevOps como la intersección de desarrollo, operaciones de tecnología y calidad (QA)

En la conferencia Agile 2008 Toronto, Andrew Shafer y Patrick Debois introdujeron el término en su charla sobre "Infraestructura Ágil"[5]​. A partir de 2009, el término DevOps se ha promocionado constantemente y se ha incorporado a un uso más general a través de una serie de "devopsdays"[6]​, que comenzaron en Bélgica y ahora también se han extendido a otros países[7]​.

El término DevOps ha sido utilizado en múltiples contextos diferentes[8]​.

Una definición propuesta por Bass, Weber y Zhu es:

DevOps es un conjunto de prácticas destinadas a reducir el tiempo entre el compromiso de un cambio en un sistema y el cambio que se coloca en la producción normal, al tiempo que garantiza una alta calidad.[9]

En los últimos años, también han evolucionado iniciativas de DevOps más tangenciales, como OpsDev[10]​, WinOps[11]​, y BizDevOps[12]​.

Herramientas DevOps[editar]

Como DevOps pretende ser un modo de trabajo interfuncional, en lugar de una sola herramienta de DevOps existen conjuntos (o "toolchains") de múltiples herramientas[13]​. Se espera que tales herramientas de DevOps encajen en una o más de estas categorías, que reflejen los aspectos clave del proceso de desarrollo y entrega[14][15]​:

  1. Código: desarrollo y revisión de código, herramientas de administración de código fuente, fusión de código
  2. Construcción: herramientas de integración continua, estado de compilación
  3. Prueba: herramientas de prueba continuas que brindan retroalimentación sobre los riesgos comerciales
  4. Paquete: repositorio de artefactos, distribución previa a la implementación de la aplicación
  5. Lanzamiento - gestión de cambios, aprobaciones de versiones, automatización de versiones
  6. Configurar - configuración y gestión de la infraestructura, Infraestructura como código
  7. Monitor: monitoreo del rendimiento de las aplicaciones, experiencia del usuario final

Algunas categorías son más esenciales en una cadena de herramientas DevOps que otras; especialmente la integración continua (por ejemplo, Jenkins) y la infraestructura como código (por ejemplo, Puppet)[16][17]​.

Relación y otros enfoques[editar]

Agile[editar]

La necesidad de DevOps surgió del creciente éxito del desarrollo de software ágil, ya que eso llevó a que las organizaciones quieran lanzar su software más rápido y con mayor frecuencia. A medida que trataban de superar la tensión que esto suponía para sus procesos de gestión de versiones, debían adoptar patrones como la automatización del lanzamiento de aplicaciones, las herramientas de integración continua y la entrega continua.[18]

Entrega Continua[editar]

La entrega continua y DevOps tienen objetivos comunes y a menudo se usan en conjunto, pero hay diferencias sutiles[19][20]​.

Si bien la entrega continua se centra en la automatización de los procesos de entrega de software, DevOps también se centra en el cambio de la organización para admitir una gran colaboración entre las muchas funciones involucradas[19]​.

DevOps y la entrega continua comparten una base común en métodos ágiles y pensamiento delgado: cambios pequeños y frecuentes con valor focalizado para el cliente final[21]​.

DataOps[editar]

La aplicación de entrega continua y DevOps para el análisis de datos se ha denominado DataOps. DataOps busca integrar ingeniería de datos, integración de datos, calidad de datos, seguridad de datos y privacidad de datos con operaciones[22]​. Aplica principios de DevOps, desarrollo ágil y el control estadístico del proceso, utilizado en la fabricación ajustada, para mejorar el tiempo de ciclo de extracción de valor del análisis de datos[23]​.

Objetivos[editar]

Los objetivos de DevOps abarcan todo el proceso de entrega. Incluyen:

  • Frecuencia de despliegue mejorada;
  • Llegada al mercado más rápida;
  • Baja tasa de errores de nuevas versiones;
  • Tiempo de entrega más corto entre parches;
  • Tiempo de recuperación más rápido (en caso de que una nueva versión falle).

Los procesos simples se vuelven cada vez más programables y dinámicos, utilizando un enfoque DevOps[24]​. DevOps tiene como objetivo maximizar la previsibilidad, eficiencia, seguridad y mantenimiento de los procesos operativos. Muy a menudo, la automatización apoya este objetivo.

La integración de DevOps se enfoca en la entrega de productos, pruebas continuas, pruebas de calidad, desarrollo de características y versiones de mantenimiento para mejorar la confiabilidad y la seguridad y proporcionar ciclos de desarrollo e implementación más rápidos. Muchas de las ideas (y personas) involucradas en DevOps provienen de la administración de sistemas empresariales y los movimientos ágiles de desarrollo de software[25]​.

Véase también[editar]

Referencias[editar]

  1. Loukides, Mike (2012-06-07). «What is DevOps?». O'Reilly Radar (en inglés estadounidense). Consultado el 2017-11-02. 
  2. «The Rise of DevOps». www.somic.org (en inglés estadounidense). Consultado el 2017-11-02. 
  3. «DevOps Culture (Part 1) - IT Revolution». IT Revolution (en inglés estadounidense). 2012-05-01. Consultado el 2017-11-02. 
  4. «DevOps mixing dev, ops, agile, cloud, open source and business — 451 CAOS Theory». blogs.the451group.com. Consultado el 2017-11-02. 
  5. Debois, Patrick. «Agile 2008 Toronto: Agile Infrastructure and Operations Presentation». www.jedi.be. Consultado el 2017-11-03. 
  6. «Devopsdays Ghent 2009». www.devopsdays.org. Consultado el 2017-11-03. 
  7. «DevOpsDays». www.devopsdays.org (en inglés estadounidense). Consultado el 2017-11-03. 
  8. «Surprise! Broad Agreement on the Definition of DevOps - DevOps.com». DevOps.com (en inglés estadounidense). 2015-05-13. Consultado el 2017-11-03. 
  9. «Book sources» |url= incorrecta con autorreferencia (ayuda). Wikipedia (en inglés). Consultado el 2017-11-03. 
  10. «DevOps Must Also Mean OpsDev - DevOps.com». DevOps.com (en inglés estadounidense). 2015-10-27. Consultado el 2017-11-03. 
  11. Weinberger, Matt. «Microsoft study finds everybody wants DevOps but culture is a challenge». Computerworld (en inglés). Consultado el 2017-11-03. 
  12. «Why DevOps Doesn’t Work for Enterprise Applications - DZone DevOps». dzone.com (en inglés). Consultado el 2017-11-03. 
  13. Gartner Market Trends: DevOps – Not a Market, but Tool-Centric Philosophy That supports a Continuous Delivery Value Chain (Report). Gartner. 18 February 2015.
  14. dev2ops. «Integrating DevOps tools into a Service Delivery Platform (VIDEO) - dev2ops». dev2ops (en inglés estadounidense). Consultado el 2017-11-03. 
  15. «Exploring the ENTIRE DevOps Toolchain for (Cloud) Teams». InfoQ. Consultado el 2017-11-03. 
  16. «DevOps Stack on a Shoestring Budget - DevOps.com». DevOps.com (en inglés estadounidense). 2016-02-05. Consultado el 2017-11-03. 
  17. «Stronger DevOps Culture with Puppet and Vagrant». Puppet (en inglés). Consultado el 2017-11-03. 
  18. Best Practices in Change, Configuration and Release Management (Report). Gartner. 14 July 2010.
  19. a b «Book sources» |url= incorrecta con autorreferencia (ayuda). Wikipedia (en inglés). Consultado el 2017-11-03. 
  20. «The Relationship Between Dev-Ops And Continuous Delivery: A Conversation With Jez Humble Of ThoughtWorks». Forrester (en inglés estadounidense). 2011-09-09. Consultado el 2017-11-03. 
  21. «We Need More Agile IT Now!». Dr. Dobb's. Consultado el 2017-11-03. 
  22. «From DevOps to DataOps, By Andy Palmer - Tamr Inc.». Tamr Inc. (en inglés estadounidense). 2015-05-07. Consultado el 2017-11-03. 
  23. DataKitchen (2017-03-15). «How to Become a Rising Star with Data Analytics». data-ops. Consultado el 2017-11-03. 
  24. «New Relic: What is DevOps - Explained». New Relic (en inglés). Consultado el 2017-11-03. 
  25. «Agile Infrastructure». InfoQ. Consultado el 2017-11-03. 

Enlaces externos[editar]