Una guía de acción de aterrizaje de DevOps de lectura obligada para arquitectos de TI de modernización de aplicaciones empresariales

¿Quiere implementar DevOps pero no sabe cómo empezar? Este artículo lo llevará a través de un estudio en profundidad de los conceptos clave y las mejores prácticas de DevOps.


Los orígenes de DevOps

En general, se cree que el surgimiento de DevOps se debe a dos factores: la adopción generalizada de métodos de software ágiles y la forma en que se administran la infraestructura y el código de TI.

Veamos primero la metodología ágil de desarrollo de software. A finales del siglo XX, el método principal de desarrollo de software era el llamado modelo en cascada, que requería mucho tiempo y era adecuado para sistemas de información a gran escala que no requerían una entrega rápida del producto. productos de calidad y control de costos de grano fino.


En la década de 1990, con el desarrollo de Internet y la tecnología web, comenzaron a aparecer los efectos negativos del modelo en cascada: cómo satisfacer las necesidades cambiantes de los clientes y entregar a tiempo sin reducir la calidad del producto se ha vuelto extremadamente difícil.    


Por lo tanto, los métodos de gestión de TI también deben cambiar en consecuencia, pasando gradualmente de centrarse en los sistemas de TI a centrarse en el modo de gestión de los servicios de TI.


Desde el año 2000, estas prácticas de gestión emergentes se han convertido en las llamadas mejores prácticas después de haber sido adoptadas por proyectos pioneros, y algunas de las mejores prácticas han sido ampliamente aceptadas por la industria e incluso se han convertido en estándares.


Tomemos como ejemplo los servicios de TI: en la década de 1980, comenzó a surgir una idea de este tipo: la tecnología de la información proporciona valor en forma de servicios y organiza las actividades de TI en forma de procesos. Posteriormente, se elaboró ​​ITIL (Biblioteca de Infraestructura de TI), colocando estas prácticas en la lista de mejores prácticas, y se convirtió en el primer estándar de gestión de servicios de TI en 2002.


Hoy, la práctica emergente se denomina DevOps (desarrollo + operación y mantenimiento). De hecho, la connotación de DevOps ha superado con creces el significado original. Entonces, ¿qué es exactamente DevOps?

¿Qué es DevOps?

               
Con la aparición de nuevas formas de interactuar con los clientes y la aplicación completa de técnicas de desarrollo ágiles, la industria necesita urgentemente un nuevo enfoque para la gestión de TI. El surgimiento de la infraestructura como código respaldado por la virtualización y la tecnología de computación en la nube brinda oportunidades para el surgimiento de nuevos métodos de administración de TI, y DevOps, un nuevo método de administración de TI basado en la evolución del desarrollo de software ágil y la producción ajustada, surgió como lo requieren los tiempos.


DevOps es una evolución del desarrollo de software ágil y las ideas de manufactura esbelta, aplicadas a la cadena de valor de TI de extremo a extremo, gracias a los cambios culturales, organizacionales y tecnológicos, que permiten a las empresas alcanzar más expectativas y satisfacer a los usuarios más rápido a través de las necesidades comerciales modernas de tecnología de la información. y mejorar la utilización de los recursos.


Primero, DevOps es una evolución tanto del desarrollo de software ágil como de las prácticas lean, que absorbe, no reemplaza.


En segundo lugar, DevOps se aplica a la cadena de valor de TI de extremo a extremo, y su esencia es: DevOps considera no solo el desarrollo de software, sino toda la cadena de valor. Toda la cadena de valor comienza con nuevas ideas de las partes interesadas del negocio, a través del análisis de requisitos, el diseño, el desarrollo, las pruebas y la implementación, hasta la operación y el mantenimiento y, finalmente, la entrega a los clientes. Un enfoque de cadena de valor de extremo a extremo ayuda a analizar, identificar y eliminar los cuellos de botella de manera integral.

¿Por qué adoptar DevOps?

En primer lugar, la implementación de DevOps es una opción inevitable para que las empresas mejoren la capacidad y la eficiencia de producción, lo que puede mejorar en gran medida el tiempo de comercialización de nuevos productos o nuevas aplicaciones.


El lanzamiento de nuevos productos en las empresas tradicionales implica un lapso de tiempo considerable, para el departamento de TI que responde, este tiempo puede incluir los siguientes eslabones: construcción y redacción de propuestas de una o varias ideas de negocio, así como argumentos de negocio, evaluación y selección de un negocio idea para la implementación Implementación; planificación de las acciones requeridas para la implementación, obtención de fondos; preparación del personal y del proceso comercial; especificación simultánea de requisitos, desarrollo de prototipos, pruebas iniciales, desarrollo de sistemas de TI completos, pruebas a gran escala, lanzamiento e implementación; actividades de marketing simultáneas, preparación de mercado, Preparación de canales y herramientas de venta, lanzamiento de nuevos productos o servicios.


El proceso anterior llevaría varios años, pero la empresa quería reducirlo a meses. Las razones para adoptar DevOps son obvias.


Las empresas dinámicas que crean productos digitales están acostumbradas a moverse rápido. Prefieren los experimentos que son seguros para fallar sobre una planificación rigurosa y detallada. En este punto, el proceso podría ser más o menos así: establecer una hipótesis, desarrollar métodos de validación; realización real de la hipótesis; evaluación de resultados, pruebas A/B, comparación con objetivos; hacer ajustes basados ​​en el análisis, volver al paso 1 o 2.


Es fácil ver esto como un ciclo, con una duración esperada de varias semanas. Esta es la estrategia de correr pequeño y rápido. Estos pasos rápidos son necesarios porque la esencia de DevOps es el descubrimiento continuo. El estado final es incognoscible y no tiene sentido especificar planes a largo plazo.


Para minimizar el tiempo de comercialización, DevOps ofrece una variedad de técnicas: tamaño de lote reducido; número reducido de traspasos; identificación continua y eliminación de pérdidas; equipos autosuficientes, departamentos de TI tradicionales optimizados para costos, DevOps optimizados para velocidad; automatización.


En segundo lugar, la reducción de la deuda técnica también es una razón importante por la que las empresas adoptan DevOps. La deuda técnica se crea cuando los miembros del equipo eligen una forma no óptima de resolver un problema para reducir el tiempo de desarrollo. Este es un proceso natural. El problema es que las soluciones no óptimas acumuladas conducen al deterioro gradual del resultado del desarrollo, lo que inevitablemente conducirá a una disminución en la calidad del producto.


DevOps refactoriza continuamente el código del programa, otorga importancia a la experiencia adquirida en la operación, fomenta la identificación y eliminación continua de cuellos de botella y cree que estas tareas y la innovación tecnológica son tan importantes como el desarrollo de funciones de nuevos productos.


Al mismo tiempo, DevOps recomienda encarecidamente la práctica de "enfrentar los problemas con la mayor frecuencia posible" para evitar el "estancamiento" de los problemas, es decir, situaciones en las que todos los conocen pero nadie puede manejarlos.

Más allá de eso, la adopción de DevOps puede ayudar a las empresas a descartar la fragilidad. A menudo, los sistemas más críticos y relevantes para el negocio en una organización son los más vulnerables.

DevOps puede cambiar la vulnerabilidad de la manera más radical, hasta eliminarla por completo;

En DevOps, el código y el sistema en su conjunto son completamente funcionales en un momento determinado, y si el próximo cambio destruye el rendimiento, debe revertirse inmediatamente y el sistema continúa funcionando correctamente;

La práctica de DevOps, que intencionalmente introduce caos e inestabilidad en el entorno de producción, los sistemas de TI de destino deben reaccionar de manera independiente y rápida, detectar fallas y restaurar su funcionamiento normal, idealmente sin que los usuarios finales se den cuenta. Por supuesto, los datos no estar perdido

Malentendidos comunes de DevOps

Mito común 1: "DevOps es solo una continuación de la idea de Agile"

Antes de que las empresas implementen DevOps, primero deben dejar en claro que DevOps no es solo una parte de Agile.

·  Aunque DevOps se basa en gran medida en ágil, extiende el desarrollo ágil a la entrega de TI ágil general, cubriendo toda la organización, todo el proceso y la cadena de valor completa;

Cosechar las recompensas de DevOps requiere un cambio cultural más significativo en la empresa que lo que Agile ha hecho en el pasado

·  El conjunto de objetivos de DevOps no se limita a acelerar la entrega: también debe reducir la deuda técnica y eliminar la fragilidad.


Concepto erróneo común 2: "Las herramientas pueden brindarle lo último en DevOps"

En segundo lugar, debemos darnos cuenta de que DevOps es una serie de cambios en la cultura organizacional y el estilo de trabajo, no solo herramientas y automatización.

·  Si bien las soluciones de software individuales son ampliamente aceptadas, no hay ni puede haber una lista completa de software imprescindible de DevOps;

·  DevOps se basa en la disponibilidad y eficacia de las herramientas de automatización establecidas. Pero estrictamente hablando, el conjunto mínimo de estas herramientas se puede reducir a un sistema de control de versiones para almacenar todo el código fuente, los datos de configuración de la infraestructura de TI, el sistema de automatización de canalización de entrega de software;

·  Cualquier implementación específica de DevOps debe comenzar desde la organización de la propia empresa. Los proveedores comerciales profesionales pueden ayudar a las empresas a aclarar rápidamente el proceso y acelerar la realización de cambios organizacionales.


Concepto erróneo común 3: "DevOps es un soldado versátil que puede escribir código, realizar pruebas, implementar entornos y administrar la infraestructura"

Finalmente, debemos entender que DevOps no es una profesión nueva.

·  DevOps es un cambio profundo en los fundamentos del departamento de TI, que no se puede lograr contratando a algunos ingenieros de DevOps o invitando a expertos en DevOps;

La capacidad de implementar una canalización de entrega de software no garantiza el éxito

corto plazo, es poco probable que se ahorren costos de inmediato al aplicar la práctica de DevOps, pero a largo plazo, se está preparando para una mayor reducción de costos y un aumento de la eficiencia, por lo que es muy importante elegir un fabricante con una gran fortaleza técnica y rica práctica. experiencia

Si tiene más preguntas sobre la implementación de DevOps, contáctenos para explorar las mejores prácticas de DevOps.

Supongo que te gusta

Origin blog.csdn.net/alauda_andy/article/details/126490850
Recomendado
Clasificación