Diferencia entre revisiones de «DevOps»

De Wikipedia, la enciclopedia libre
Contenido eliminado Contenido añadido
Sin resumen de edición
Línea 35: Línea 35:


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.<ref>{{Cita noticia|título=We Need More Agile IT Now!|url=http://www.drdobbs.com/architecture-and-design/we-need-more-agile-it-now/240169361?queryText=Release+management|fechaacceso=3 de noviembre de 2017|periódico=Dr. Dobb's}}</ref>
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.<ref>{{Cita noticia|título=We Need More Agile IT Now!|url=http://www.drdobbs.com/architecture-and-design/we-need-more-agile-it-now/240169361?queryText=Release+management|fechaacceso=3 de noviembre de 2017|periódico=Dr. Dobb's}}</ref>

=== [[ArchOps]] ===
ArchOps es una extension de DevOps que incrementa el nivel de abstracción al priorizar los artefactos de [[arquitectura de software]] por encima del código fuente para el despliegue y operación de soluciones de software <ref>{{cite journal |last1=Castellanos |first1=Camilo |last2=Correal |first2=Dario |date=15 September 2018|title=Executing Architectural Models for Big Data Analytics |url=https://link.springer.com/chapter/10.1007/978-3-030-00761-4_24 |journal=Lecture Notes in Computer Science |volume=11048 |issue= |pages=364-371 |doi=10.1007/978-3-030-00761-4_24 |access-date= }}</ref>. ArchOps establece que los modelos de arquitectura son entidades de primera clase dentro del desarrollo, despliegue y operación de soluciones de software.




=== [[DataOps]] ===
=== [[DataOps]] ===

Revisión del 14:54 16 nov 2018

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

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

En la conferencia Agile 2008 Toronto, Yhens Wasna 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

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

Agile

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

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]

ArchOps

ArchOps es una extension de DevOps que incrementa el nivel de abstracción al priorizar los artefactos de arquitectura de software por encima del código fuente para el despliegue y operación de soluciones de software [22]​. ArchOps establece que los modelos de arquitectura son entidades de primera clase dentro del desarrollo, despliegue y operación de soluciones de software.


DataOps

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.[23]​ 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.[24]

Objetivos

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.[25]​ 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.[26]

Microservicios

Este tipo de enfoque permite a las empresas digitales brindar alta disponibilidad y estabilidad a sus aplicaciones; esto se debe a que todas las partes de las aplicaciones (base de datos, back-end, frontend, etc.) son independientes y, si una de ellas falla, no implica que toda la aplicación se caiga, en lugar de eso, las otras partes continuarán trabajando en mientras tanto, se restaura el componente afectado.[27]​ Los ingenios DevOps requieren de microservicios para optimizar sus desarrollos, y dejar atrás arquitecturas monolíticas.

Véase también

Referencias

  1. Loukides, Mike (7 de junio de 2012). «What is DevOps?». O'Reilly Radar (en inglés estadounidense). Consultado el 2 de noviembre de 2017. 
  2. «The Rise of DevOps». www.somic.org (en inglés estadounidense). Consultado el 2 de noviembre de 2017. 
  3. «DevOps Culture (Part 1) - IT Revolution». IT Revolution (en inglés estadounidense). 1 de mayo de 2012. Consultado el 2 de noviembre de 2017. 
  4. «DevOps mixing dev, ops, agile, cloud, open source and business — 451 CAOS Theory». blogs.the451group.com. Archivado desde el original el 14 de septiembre de 2015. Consultado el 2 de noviembre de 2017. 
  5. Debois, Patrick. «Agile 2008 Toronto: Agile Infrastructure and Operations Presentation». www.jedi.be. Consultado el 3 de noviembre de 2017. 
  6. «Devopsdays Ghent 2009». www.devopsdays.org. Consultado el 3 de noviembre de 2017. 
  7. «DevOpsDays». www.devopsdays.org (en inglés estadounidense). Consultado el 3 de noviembre de 2017. 
  8. «Surprise! Broad Agreement on the Definition of DevOps - DevOps.com». DevOps.com (en inglés estadounidense). 13 de mayo de 2015. Consultado el 3 de noviembre de 2017. 
  9. «Book sources» |url= incorrecta con autorreferencia (ayuda). Wikipedia (en inglés). Consultado el 3 de noviembre de 2017. 
  10. «DevOps Must Also Mean OpsDev - DevOps.com». DevOps.com (en inglés estadounidense). 27 de octubre de 2015. Consultado el 3 de noviembre de 2017. 
  11. Weinberger, Matt. «Microsoft study finds everybody wants DevOps but culture is a challenge». Computerworld (en inglés). Consultado el 3 de noviembre de 2017. 
  12. «Why DevOps Doesn’t Work for Enterprise Applications - DZone DevOps». dzone.com (en inglés). Consultado el 3 de noviembre de 2017. 
  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 3 de noviembre de 2017. 
  15. «Exploring the ENTIRE DevOps Toolchain for (Cloud) Teams». InfoQ. Consultado el 3 de noviembre de 2017. 
  16. «DevOps Stack on a Shoestring Budget - DevOps.com». DevOps.com (en inglés estadounidense). 5 de febrero de 2016. Consultado el 3 de noviembre de 2017. 
  17. «Stronger DevOps Culture with Puppet and Vagrant». Puppet (en inglés). Consultado el 3 de noviembre de 2017. 
  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 3 de noviembre de 2017. 
  20. «The Relationship Between Dev-Ops And Continuous Delivery: A Conversation With Jez Humble Of ThoughtWorks». Forrester (en inglés estadounidense). 9 de septiembre de 2011. Consultado el 3 de noviembre de 2017. 
  21. «We Need More Agile IT Now!». Dr. Dobb's. Consultado el 3 de noviembre de 2017. 
  22. Castellanos, Camilo; Correal, Dario (15 September 2018). «Executing Architectural Models for Big Data Analytics». Lecture Notes in Computer Science 11048: 364-371. doi:10.1007/978-3-030-00761-4_24. 
  23. «From DevOps to DataOps, By Andy Palmer - Tamr Inc.». Tamr Inc. (en inglés estadounidense). 7 de mayo de 2015. Consultado el 3 de noviembre de 2017. 
  24. DataKitchen (15 de marzo de 2017). «How to Become a Rising Star with Data Analytics». data-ops. Consultado el 3 de noviembre de 2017. 
  25. «New Relic: What is DevOps - Explained». New Relic (en inglés). Consultado el 3 de noviembre de 2017. 
  26. «Agile Infrastructure». InfoQ. Consultado el 3 de noviembre de 2017. 
  27. «How to explain DevOps Benefits to your Boss (2018 Edition) | Clickittech». www.clickittech.com (en inglés estadounidense). Consultado el 9 de agosto de 2018. 

Enlaces externos