He hecho / creado muchas presentaciones relacionadas con SCM, y ahora estoy tratando de "actualizar" a un sucesor de DevOps.
Lo que siempre trato de hacer en mis presentaciones es crear una diapositiva de introducción que de alguna manera incluya el mensaje que quiero entregar (y que luego detallo en el resto de mi presentación). Al hacerlo, trato de responder mi propia pregunta como "¿Cuáles serían las frases de 1 a 3 que quisiera usar si tuviera de 10 a 20 segundos (¡solo!) Para explicárselo a alguien nuevo en él? * ".
Pensé que sabía lo que DevOps realmente significa, y de qué se trata. Pero he visto algunos usos / contextos extraños de DevOps (incluso en DevOps.SE ...). Me hace preguntarme si quizás lo que creo que es DevOps es completamente incorrecto.
Entonces, ¿cuál es generalmente la definición de DevOps?
fuente
Respuestas:
DevOps en pocas palabras
De Wikipedia :
De la descripción general :
Si bien no existe una única "herramienta" para DevOps, sino un conjunto de herramientas, también conocido como una cadena de herramientas DevOps :
Ilustraciones de DevOps
A continuación hay algunas citas de algunas de las preguntas sobre DevOps.SE , que parecen encajar / confirmar de alguna manera parte de la descripción de DevOps anterior:
De ' ¿Cuál es la diferencia entre SRE y DevOps? ':
De (una respuesta a) ' ¿Cómo contrato a un buen DevOps que se ajuste a mi empresa? ':
De ' ¿Mi organización necesita adoptar Agile Soft? Dev. antes de adoptar DevOps? ':
DevOps NO es un rol
A continuación hay algunas citas de algunas de las preguntas en DevOps.SE , que parecen ilustrar que DevOps NO es un rol:
De (una respuesta a) ' ¿Cuál es la diferencia entre Sysadmin y DevOps Engineer? ':
De (una respuesta a) ' ¿Cómo contrato a un buen DevOps que se ajuste a mi empresa? ':
fuente
He practicado y asesorado en DevOps como consultor con diferentes clientes durante casi cinco años, antes de ocupar mi puesto actual, desempeñaba funciones en desarrollo de software, operaciones web y administración de sistemas. En mi experiencia personal , DevOps viene en muchos sabores.
Patrones de organización
Antipatrones DevOps:
NoOps y NoDevs : no estrictamente DevOps en el sentido más estricto, sin embargo, estos equipos construyen y operan software sin una línea divisoria entre Desarrollo y Operaciones. Los desafíos con estos equipos se reducen a la madurez, los equipos de desarrollo pueden ser desarrolladores de software expertos pero operadores novatos y viceversa.
El puente DevOps : aquí es donde uno o más equipos tienen la responsabilidad de tomar el trabajo de los equipos de desarrollo y " Producirlo " para hacerlo operativo. El desafío se reduce a que ahora hay dos transferencias, es decir, Desarrollo → DevOps y DevOps → Operaciones.
El equipo de DevOps : podría decirse que esto puede funcionar si el equipo tiene la responsabilidad de crear herramientas que admitan el modelo operativo habilitado para DevOps; sin embargo, probablemente debería llamarse "Equipo de herramientas" o "Equipo de plataforma".
Patrones de DevOps:
DevOps integrado : más comúnmente conocido como Ingeniería de plataforma, por lo que hay alguien dentro del equipo que es responsable pero no responsable de entregar automatización, herramientas e infraestructura para el aprovisionamiento y la implementación de la solución, a veces también incluyendo el funcionamiento del software, en mi opinión. , este último es realmente representativo de DevOps.
DevOps institucionalizado : donde un equipo de proyecto es responsable conjuntamente del desarrollo y la operación de un paquete de software que crea propiedad compartida y circuitos de retroalimentación positiva.
Practicas
La práctica real de DevOps se basa en varias otras prácticas, a saber:
Cada una de las prácticas anteriores se basa en la otra, es posible no seguir una práctica, sin embargo, significa que falta un ciclo de retroalimentación importante que puede ser indicativo de una "oportunidad perdida". El diferenciador clave entre seguir cualquiera de las otras prácticas y DevOps es la operación del software en producción .
Las tres formas
En The Phoenix Project, Gene Kim y sus coautores describen las tres formas de DevOps :
Pensamiento sistémico
En mi experiencia, comenzar a lograr que los Desarrolladores consideren las preocupaciones operativas y los requisitos no funcionales logra este objetivo. Esto forma parte de los aspectos culturales de DevOps.
Amplificación de bucles de retroalimentación
En general, esto lo logro a través de la Integración / Entrega / Implementación Continua y el monitoreo y alertas compartidos, por lo que encaja perfectamente con el componente de herramientas de DevOps.
Cultura de experimentación continua y aprendizaje
Esto encaja mucho en el espacio cultural , aunque depende en gran medida de las herramientas y el proceso para permitir que la cultura crezca.
fuente
He escuchado muchas, muchas definiciones diferentes de DevOps. Incluyen:
No hay consenso público sobre lo DevOps en realidad es . Hace unos años tuvimos problemas similares con "Agile", y eso tiene una definición escrita .
Al presentar sus conceptos a un recién llegado, me enfocaría en presentar los conceptos, en lugar de aplicar una etiqueta, o terminarán escuchando definiciones contradictorias y confundidos. Por ejemplo, si está tratando de hablar de infraestructura como código , dígales que está hablando de infraestructura como código. Cuanto más específico pueda ser, mejor, ya que incluso con definiciones acordadas, la mayoría de las empresas se centran más en ciertas partes de una filosofía.
fuente
La definición que siempre uso en esta situación es la siguiente:
“Una cultura de creación de software que enfatiza la comunicación y la colaboración entre los equipos de desarrollo y operaciones de software mientras automatiza el proceso de entrega de software y los cambios de infraestructura. El objetivo de DevOps es hacer que el proceso de creación, prueba e implementación de software sea lo más frecuente, rápido y posible ".
Sin embargo, junto con la definición, también es importante que entiendan POR QUÉ necesitamos DevOps. Asegúrese de decirles que DevOps mitiga los defectos de software más rápido, permite una mejor gestión de recursos, menos errores humanos, un mejor control de versiones, un entorno operativo estable, etc.
fuente
En el siguiente trabajo de investigación científica para explorar exactamente esta pregunta, "¿Qué es DevOps", la definición derivada propuesta de DevOps es:
[Jabbari et al.] "¿Qué es DevOps ?: Un estudio de mapeo sistemático sobre definiciones y prácticas" (2016)
fuente
Devops es la práctica de desarrollo de escribir aplicaciones cuyo dominio comercial son las operaciones. Donde la mayoría del desarrollo de aplicaciones se enfoca en la creación de aplicaciones que financian la atención médica o la logística o videos de gatos, devops se enfoca en aplicaciones que permiten compilaciones, implementaciones, monitoreo y recopilación de métricas.
El objetivo primordial siempre debe ser permitir a los tomadores de decisiones convertirse en tomadores de decisiones . Imagine la aplicación móvil de su banco. Cuando solicita una transferencia, ocurre cuando presiona el botón. Usted tomó una decisión, luego tomó la decisión. Lo mismo con tus operaciones. Cuando la persona apropiada decide que algún trabajo está listo para desplegarse en la producción, debería poder presionar un botón y "Las cosas correctas suceden". Del mismo modo, deben tener toda la información necesaria que necesitan para tomar decisiones comerciales correctas.
No se trata de dar a los empresarios acceso de shell a los servidores; ese es un propósito confuso con la implementación. Se trata de proporcionar las perillas y palancas correctas con la información correcta y las barandillas correctas a las personas adecuadas para que los tomadores de decisiones tomen las decisiones.
fuente
whose business domain is operations
: ¿Es posible ampliar esto o dar algunos ejemplos?