Descripción general de Devops

En la actualidad, en países extranjeros, gigantes de Internet como Google, Facebook, Amazon, LinkedIn, Netflix, Airbnb, empresas de software tradicionales como Adobe, IBM, Microsoft, SAP, etc., o empresas secundarias con negocios en línea como Apple , Walmart, Sony Pictures Entertainment y Starbucks. Todos están adoptando DevOps o proporcionando productos de soporte relacionados. Entonces, ¿qué es exactamente DevOps?

DevOps surge de la combinación de desarrollo y operaciones, enfatizando la comunicación y cooperación entre los desarrolladores de software y el personal de operación y mantenimiento, haciendo que la construcción, prueba y lanzamiento de software sea más rápido y frecuente a través de procesos automatizados, más confiables.

El concepto de DevOps se hizo popular en Europa en 2009. Nació de la dificultad de la operación y el mantenimiento del modelo tradicional.

DevOps pretende cerrar la brecha de información entre el lado de desarrollo y el lado de operación y mantenimiento y mejorar la relación de cooperación entre equipos. Pero lo que hay que dejar claro es que desde el desarrollo hasta la operación y el mantenimiento, también existe un vínculo de prueba en el medio. DevOps en realidad consta de tres partes: desarrollo, pruebas y operación y mantenimiento.

En otras palabras, lo que DevOps espera hacer es abrir la cadena de herramientas de TI durante la entrega de productos de software, permitiendo a varios equipos reducir la pérdida de tiempo y trabajar juntos de manera más eficiente. Los expertos han resumido el siguiente mapa de capacidades de DevOps. Un buen circuito cerrado puede mejorar enormemente el resultado general.

De lo anterior, creo que todos tienen cierta comprensión de DevOps. Pero además de tocar la cadena de herramientas, DevOps como metodología cultural y técnica también requiere cambios en la cultura organizacional de la empresa. Si analizamos el modelo de I+D de la industria del software, podemos encontrar que existen aproximadamente tres etapas: desarrollo en cascada, desarrollo ágil y DevOps.

DevOps se propuso hace ya nueve años, pero ¿por qué recién ha comenzado a recibir cada vez más atención y tiempo empresarial en los últimos dos años? Debido a que el desarrollo de DevOps no es un bosque, ahora hay cada vez más soporte técnico. Los conceptos de arquitectura de microservicios y tecnología de contenedores facilitan la implementación de DevOps. A medida que mejora la potencia informática y se desarrollan los entornos de nube, los productos desarrollados rápidamente están ampliamente disponibles en poco tiempo.

El ritmo del cambio en el mundo actual es diferente al del pasado. Cada revolución tecnológica disruptiva trae cambios profundos al mundo. Las tecnologías emergentes como big data, computación en la nube, inteligencia artificial, VR/AR y blockchain están impulsando cambios en el mundo. ¿Cómo afrontar una era VUCA para que podamos responder rápidamente cuando cambie el entorno?

En algunos lugares, cité un dicho famoso del sabio Wang Yangming. Abogó por la "unidad de conocimiento y acción". En términos sencillos, significa combinar teoría y práctica al hacer las cosas. También debemos seguir el enfoque de "combinación de teoría y práctica" al implementar DevOps. La teoría es la ideología rectora de nuestro trabajo y la práctica es el método específico de hacer las cosas. A continuación, comentaré cómo combino la teoría con la práctica para facilitar la implementación de DevOps en mi empresa.

En primer lugar, todavía tenemos que volver a lo que es DevOps. Si lo olvida, puede regresar y revisarlo, incluida la fórmula DevOps que resumí.

De hecho, la idea central de DevOps es: "entregar valor rápidamente y responder de manera flexible a los cambios". Los principios básicos son los siguientes:

Uno de los beneficios de DevOps es que se puede implementar de manera eficiente, que es exactamente su intención original. Puppet and DevOps Research and Assessment (Dora) patrocinó el Informe de la encuesta DevOps 2016. Según las estadísticas presentadas por 4.600 trabajadores técnicos de empresas globales de TI, se concluye que las empresas eficientes pueden completar un promedio de 1.460 implementaciones por año. En comparación con las organizaciones ineficientes, las organizaciones eficientes implementan 200 veces más frecuentemente, ponen en uso los productos 2555 veces más rápido y restauran los servicios 24 veces más rápido. En términos de asignación de tiempo para el contenido del trabajo, las personas con baja eficiencia dedican un 22% más de tiempo a planificar o repetir el trabajo, mientras que las personas con alta eficiencia pueden dedicar un 29% más de tiempo a trabajos nuevos. Por lo tanto, aquí la alta eficiencia se refiere no solo a la mejora de la eficiencia de producción de la empresa, sino también a la mejora de la calidad del trabajo de los empleados.

Otro beneficio de DevOps es que mejorará la cultura organizacional de la empresa y potenciará la participación de los empleados. Los empleados se vuelven más eficientes, más satisfechos y más exitosos; las encuestas muestran que los empleados eficientes tienen puntuaciones netas de promoción de empleados (ENPS), lo que significa que se identifican más con la empresa.

La implementación rápida puede ayudar a que los problemas se descubran más rápido, el producto se pueda entregar a los usuarios más rápido y el equipo pueda obtener comentarios de los usuarios más rápido y, por lo tanto, responder más rápido. Además, los cambios provocados por DevOps en pequeños pasos son relativamente pequeños. Cada vez que ocurre un problema, la desviación no será demasiado grande y es relativamente fácil de reparar.

Por eso es un prejuicio pensar que velocidad significa peligro. Además, es posible que los lanzamientos retrasados ​​de servicios de software no eviten completamente los problemas. En la cada vez más competitiva industria de TI, es posible que se pierdan oportunidades de lanzamiento de software.

Con el desarrollo de la tecnología, DevOps tiene más cooperación. Aunque todos eran conscientes de este problema al principio, en ese momento sufrían la falta de herramientas técnicas completas y ricas. Se trataba de una situación en la que "el ideal es muy pleno, pero la realidad es muy flaca". La implementación de DevOps puede basarse en tecnologías de contenedores emergentes; también puede ampliarse después de las herramientas de operación y mantenimiento automatizadas Puppet, SaltStack y Ansible; también puede construirse en proveedores de PaaS tradicionales como Cloud Foundry y OpenShift;

La industria de TI se ha vinculado cada vez más al desarrollo económico del mercado, y los expertos creen que tendrá un centro de soporte y se convertirá en un centro impulsado por las ganancias. De hecho, este cambio ya ha comenzado, no sólo en grandes empresas como Google y Apple, sino también en industrias tradicionales, como Uber en el negocio del taxi, Airbnb en la industria de las cadenas hoteleras, la distribuidora de libros Amazon, etc. Hoy en día es muy importante si las soluciones de soporte de TI de la empresa pueden mantenerse al día con la demanda del mercado de manera oportuna.

El Informe Anual de DevOps 2016 proporciona la fórmula de cálculo de los costes de operación y mantenimiento:

Para los ingenieros, también son los beneficiarios de DevOps. El ingeniero senior de Microsoft, Scott Hanselman, dijo: "La herramienta más poderosa para los desarrolladores es la automatización". La apertura de la cadena de herramientas permite a los desarrolladores completar la construcción, prueba y ejecución del entorno de producción al entregar software, como dijo el vicepresidente y director de tecnología de Amazon, Werner Weigel: "Quien desarrolla y opera". (Usted lo construye, lo ejecuta)

Como se mencionó anteriormente, la cadena de herramientas está abierta y, naturalmente, las herramientas deben estar preparadas. Los tipos de herramientas y las correspondientes listas incompletas ahora se organizan de la siguiente manera:

En la selección de herramientas, es necesario combinar las necesidades comerciales y el equipo técnico de la empresa. (Nota: para obtener más detalles sobre la herramienta, consulte este artículo: 51 #Mejores herramientas devo PS para ingenieros de Devops).

Ya sea que DevOps tenga éxito o no, la clave es que la organización de la empresa sea propicia para la colaboración. Los desarrolladores y el personal de operación y mantenimiento pueden comunicarse bien y aprender unos de otros, siendo así altamente productivos. También existe colaboración entre empresarios y desarrolladores. Participó en el lanzamiento de DevOps de ITV en 2012, y Clark, su director general de plataforma, fue entrevistado por InfoQ en la Cumbre Enterprise DevOps de Londres de 2016. Cuando se trata de éxito, dijo que los empresarios saben exactamente lo que quieren lograr en términos de un producto mínimo viable, por lo que los ingenieros entregan lo que se necesita y no hacen trabajo adicional. De esta manera, los ingenieros pueden lograr una mayor coherencia y mayor calidad mediante el uso de una plataforma común (es decir, una cadena de herramientas). Además, DevOps también ha aumentado los requisitos para los ingenieros individuales y muchos expertos también creen que reclutar talentos excelentes también es un desafío.

DevOps está creciendo, especialmente entre las grandes empresas: una encuesta revela que la adopción de DevOps ha aumentado significativamente. El 74% de los encuestados ha adoptado DevOps, en comparación con el 66% del año pasado. Actualmente, el 81% de las grandes empresas han comenzado a aceptar DevOps, mientras que la tasa de aceptación de las pequeñas y medianas empresas es sólo del 70%.

Entonces, ¿específicamente algunas empresas están adoptando DevOps? Adobe, Amazon, Apple, Airbnb, Ebay, Etsy, Facebook, LinkedIn, Netflix, NASA, Starbucks, Target (sistema paneuropeo de compensación totalmente automatizado en tiempo real), Walmart, Sony, etc.

En primer lugar, las grandes empresas están adoptando DevOps desde abajo hacia arriba, con unidades o departamentos de negocios (365, 438+0%) y proyectos y equipos (29%) que ya implementan DevOps. Sin embargo, sólo el 21% de las grandes empresas han adoptado DevOps en toda la empresa.

En segundo lugar, a nivel de herramientas, el uso de herramientas DevOps ha aumentado significativamente. Chef y Puppet siguen siendo las herramientas DevOps más utilizadas, con una tasa de uso del 32%. Docker es la herramienta con la tasa de crecimiento anual más rápida, con un uso que se duplica con creces. El uso de Ansible también ha aumentado significativamente, duplicándose del 10% al 20%.

La encuesta también encontró que menos de la mitad (43%) de las empresas utilizan herramientas de configuración como Chef, Puppet, Ansible o Salt. Sin embargo, es más probable que las empresas que utilizan herramientas de configuración utilicen varias herramientas simultáneamente. El 25% de los encuestados utiliza dos o más herramientas de configuración y el 18% utiliza solo una herramienta. Chef y Puppet son la combinación más común: el 67% de las organizaciones que usan Chef también usan Puppet y, de manera similar, el 67% de las organizaciones que usan Puppet también usan Chef.

/s/WDS5NO3AcWxpwyIJKWlOEA