Repensando DevOps: ¿De qué se trata?

Desde que comencé a trabajar con diversas aplicaciones web en Linux Handbook y Alto en Cloud el término DevOps me ha llamado la atención muchas veces ya que es algo que cubrimos específicamente en el Manual de Linux.

Hemos cubierto tutoriales sobre muchas herramientas relacionadas con DevOps, pero nunca hemos tratado de explorar el concepto real en profundidad. Dado que el Manual de Linux está dedicado a Servidores Linux también necesitamos explorar su importante papel en el campo DevOps.

Pero antes de hacerlo, es esencial comprender qué es realmente DevOps. DevOps es una palabra de moda extremadamente popular y encontrará múltiples definiciones en la web. Pero basado en mis propias experiencias, he llegado a la siguiente definición concluyente y pensamientos a partir de ahora. Este es un intento de revisar las normas DevOps existentes y repensarlas en la forma de un nuevo modelo que propongo aquí.

¿Qué es DevOps?

DevOps es un proceso de simplificación continua para mantener un delicado equilibrio entre la funcionalidad, la usabilidad y la seguridad de una aplicación, tanto en términos de su desarrollador fuga y en eración s .

¿Cómo asegurar eso?

Garantizar que una aplicación evolucione de manera eficiente y, al mismo tiempo, operativa es un desafío continuo para los ingenieros de DevOps. Para hacer eso, los componentes más fundamentales de DevOps deben monitorearse continuamente.

Ciclo de vida de desarrollo de aplicaciones (ADLC)

¿Creando una nueva aplicación? ¡Empiezas aquí!

El ciclo de vida del desarrollo de aplicaciones es la motivación fundamental detrás del desarrollo de cualquier aplicación. A menos que el proceso de desarrollo no se controle cuidadosa y consistentemente, no puede estar absolutamente seguro de su desarrollo impecable. Una aplicación siempre estará bajo ADLC hasta que esté lista para producción.

ADLC es esencial Ingeniería de software principio que consta de seis etapas esenciales. El desarrollo de una aplicación implica los siguientes pasos:

  1. Plan conceptual : Dar forma a la idea central detrás de la aplicación.
  2. Programación : Aquí es cuando se crea y desarrolla la aplicación.
  3. Documentación : Una aplicación excelente es inútil sin una documentación cuidadosa (legible por humanos).
  4. Pruebas para el aseguramiento de la calidad : Asegurarse de que el producto final sea funcional, usable y seguro.
  5. depuración : Se corrigieron los errores informados durante las pruebas.
  6. Lanzamiento de desarrollo : Se lanza la primera versión de la aplicación.

Hasta que ya menos que haya una versión estable disponible, este ciclo seguirá existiendo. Una vez que un software se lanza como una versión estable lista para producción, ya no se incluye en ADLC. Eventualmente cae bajo el Ciclo de vida de desarrollo del sistema (SDLC).

Ciclo de vida de desarrollo del sistema (SDLC)

Una parte de nuestra comunidad DevOps podría decir que tanto ADLC como SDLC son lo mismo. Pero en el escenario del mundo real, lo que veo es que ADLC y SDLC son bastante diferentes.

El ciclo de vida del desarrollo del sistema es la motivación fundamental detrás del desarrollo y la operación de una aplicación. Implica el desarrollo continuo de la aplicación después de su primera versión estable y asegura su operatividad continua.

  1. Plan conceptual : Revisando la idea central detrás de la aplicación.
  2. Programación : Esto es cuando la aplicación se desarrolla aún más.
  3. Documentación : Actualización continua de documentación legible por humanos.
  4. Prueba de nuevos lanzamientos para la calidad : Asegurarse de que el nuevo producto final sea funcional, utilizable y seguro.
  5. depuración : Se corrigieron los errores informados durante las pruebas.
  6. Lanzamiento de desarrollo : para una nueva aplicación (en cuanto a la versión o como la propia aplicación), una versión de desarrollo evoluciona hacia su primera versión estable en esta etapa.
  7. Lanzamiento estable : La última versión estable se lanza como un producto con correcciones relacionadas con errores/seguridad junto con nuevas funciones.
  8. Despliegue : El producto estable se implementa en los servidores.
  9. Mantenimiento y Monitoreo : Monitoreo constante y periódico de los servidores y las aplicaciones que se ejecutan en ellos.

Un modelo abierto impulsado por la comunidad siempre tendrá el mantenimiento más fluido. El último paso del ciclo solo se puede lograr verdaderamente con un modelo de código abierto. Es el mayor factor decisivo en términos de la evolución de cualquier aplicación.

Una aplicación que aún no tiene una versión estable no se puede considerar completa. Tan pronto como una aplicación está completamente construida, ADLC evoluciona a SDLC. ¿Por qué?

  • ADLC es puramente un desarrollador modelo de fuga
  • SDLC es a la vez un desarrollador fuga y en eración s Modelo

¿Entiendes mi punto ahora? Bajo ADLC, una aplicación no está lista para la producción, por lo que aún estaría en desarrollo barebone. Por lo tanto, no podemos llamarlo DevOps. Solo cuando sale la primera versión estable, evoluciona a SDLC, que es DevOps, porque una aplicación lista para la producción estará continuamente operativa en adelante.

Como es evidente por las dos abreviaturas y el diagrama anterior, una aplicación es muy diferente de un sistema completo. Una aplicación no es más que una parte de un proceso sistémico completo. Esto es lo que diferencia a SDLC de ADLC. Entonces, ADLC es en realidad un subconjunto de SDLC.

SDLC debe ser impulsado continuamente por nosotros como comunidad, teniendo en cuenta el delicado equilibrio entre funcionalidad, usabilidad y seguridad.

Presentamos el nuevo Triángulo DevOps

Este diagrama nunca es el mismo porque SDLC nunca es estacionario. Es SDLC que está siendo continuamente pivotado dentro del triángulo por la comunidad en función de los comentarios continuos de los desarrolladores, probadores y usuarios.

Dicho proceso pivotante cambia constantemente de acuerdo con los requisitos de la aplicación que se está implementando. Este modelo en constante cambio en el mundo real es el proceso de DevOps.

La ubicación del SDLC dentro del triángulo siempre variará de una aplicación a otra. La ubicación dinámica depende en realidad de la naturaleza de la aplicación que se está implementando mientras se desarrolla con un close ojo en:

Funcionalidad : La función principal de la aplicación. Para examplela posibilidad de enviar mensajes a través de Cohete.Chat .

usabilidad : La facilidad de uso de la aplicación. Para examplecuán convenientemente puede enviar mensajes a través de Rocket.Chat.

Seguridad : Grado de seguridad de la aplicación. Para exampleuna corrección de errores que soluciona una vulnerabilidad de Rocket.Chat como Éste .

Una comunidad diversa que respalda una aplicación de código abierto debe mantener siempre un delicado equilibrio entre funcionalidad, usabilidad y seguridad.

Pero, ¿cómo en realidad?

Humildad en el lugar de trabajo: máxima precisión en el pivote

Al final del día, los desarrolladores, usuarios y evaluadores son todos humanos. Ya sea local o virtual, las culturas y los lugares de trabajo de DevOps deben adoptar la idea simple de la compasión. ¡Un lugar de trabajo que practica la amabilidad entre los compañeros de trabajo está destinado a mejorar la productividad tanto de ADLC como de SDLC!

No se trata solo de aplicaciones web, también se trata de personas. Ellos son los que están continuamente creándolos, desplegándolos y manteniéndolos. De eso se trata la comunidad y es por eso que DevOps también es una cultura. La cultura de DevOps abarca la gestión no solo de una aplicación web, sino también de las personas que la hacen realidad.

Un Enfoque de código abierto hace que todo este proceso sea mucho más factible que uno patentado. Esto es lo que he sentido al trabajar con este sistema colectivo de personas, prácticas y tecnología .

Espero continuar compartiendo mis pensamientos en este género a través de una serie de artículos a seguir. Lo que siento es que, ya sea una empresa pequeña, mediana o grande, DevOps es aplicable en todas partes, pero en forma de modelos personificados.

Esto es solo una pequeña parte de lo que estoy ansioso por explorar a través de esta serie. Por favor comparte tus pensamientos en la sección de comentarios. ¡Gracias por visitar el Manual de Linux!

Related Posts