¿De qué se trata DevOps? Construyamos un concepto claro.
DevOps es un modo de abordar la cultura, la automatización y el diseño de las plataformas para generar mayor valor empresarial y capacidad de respuesta, mediante la prestación ágil de servicios de alta calidad.
Todo ello es posible gracias a la prestación rápida y constante de servicios de IT.
Para DevOps se necesita vincular las aplicaciones heredadas con las aplicaciones creadas en la nube y las infraestructuras más nuevas.
Entonces podemos afirmar que DevOps integra:
- Apps e Infra On Premise
- Apps nativas de la nube
- Infra Nativa de la nube
- Arquitecturas Cloud Native
¿Pero qué es DevOps?
El término «DevOps» es una combinación de las palabras «Development» (desarrollo) y «Operations» (operaciones), esa suele ser la explicación clásica; pero, en realidad, representa un conjunto de ideas y prácticas que van más allá de ambos conceptos, ya sea que estén juntos o separados.
DevOps incluye sistemas de seguridad, maneras de trabajar en colaboración, análisis de datos, entre otras características.
¿Y cómo integra todo esto?
DevOps describe los enfoques para agilizar los procesos con los que una idea (como una nueva función de software, una solicitud de mejora o una corrección de errores) pasa del desarrollo a la implementación, en un entorno de producción en que puede generar valor para el usuario.
Estos enfoques requieren que los equipos de desarrollo y operaciones se comuniquen con frecuencia y aborden su trabajo con empatía hacia sus compañeros de equipo.
Guia Oficial de Devops – Puppet Labs
También es necesario contar con capacidad de ajuste y tener flexibilidad a la hora de preparar los sistemas. Con DevOps, es posible brindar una mayor potencia a aquellos que más la necesitan, gracias al autoservicio y la automatización.
Los desarrolladores, que generalmente realizan codificaciones en un entorno de desarrollo estándar, trabajan en estrecha colaboración con los equipos de operaciones de IT para agilizar el diseño, las pruebas y el lanzamiento de los sistemas de software, sin comprometer la confiabilidad.
Por supuesto, esto implica cambios más frecuentes en el código y el uso más dinámico de la infraestructura. Las estrategias tradicionales de gestión no logran satisfacer este aumento de la demanda.
Cultura de la organización y DevOps
DevOps depende de una cultura de colaboración, y esa colaboración es manifiesta en el Manifiesto Ágil.
En las comunidades open source, el enfoque predeterminado para la colaboración consiste en compartir información libremente. Esto puede ser útil a la hora de implementar cambios culturales, como promover la transparencia durante la toma de decisiones, eliminar el miedo a cometer errores para así impulsar las ganas de experimentar o implementar un sistema de recompensas que fomente la confianza y la colaboración.
El desarrollo de aplicaciones modernas requiere procesos diferentes a los enfoques del pasado. Muchos equipos utilizan enfoques ágiles para desarrollar sistemas de software.
Para ellos, DevOps no es algo secundario. De hecho, el primero de los 12 principios del Manifiesto Ágil es el siguiente: «Satisfacer a los clientes mediante la distribución de software continua y oportuna». Este es el motivo por el que la metodología de integración e implementación continuas (CI/CD) es tan importante para los equipos de DevOps.
Manifiesto Ágil
Pero no basta con cambiar los procesos operativos y de desarrollo. Necesitaremos aplicar el pensamiento sistémico para poder optimizar realmente la forma en que distribuye los sistemas de software.
Esto significa que DevOps generará cambios en las unidades de negocio que requieren el trabajo de los equipos de desarrollo y en los grupos que respaldan a los usuarios finales
La clave es un ciclo permanente de comentarios de los usuarios finales a la empresa.
Plataformas y herramientas
Poder seleccionar herramientas que respalden sus procesos es fundamental para el éxito de DevOps. Si sus operaciones intentan mantener el ritmo de los ciclos de desarrollo rápidos, necesitarán usar plataformas altamente flexibles y tratar su infraestructura como los equipos de desarrollo tratan el código. Las implementaciones manuales son lentas y dan lugar a errores.
La automatización permite simplificar la preparación y la implementación de las plataformas. La ingeniería de confiabilidad del sitio (SRE) utiliza los sistemas de software y la automatización para gestionar las tareas operativas que se realizan de forma manual.
Además, un enfoque de SRE puede respaldar aún más los objetivos del equipo de DevOps.
DevOps y Kubernetes
El enfoque de DevOps va de la mano con los contenedores de Linux®, que brindan a su equipo la tecnología subyacente necesaria para poder desarrollar aplicaciones en la nube. Los contenedores admiten un entorno unificado para el desarrollo, la distribución, la integración y la automatización.
Por otro lado, Kubernetes es la forma moderna de automatizar las operaciones de los contenedores de Linux, ya que le permite gestionar de manera sencilla y eficiente los clústeres que los ejecutan en todas las nubes públicas, privadas o híbridas.
Resumiendo: ¿Qué es DevOps y cómo serán los años venideros?
Resumiendo DevOps es…
La combinación de filosofías culturales, practicas y herramientas que incrementan la capacidad de una organización para entregar aplicaciones y servicios a una alta velocidad, evolucionando y mejorando productos a un ritmo más rápido que las organizaciones que utilizan procesos tradicionales de desarrollo de software y gestión de infraestructura.
DevOps – Gino Luciano Rojo.
Muy probablemente los años venideros nos encuentren con roles, herramientas y plataformas que apoyen las incipientes estrellas hoy de la practica de DevOps
DevSecOps y SRE, junto con los avances en materia de construir nativamente aplicaciones e infraestructura en la nube , de manera automatizada.
Espero les haya gustado este artículo, ¡nos vemos en la próxima publicación!
Gino.
- Crea tu Serie de Clusters con Google Kubernetes Engine en GCP – 11 septiembre, 2021
- Instalacion de Kubernetes (Local) en Linux- Paso a Paso – 11 agosto, 2021
- Series DevOps 101 – Herramientas de DevOps – Kubernetes 101 – Parte 1 – 22 julio, 2021
Deja una respuesta