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:
- Mejorar la frecuencia
- La calidad del despliegue
- La entrega continua y el despliegue continuo
- Captar los errores tempranamente
- Mejorar el "time to market" o nuestro tiempo de salida al mercado.
- Capturar y corregir rápidamente errores
- 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:
- Retrasos tiempos de espera
- Producir mas de lo necesario
- Sobreprocesar o realizar tareas sin valor anadido.
- Transporte de producto
- Movimiento innecesarios de operarios
- Inventario
- Reducción de defectos
5S:
- Seiri (Organizar)
- Seiton (Ordenación del puesto)
- Seiso (Limpieza)
- Seiketsu (Estandarizacion)
- 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
- Empaquetado del codigo
- Creacion de los contenedores o maquinas virtuales
- Instalacion de todos los paquetes
- Subida de los paquetes a los servidores
- El inicio de los servicios de la aplicación
- Inserción de contrasenas y ficheros de configuración
- 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)