He trabajado en tecnología a lo largo de mi carrera y he visto madurar y evolucionar el espacio de desarrollo de software a través de una serie de metodologías y creo que puedo explicar qué es Devops.
La mayoría de estas ideas son mejoras de productividad de sentido común que provienen de diferentes sectores.
Hace unos años, se trataba de pasar del modelo de desarrollo de “cascada” a métodos más ágiles y lean.
Recientemente me uní a una compañía con visión de futuro que está adoptando DevOps.
Estaba pensando qué es Devops y qué significa realmente para aquella organización.
Esa organización ha adoptado una metodología ágil y proporciona la estructura para llevar los beneficios al negocio en general.
Hagamos que la programación sea divertida otra vez …
DevOps es una nueva palabra de moda en los círculos informáticos.
Abarca muchas ideas de sentido común sobre la integración entre negocios y tecnología y proporciona la narrativa para unir el desarrollo, la entrega y las operaciones.
DevOps es la práctica de los ingenieros de operaciones y desarrollo que participan juntos durante todo el ciclo de vida del servicio, desde el proceso de diseño y desarrollo hasta el soporte de producción.
Reemplaza la configuración tradicional del silo donde tiene un equipo que escribe el código, otro equipo para probarlo, otro equipo para implementarlo e incluso otro equipo que aún debe operarlo.
Se caracteriza por que el personal de operaciones utiliza muchas de las mismas técnicas que los desarrolladores para el trabajo de sus sistemas.
En DevOps, la ingeniería de sistemas funciona como un flujo de trabajo de desarrollo.
Todos los activos se registran en el control de origen y tienen pruebas asociadas con ellos.
Tenemos varios temas centrales de DevOps: valores, principios, métodos, prácticas y herramientas. Así vamos a entender qué es Devops y qué significa realmente.
Valores
Los ingenieros están centrados en la solución por naturaleza, y eso a menudo puede convertirse en negatividad sobre las nuevas tecnologías o evitar intentos de probar cosas nuevas.
Abrazar verdaderamente el pensamiento de DevOps es reconocer y superar estas tentaciones.
Ninguna tecnología, ni siquiera Docker, Kubernetes o Amazon Web Services, resolverá sus problemas si no se entiende la propuesta de valor.
Principles
En Devops tenemos un conjunto de principios se basa en las tres formas.
Este modelo fue desarrollado por Gene Kim, autor de “Visible Ops” y “The Phoenix Project”, y Mike Orzen, autor de “Lean IT”.
Alentamos a construir un entorno que fomente el pensamiento sistémico, amplificando bucles de retroalimentación y una cultura de Experimentación y aprendizaje continuo.
Siempre seguimos pensando en todo el sistema.
Pregúntese, ¿cómo puedo construir más bucles de retroalimentación? El monitoreo, las métricas y el registro son tres ciclos de retroalimentación que devuelven las operaciones al diseño.
El exitoso entorno DevOps fomentará procesos que pueden crear circuitos de retroalimentación cortos y efectivos, como el sistema de control de incidentes, el análisis posterior sin culpa y la transparencia …
Prácticas
Todas las organizaciones de TI con las que he trabajado han abordado proyectos con la filosofía de, hagamos algo … luego pongamos a otra persona a cargo de probarlo y desplegarlo.
Esto no suele funcionar para planificar.
Los plazos escapan y una vez que el equipo de desarrollo pasa al siguiente proyecto, resulta imposible resolver problemas operativos.
Lo que defendemos en DevOps es mantener a los desarrolladores informados sobre el servicio que crearon y tomar posesión de las operaciones.
Esto crea ciclos de retroalimentación más eficientes, lo que permite a los equipos de desarrollo responder mucho más rápido no solo a los errores, sino también a las nuevas características y garantizar que se desarrolle el producto adecuado.
Herramientas
Permiten a los ingenieros codificar, construir, probar, empaquetar, liberar, configurar y monitorear sistemas y aplicaciones.
Somos expertos en herramientas y hemos visto todo el espectro de lo que la comunidad de código abierto y los vendedores comerciales tienen para ofrecer.
Antes del auge de DevOps, la innovación y las herramientas se habían estancado.
Había estado usando el mismo conjunto de herramientas que cuando comencé como desarrollador en 2000.
Muchas herramientas habilitadas para DevOps son impresionantes en términos de las capacidades que aportan al ciclo de vida del servicio.
Es necesario definir una cadena de herramientas DevOps robusta.
No hay una sola herramienta que haga todo, necesitará una serie de herramientas que se pueden componer en una cadena de herramientas para satisfacer sus necesidades.
Y desea que todos trabajen juntos … una herramienta solo es útil en la medida en que sea compatible con todo su sistema.
Debe seleccionar herramientas que se adapten bien a otras personas en la cadena de herramientas.
Debe poder realizar su trabajo de manera automatizada.
Debería poder llamarlo e invocarlo desde una API o la línea de comandos.
En general, las herramientas manejadas por UI son una mala elección y no se sientan bien en una cadena de herramientas integrada; desea que la herramienta sea verificable.
Herramientas no sólo son lo qué es Devops y lo qué significa realmente.
Para finalizar…
Bájate una imagen de Docker y empieza a experimentar.
Usa el código de otra persona y simplemente comienza a construirlo.
Haga grupo de servidores usando Kubernetes. Estás haciendo DevOps.
Comience en su propia computadora y luego en la nube.
Cuando las personas escuchan por primera vez acerca de la infraestructura como código o entrega continua, la primera respuesta es siempre, no es así como hacemos las cosas aquí.
Para tener éxito con DevOps, debe comenzar en alguna parte con estas técnicas, no son difíciles.
Durante muchos años, el consejo que se le ha dado a la industria ha sido completamente opuesto a lo que los pioneros de DevOps han encontrado que funcionan.
Espero hablar dado un poco de luz a qué es Devops y qué significa realmente para aquella organización.