Ir al contenido principal

Introducción a DevOps.

¿Qué es DevOps?

DevOps es un acrónimo inglés de development -desarrollo- y operations -operaciones- se refiere a un movimiento cultural y profesional centrado en la comunicación, colaboración e integración entre los desarrolladores de software y los profesionales en las operaciones de IT.

El término surgió por primera vez en la conferencia Agile 2008 Toronto en una charla sobre «Infraestructura Ágil«, donde Yhens Wasna y Patrick Debois hablaron de los malentendidos que surgían entre los equipos de desarrollo y sistemas que retrasaban la entrega de los proyectos. A partir de 2009 el término se popularizó debido a la celebración de los DevOps days en Bélgica, que luego se han replicado en varias ciudades del mundo.


Ciclo de vida

El ciclo de vida iterativo en DevOps consta de los siguientes etapas o fases:

  1. Build: En esta fase de DevOps, el desarrollo de software se lleva a cabo constantemente. dividiendo, todo el proceso de desarrollo en pequeños ciclos. Esto beneficia al equipo de DevOps para acelerar el desarrollo de software y el proceso de entrega.
  2. Test: El equipo de QA usa herramientas para identificar y corregir errores en el nuevo código de manera continua.
  3. Release: En esta fase, la nueva funcionalidad se integra con el código existente y se llevan a cabo las pruebas. El desarrollo continuo sólo es posible debido a la integración y las pruebas continuas.
  4. Deploy: En esta etapa, el proceso de implementación tiene lugar continuamente. Se realiza de tal manera que cualquier cambio realizado en cualquier momento en el código, no debe afectar el funcionamiento del sitio web de alto tráfico.
  5. Operate: En esta fase, el equipo de operación se encargará del comportamiento inadecuado del sistema o de los errores que se encuentran en la producción trabajando siempre sobre un sistema sólido y estable.
  6. Monitor: Esta última etapa de un proceso DevOps, es una fase permanente y que se aplica a todo el ciclo completo. Aquí el equipo de operación se encargará de definir las medidas para monitorizar y controlar el estado de salud de las aplicaciones y su infraestructura.

2

Comentarios

Entradas más populares de este blog

MONITOREO DE SOFTWARE

  MONITOREO DE SOFTWARE Un buen sistema de monitorización es indispensable para optimizar la administración de sistemas IT y ganar en eficiencia. Todos los datos que se guardan en los sistemas de monitorización y logs son realmente importantes tanto para predecir problemas como para ser proactivos. La monitorización permite anticiparse con datos para detectar debilidades y cuellos de botella, mejorar servicios y, por supuesto, evitar y solucionar cualquier problema —incluso antes de que llegue a manifestarse. Disponer de las herramientas adecuadas para monitorizar es tan importante como establecer los procedimientos a seguir y decidir los KPIs (métricas) que hay que controlar. Todo proceso de monitorización y administración de sistemas IT comienza por un estudio previo de las necesidades; que puede ir acompañado, en caso de necesidad, de una auditoría de sistemas y de seguridad. Si la plataforma es nueva, se definirá la arquitectura de sistemas ideal para cada proyecto específico; ...

Preparación del entorno para desarrollo e integración continua

  Entorno de desarrollo Es el lugar dónde programamos, lo más habitual es que esté localizado en la propia máquina de cada desarrollador de forma que varias personas pueden estar trabajando en un mismo proyecto a la vez sin molestarse. Para minimizar incidencias en etapas posteriores es recomendable que este entorno disponga de un software y una configuración lo más parecida posible a la que nos encontraremos en el entorno de producción. Situaciones como desarrollar sobre php 7.2 y que el entorno de producción se encuentre corriendo php 5.6 o hacerlo sobre windows con el driver «x» de sql server y que el servidor de producción sea una máquina linux con el driver «y» suelen acabar generando muchos quebraderos de cabeza fácilmente evitables. Solo cuando el desarrollador completa un código perfectamente funcional e integrable en el entorno de pre-producción y tras realizar las pruebas necesarias para asegurar que el software desarrollado tiene la estabilidad suficiente  se podrá ...

¿QUÉ ES AUTOMATIZACIÓN?

  ¿QUÉ ES AUTOMATIZACIÓN? Las empresas de desarrollo de software buscan la manera de entregar sus productos o mejoras de estos de una forma ágil y fiable a sus clientes. Para lograr este objetivo necesitan automatizar este proceso de entrega o despliegue, es decir, incluir los mecanismos y herramientas necesarias para realizar el despliegue sin la intervención humana.  Implementar herramientas de automatización dentro del proceso de desarrollo de software permite agilizar la entrega de un producto de software al reducir el tiempo invertido en el desarrollo de este. La integración continua, la entrega continua y el despliegue continuo proporcionan un modelo informático automatizado que permite distribuir las aplicaciones de manera más rápida, eficiente y segura.  Ventajas de la automatización en sistemas  La automatización en el desarrollo de software proporciona una serie de beneficios entre los que podemos destacar las siguientes:  Reduce el tiempo necesario pa...