DEV Community

Matthews34dev
Matthews34dev

Posted on • Updated on

DevOps

DevOps es un término usado ampliamente hoy en dia en el desarrollo de software.

DevOps Developers + Operations

Andrew Shafer y Patrick Debois, crearon Agile System Administration, o Administración de Sistemas Agiles, y desde varias convenciones aparecieron los DevOpsDay desde 2009, a partir de hay aparecen muchas tecnicas, herramientas y teorias de devOps.

Ventajas de DevOps:

  1. Mejorar la frecuencia
  2. La calidad del despliegue
  3. La entrega continua y el despliegue continuo
  4. Captar los errores tempranamente
  5. Mejorar el "time to market" o nuestro tiempo de salida al mercado.
  6. Capturar y corregir rápidamente errores
  7. Realizar correciones en un tiempo corto

Toyota Production System
viene del sistema: Los 5 porque?

Porque las 5 primeras fallas de un producto, llegando a la raiz del problema.
Poder encontrar el verdadero problema que hay que solucionar.

Los 7 desperdicios:

  1. Retrasos tiempos de espera
  2. Producir mas de lo necesario
  3. Sobreprocesar o realizar tareas sin valor anadido.
  4. Transporte de producto
  5. Movimiento innecesarios de operarios
  6. Inventario
  7. Reducción de defectos

5S:

  1. Seiri (Organizar)
  2. Seiton (Ordenación del puesto)
  3. Seiso (Limpieza)
  4. Seiketsu (Estandarizacion)
  5. Shitsuke (Disciplina)

Kaizen (Mejora continua)

Compilar, testear e integrar

Herramientas de testin:
Bamboo
GitLab
Travis CI

Test Unitarios:
Son los que sirven para comprobar el funcionamiento de un solo metodo o función que al alimentarlo con datos devuelve el resultado esperado.

Test de aceptación:
Testean la aplicación completa para verificar a un alto nivel que funcionan como esta designado en la documentación de las historias de usuarios.

Test de integración:
verifican que la aplicación que hemos programado se comunica de manera correcta con todos los servicios externos a los que debe conectarse para cumplir su cometido.

Test de rendimiento:
Monitorizar los cambios de rendimiento de nuestro "software" durante los flujos de test nos podria evitar disgustos.

Despliegue de bajo risgo:
Politica de despliegue, Automatizar el proceso de testing y el de despliegue

  1. Empaquetado del codigo
  2. Creacion de los contenedores o maquinas virtuales
  3. Instalacion de todos los paquetes
  4. Subida de los paquetes a los servidores
  5. El inicio de los servicios de la aplicación
  6. Inserción de contrasenas y ficheros de configuración
  7. Ejecución de test directos contra la aplicación

Despliegues de autoservicios:
Los Desarrolladores crearan sus propios entornos de test bajo demanda y solo con un clic, puedan desplegar todo este código directamente a producción.
Los desarrolladores utilizando la automatización y configuración necesaria desplegada por Operaciones, deben de ser capaces de responsabilizarse con transparencia de su código y con un clic poder lanzarlo al entorno que deseen, sin tickets ni burocracia.

Monitoriza:

Top comments (0)