Documentos de Académico
Documentos de Profesional
Documentos de Cultura
• Cada proceso tiene al menos una restricción o cuello de botella que afecta su capacidad de cumplir de manera consistente con su objetivo.
• El proceso solo satisfará la capacidad de sus limitaciones y será tan exitoso como su eslabón más débil.
• Mejorar las restricciones es la forma más rápida y eficiente de mejorar todo el proceso o sistema
Certification página 1
• Asignar tiempo para mejorar el trabajo diario.
• Crear rituales que recompensen al equipo por asumir riesgos
• Introducir fallas en el sistema para aumentar la resiliencia.
Continuous Delivery
Testing
Integration,
Delivery,
Deployment
Site Realibility and Resilience Engieniering
DevSecOps
ChatOps
Kanban
Continuous Testing
• Es el proceso de ejecución de testing automatizados como parte de un deployment pipeline para obtener inmediato retroalimentación de
los riesgos asociados al negocio con un candidato de release software.
• Desplazarse a la izquierda se trata de incorporar calidad al proceso de desarrollo de software. Cuando se desplaza
hacia la izquierda, se producen menos interrupciones en la producción porque los problemas se detectan y resuelven antes. Al
incorporar calidad en el ciclo de desarrollo de software, los equipos de alto rendimiento dedican menos tiempo al trabajo no
planificado. También descubrimos que dedican menos tiempo a solucionar problemas y dedican más tiempo a trabajos nuevos y de valor
agregado.
Continuous Integration
• Continuous Integration es una practica de desarrollo que requiere desarrolladores confirmen el codigo en un repositorio compartido
(master/trunk o maestro/troncal) al menos diariamente.
• Cada check-in es validado por
Una compilación automatizada
Unidad automatizada, pruebas de integración y aceptación.
• Depende de estándares de codificación consistentes
• Requiere repositorios de control de versiones y servidores CI para recopilar, construir y probar el código comprometido juntos
• Se ejecuta en entornos similares a la producción.
• Permite la detección temprana y la corrección rápida de errores por cambios de código antes de pasar a producción
Si bien se asocia principalmente con el desarrollo de software ágil, los enfoques en cascada también pueden aprovechar la integración continua y
las prácticas de desarrollo basadas en pruebas.
Continuous Delivery
• Continouos Delivery es una metodología que se enfoca en asegurar que el software este siempre en un estado liberable a lo largo de su
ciclo de vida.
• Lleva la integración continua al siguiente nivel
• Proporciona rapidez y comentarios rápidos y automatizados sobre la preparación de producción de un sistema
• Prioriza mantener el software liberable / implementable sobre el trabajo en nuevas características
• Se basa en un deployment pipeline que permite implementaciones de botón a pedido
• Reduce el costo, el tiempo y el riesgo de entregar cambios incrementales.
Certification página 2
La integración continua es la práctica que permite el principio de entrega continua de valor en manos de
los usuarios
• "Qué sucede cuando un ingeniero de software tiene la tarea de lo que solía llamarse operaciones". Ben Treynor, Google.
• Los objetivos son crear sistemas de software ultra escalables y altamente confiables.
• 50% de su tiempo haciendo trabajo relacionado con "operaciones", tales como problemas, de guardia e intervención manual.
• 50% de su tiempo en tareas de desarrollo como nuevas características, escalado o automatización.
Resilience Engineering
La capacidad intrínseca de un sistema para ajustar su funcionamiento antes, durante o después de los cambios y perturbaciones, de modo que
pueda mantener las operaciones requeridas tanto en condiciones esperadas como inesperadas.
• La ingeniería de resiliencia analiza cómo funciona la organización en su conjunto
• La mejor defensa es un buen ataque
• Tome una visión agresiva, sin culpa y sistémica después del incidente
• Considere elementos humanos y técnicos
• Los sistemas deben ser más fuertes que su eslabón más débil.
DevSecOps
Certification página 3
DevSecOps
El propósito y la intención de DevSecOps es construir sobre la mentalidad de que "todos son responsables de la seguridad" con el objetivo de
distribuir de manera segura las decisiones de seguridad a velocidad y escala a aquellos que tienen el más alto nivel de contexto sin sacrificar la
seguridad requerida.
• Introduce la seguridad como código
• Adopta la estrategia de prueba de "desplazamiento a la izquierda"
• Aprovecha la automatización para resistencia, pruebas, detección y auditoría.
• Rompe la restricción de seguridad
ChatOps
Group chat client + chat bots = desarrollo, entrega y soporte impulsados por la conversación.
• La transparencia de ChatOps acorta los ciclos de retroalimentación, mejora el intercambio de información, mejora la colaboración en
equipo y permite la capacitación cruzada. También se puede usar para disminuir el MTTR.
Kanban
Kanban es un método de trabajo que impulsa el flujo de trabajo a través de un proceso a un ritmo manejable.
• Visualiza y gestiona el flujo de trabajo.
• Empuja el trabajo para los equipos cuando están listos para ello.
• Permite a las personas trabajar en colaboración para mejorar el flujo
• Mide la velocidad del equipo (cantidad de trabajo realizado en una iteración)
• Reduce el tiempo de inactividad y el desperdicio en un proceso.
• Hace visible el trabajo.
• Hace políticas explícitas.
• Limita el trabajo en progreso (WIP) a la capacidad.
• Agile
• ITSM
• Lean
• Safety Culture
• Learning Organizations
• Continuous Founding
AGILE
Los conceptos subyacentes del desarrollo de software ágil se presentaron por primera vez en el Manifiesto Ágil.
Si bien hay valor en los elementos de la derecha, valoramos más los elementos de la izquierda.
Certification página 4
• Ser medible
• Se consistente
• Estar orientado a resultados
• Sea reflexivo
SCRUM
Scrum es un marco simple para una colaboración efectiva en equipo en proyectos complejos. Scrum proporciona un pequeño conjunto de reglas
que crean una estructura "Just Enought" (lo suficiente) para que los equipos puedan centrar su innovación en la resolución de lo que de otro
modo sería un desafío insuperable.
Scrum es
- La práctica de desarrollo de software ágil más comúnmente aplicada
- Aparentemente simple pero difícil de dominar
- No es un proceso o una técnica para crear productos.
Roles
• Product Owner
• ScrumMaster
• Development Team
Artifacts
• Product Backlog
• Sprint Backlog
• Increment
Meetings
• The Sprint
• Sprint Planning
• Daily Scrum
• Sprint Review
• Sprint Retrospective
El Scaled Agile Framework (SAFe) es un marco probado y disponible públicamente para aplicar los principios y prácticas Lean-Agile a escala
empresarial.
Certification página 5
empresarial.
Increasing Agility
DevOps aumenta la agilidad al
• Romper silos
• Mejora de las restricciones.
• Adoptar un enfoque unificado para la ingeniería de sistemas.
• Aplicar principios ágiles tanto a Dev como a Ops.
• Compartir conocimientos, habilidades, experiencia y datos.
• Reconociendo la importancia de la automatización.
Cu• Implementación más rápida con menos errores.
DevOps extiende los principios ágiles más allá de los límites del software a todo el servicio entregado.
IT Services Management
“Creo firmemente que ITSM y el movimiento DevOps no están reñidos. Por el contrario, son una combinación cultural perfecta ".
La gestión de servicios de TI (ITSM) es la implementación y gestión de calidad de servicios de TI que satisfacen las necesidades del negocio.
• Proporciona orientación y estructura a procesos como Cambio, Configuración, Liberación, Gestión de incidentes y problemas.
• Los procesos ITSM apuntalan todo el ciclo de vida del servicio desde la estrategia, el diseño, la transición, las operaciones, la mejora
continua y la creación de valor.
• DevOps necesita prácticas de ITSM para cumplir con el objetivo de implementar cambios más rápidos sin causar interrupciones.
Los procesos de gestión de servicios repetibles, adaptados a las necesidades comerciales actuales de una organización, pueden abrir el camino
hacia una entrega continua estable y un mayor flujo.
ITIL 4 pone énfasis en el mundo de los negocios y la tecnología, cómo funciona hoy y cómo funcionará en el futuro con Agile, DevOps y la
transformación digital.
Certification página 6
ITIL 4 consitste en 2 componentes claves
4 Model Dimesiones
1. Organización y Personas
2. Información y Tecnología
3. Partners y Proveedores
4. Value Streams y Procesos
ITIL 4 define un servicio como un medio para permitir la creación conjunta de valor al facilitar los resultados que los clientes desean lograr, sin
que el cliente tenga que gestionar costos y riesgos específicos.
Agile Service Management (Agile SM Management) garantiza que los procesos de ITSM reflejen los valores de Agile y estén diseñados con un
control y una estructura "lo suficientemente justos" para brindar servicios de manera efectiva y eficiente que faciliten los resultados del cliente
cuando y cómo se necesiten.
• Adapta prácticas ágiles al diseño de procesos ITSM - Implementa la gestión de servicios en pequeños incrementos integrados
• Garantiza que los procesos ITSM reflejen valores ágiles desde el diseño inicial a través de CSI
• Fomenta procesos "mínimos viables" y "suficientes" para aumentar la velocidad y la conformidad
Leans Perspective
DevOps tiene sus raíces en el mundo de manufactura esbelta, que aborda el problema de los ingenieros que diseñan productos que las fábricas
no pueden permitirse construir.
Certification página 7
Lean IT aplica las ideas clave detrás de la producción ajustada al desarrollo y gestión de productos y servicios de TI.
Sources of Waste
El objetivo de Lean Thinking es crear más valor para los clientes con menos recursos y menos desperdicio. El desperdicio es cualquier actividad
que no agrega valor al proceso.
"Creo que la mayoría de los patrones de DevOps son las propiedades emergentes que surgen cuando se aplican las técnicas como Lean, el
Sistema de producción de Toyota, la Teoría de las restricciones, etc. al flujo de valor de TI".
Beneficios
• Puede exponer de forma segura sus API a miles de servicios de terceros
• Clientes más felices, mayores ingresos.
• Se escala fácilmente y de forma rentable
• Los sitios funcionan en el punto óptimo de rendimiento y costo
• Mejor productividad, polinización cruzada más rápida e intercambio de conocimientos.
Value Stream Mapping es una herramienta eficiente que representa el flujo de información, materiales y trabajo a través de silos funcionales con
énfasis en cuantificar el desperdicio, incluido el tiempo y la calidad.
• Un value stream es la secuencia de actividades necesarias para diseñar, producir y entregar un producto o servicio específico.
• Value Stream generalmente abarcan múltiples procesos
• Value Stream permite a los equipos multifuncionales
Certification página 8
• Value Stream permite a los equipos multifuncionales
- Vea un flujo de valor completo desde una perspectiva de flujo de trabajo e información
- Identifique áreas de desperdicio sin valor que podrían eliminarse en un esfuerzo por mejorar el flujo y entregar un mayor valor
- Identificar, priorizar y medir mejoras
Improvement Kata
El Improvement Kata es un proceso de cuatro pasos que se enfoca en aprender y mejorar el trabajo. Considera la visión o dirección a largo plazo
de la organización. Planificar> Hacer> Verificar> Actuar (PDCA)
Learning Organizations
Continuous Funding
• La financiación tradicional se realiza en ciclos anuales.
• La financiación ágil puede ser:
- Costo fijo o continuo
- Revisado con frecuencia
Certification página 9
- Revisado con frecuencia
• Financiación basada en productos / equipos.
• Financiamiento de riesgo (o basado en apuestas)
• Centrarse en medir el retorno
• Definiendo cultura
• Modelos de comportamiento
• Modelos organizacionales
• Componente de modelos operativos objetivo
Los valores y comportamientos que contribuyen al entorno social y psicológico único de una organización.
"No se puede cambiar directamente la cultura. Pero puedes cambiar el comportamiento, y el comportamiento se convierte en cultura ".
La deuda cultural se produce cuando se ignoran o difieren las consideraciones culturales en favor del crecimiento y la innovación.
La cultura del silo de TI y otros desafíos organizacionales son el resultado directo de ignorar las consideraciones culturales en favor de los rápidos
aumentos en la tecnología corporativa. ¡La fecha de vencimiento es hoy!
"La tasa de interés efectiva sobre la deuda cultural suele ser más alta que la deuda técnica".
La cultura organizacional es uno de los predictores más fuertes tanto del desempeño de TI como del desempeño general de la organización.
Certification página 10
El verdadero cambio cultural lleva tiempo. Debe ser incremental y realizarse a un ritmo realista.
Las organizaciones de alta confianza fomentan un buen flujo de información, colaboración interfuncional, responsabilidades compartidas,
aprendizaje de fallas y nuevas ideas.
Certification página 11
La adopción significa que una persona hace algo diferente que antes.
Communication is Critical
• Colaboración
-Es voluntario (idealmente)
• Implica compartir
- Responsabilidad por los resultados.
- Recursos
• Requiere cooperación, respeto y confianza
• Requiere participación
- Proveer retroalimentacion
- Identificación y resolución de problemas.
- Aprender y compartir conocimientos y experiencia.
- Compartir e incluso intercambiar responsabilidades
Certification página 12
- Compartir e incluso intercambiar responsabilidades
- Hacer y mantener compromisos realistas
Avoiding (Evitando)
Certification página 13
“Cuando pedimos permiso, nos dijeron que no, pero lo hicimos de todos modos porque sabíamos que teníamos que hacerlo. Realizamos
hackathons de herramientas junto con nuestros eventos internos DevOpsDays y organizamos un montón de reuniones. Hemos organizado 6
eventos internos DevOpsDays ".
Beneficios
• Realicé cambios estructurales ganando apoyo de abajo hacia arriba, luego de arriba hacia abajo
• Convergimos los esfuerzos ágiles y DevOps
• Capacitación, entrenamiento y experiencias inmersivas usadas: ¡Dojo masivo!
• Construyó un entorno de pila completa en minutos en lugar de 3-6 meses
• Creó empatía y comprensión
• CI/CD
• Infrastructure as Code
• Cloud
• Containers & Microservices
• Machine Learning
• DevOps Toolchains Component
"DevOps no se trata de automatización, así como la astronomía no se trata de telescopios". Christopher Little
https://xebialabs.com/periodic-table-of-devops-tools/
Automation Benefits
"Sus herramientas por sí solas no lo harán exitoso". Patrick Debois
Automatización soporta:
• Tiempos de entrega más rápidos
• Lanzamientos más frecuentes
• Lanzamientos menos turbulentos
• Menos errores
• Mejor calidad
• Mejora de la seguridad y la mitigación de riesgos.
• Recuperación más rápida
Certification página 14
• Recuperación más rápida
• Negocios y satisfacción del cliente.
Important Terms
• Artifacts
- Cualquier elemento en un proyecto de desarrollo de software incluyendo documentación, planes de prueba, imágenes, archivos de datos
y módulos ejecutables.
• Application Programming Interface (API)
- Un conjunto de protocolos utilizados para crear aplicaciones para un sistema operativo específico o como una interfaz entre módulos o
aplicaciones
• Microservices:
- Una arquitectura de software que se compone de módulos más pequeños que interactúan a través de API y se pueden actualizar sin
afectar a todo el sistema. Esto se conoce como acoplamiento flojo
•Operating System (OS) Virtualization
- Un método para dividir un servidor en múltiples particiones llamadas "contenedores" o "entornos virtuales" para evitar que las
aplicaciones interfieran entre sí
• Containers
- Una forma de empaquetar el software en paquetes livianos, independientes y ejecutables que incluyen todo lo necesario para ejecutarlo
(código, tiempo de ejecución, herramientas del sistema, bibliotecas del sistema, configuraciones) para el desarrollo, envío e
implementación.
• Open source
- Software que se distribuye con su código fuente para que las organizaciones de usuarios finales y los proveedores puedan modificarlo
para sus propios fines.
• Machine Learning
- Análisis de datos que utiliza algoritmos que aprenden de los datos.
Cloud Computing: la práctica de usar servidores remotos alojados en Internet para alojar aplicaciones en lugar de servidores locales en un centro
de datos privado.
Dockers es una herramienta diseñada para facilitar la creación, implementación y ejecución de aplicaciones mediante el uso de contenedores.
Los contenedores permiten a un desarrollador empaquetar una aplicación con todas las partes que necesita, como bibliotecas y otras
dependencias, y enviarla como un solo paquete
Kubernetes es un sistema de código abierto para administrar aplicaciones en contenedores en varios hosts, que proporciona mecanismos básicos
para la implementación, mantenimiento y escalado de aplicaciones
Certification página 15
Communication and Collaboration can be automated too
Las herramientas y plataformas innovadoras facilitan y agilizan las comunicaciones y la colaboración en todo el espectro Dev y Ops.
No subestime el esfuerzo y el costo de construir cadenas de herramientas a partir de aplicaciones de código abierto.
El código abierto es necesariamente gratuito. Significa que puede modificar la fuente para satisfacer sus necesidades.
Certification página 16
Case Story: Fanny Mae
Beneficios.
• Despliegue en 3 días reducido a 45 minutos.
• Desplegar 7 u 8 veces al día.
• 40%-75% de ahorro en costo de almacenamiento gracias a data virtualization.
DevOps ToolChains
"Una forma de permitir resultados orientados al mercado es que Operaciones cree un conjunto de plataformas y servicios de herramientas
centralizados que cualquier equipo de desarrollo pueda usar para ser más productivo ... una plataforma que proporciona un repositorio de
control de versiones compartido con bibliotecas de seguridad previamente bendecidas, un canalización de implementación que ejecuta
automáticamente herramientas de escaneo de seguridad y calidad de código, que implementa nuestras aplicaciones en entornos conocidos y
buenos que ya tienen instaladas herramientas de monitoreo de producción ".
DevOps Toolchains
Las Toolchain DevOps se compone de las herramientas necesarias para respaldar una integración continua, un despliegue continuo y una
iniciativa de lanzamiento y operaciones continuas.
La canalización de implementación es un proceso automatizado para administrar todos los cambios. La cadena de herramientas abarca silos y
automatiza la canalización de implementación.
¿Cómo deben interactuar las Toolchain de DevOps con las herramientas operativas como las aplicaciones de monitoreo o soporte?
El deployment pipeline es un proceso automatizado para administrar todos los cambios. La cadena de herramientas abarca silos y automatiza la
canalización de implementación.
Certification página 17
La forma en que estas herramientas se adaptan e integran en su implementación pipeline determinará su valor.
• Deployment pipeline divide el ciclo de vida de entrega del software en etapas lógicas.
• Cada etapa proporciona
○ La oportunidad de verificar y calificar nuevas características desde un ángulo diferente.
○ Proporciona al equipo retroalimentación rápida y
○ Cada etapa proporciona visibilidad en el flujo de cambios.
• Las DevOps Toolchains proporcionan las capacidades necesarias para automatizar y acelerar cada etapa.
Certification página 18
Evite crear más silos PIPELINE adoptando un enfoque de arquitectura empresarial: use valores predeterminados razonables
La importancia de Medir
DevOps Metricas
Speed, Throughput/Tempo
Qualiy
Stability
Culture
Change Lead /Cycle Times
Value Driven Metrics
Flow
La medición nos permite encontrar restricciones y justificar su eliminación y monitorear la mejora.
Feedback
La evidencia genera confianza y se gana el derecho de hacer más colocando las apuestas en experimentación
Continuous Exoerimentation & Learning
Las hipótesis necesitan resultados cuantificables para determinar la próxima experimentación.
Certification página 19
Si no puede medirlo, no puede mejorarlo. Peter Drucker.
Mostrar pruebas de que las prácticas de DevOps benefician a la organización requiere examinar factores que influyen en el rendimiento general
de TI.
Engagement and morale (Compromiso y Moral).
Lead Time
El tiempo total transcurrido desde el momento en que una historia de usuario ingresa al backlog, hasta el momento en que se completa, incluido
el tiempo dedicado a esperar en el backlog.
Cycle Time
El tiempo que tarda una historia en pasar de ser "En progreso" a "Done".
Certification página 20
• Entrega continua ha brindado:
○ 45% de reducción en time to market.
○ 10% de ahorro en su (muy considerable) presupuesto operativo.
DevOps Day
DevOps in the Enterprise
Roles
DevOps Leadership
Organizational Considerations
Gettings Started
Challenges, Risk and Critical Success Factors
Las oportunidades de inmersión están cada vez más disponibles en un esfuerzo por proporcionar a los equipos de DevOps acceso a entrenadores
de temas sobre temas como CI, CD, Lean y métodos de diseño.
Las simulaciones y gamificaciones de DevOps también están cada vez más disponibles.
Games, Hackaton, espacio de trabajo común, simulaciones y otras innovaciones están ayudando a fomentar el intercambio de herramientas,
conocimientos, descubrimientos y lecciones aprendidas.
Certification página 21
Algunas organizaciones están replicando el modelo DevOps Days como eventos internos.
DevOps Days ofrecen a los equipos y los individuos la oportunidad de aprender, compartir, discutir, participar y aportar información y
retroalimentación.
Si bien es más eficaz en una ubicación física, los días internos de DevOps Days se pueden realizar en un entorno virtual.
La expansión digital de los negocios significa más trabajo para combatir incendios.
Beneficios:
Roles
Addressing the DevOps Skill Gaps (Abordar las brechas de habilidades de DevOps)
El CIO de TOday está buscando trabajadores que puedan cambiar sobre marcha y adaptarse a la tecnología cambiante.
Certification página 22
Skill and characteristics of a DevOps Proffessional
En general, el conocimiento técnico incluye una comprensión de las prácticas DevOps, las prácticas modernas de ingeniería de software y las
arquitecturas modernas.
DevOps Roles
Actualmente no existe una descripción de trabajo 'reconocida en la industria' o una carrera profesional formal para un ingeniero de DevOps.
Al igual que con el concepto de un equipo DevOps, el título tiene sus ventajas y desventajas.
Certification página 23
• Quiere estar en un lugar de trabajo que promueva una cultura compartida.
DevOps Leadership
Transformational Leadership
El objetivo del liderazgo no es mandar, controlar, regañar, intimidar y evaluar a los trabajadores a través de un conjunto de métricas artificiales.
En cambio, el trabajo de los líderes es ayudar a las organizaciones a mejorar su autodiagnóstico, superación personal y asegurarse de que los
descubrimientos locales se puedan traducir y convertir en mejoras globales.
Courage (Valor)
Candor (Valentia)
Certification página 24
Candor (Valentia)
no blaming or witch-hunting.(sin culpar . Ni cazar brujas)
The blame bias of who versus what (El sesgo de culpa de quién versus qué)
Organizational considerations
Hay debate sobre los pros y los contras de los equipos de DevOps.
DevOps Teams
Certification página 25
Menos compromiso en el flujo de valor de TI
Riesgo de ser otro silo.
Dev y Ops se lavan las manos de la responsabilidad
Las actividades de DevOps se convierten en el problema de otra persona
Independientemente de la estructura, un equipo de DevOps debe ser plano, con un compromiso continuo y el equilibrio adecuado de personas,
prácticas y habilidades de automatización.
Es un viaje, no una bala de plata, y los líderes deben evitar quedar atrapados en la parálisis del análisis. Comience a hacer los cambios, obtenga
las victorias y deje que la organización evolucione.
Certification página 26
DevOps no es tu por qué, ni tus compañeros de trabajo por qué, ciertamente no es tu negocio, por qué
Certification página 27
• Documente y ponga a disposición artefactos y medidas reutilizables.
• Amplíe sus ciclos de mejora.
• Invertir continuamente en educación.
• Introduce herramientas y técnicas avanzadas según sea necesario.
Cambie los palos cuando se convierta en 'la forma en que hacemos las cosas por aquí'
Certification página 28
• Métricas significativas
• Un equilibrio entre la automatización y la interacción humana.
• Aplicación de metodologías ágiles y lean
• Comunicación abierta y frecuente.
Your biggest challenges for the expansion of DevOps? (¿Tus mayores desafíos para la expansión de DevOps?)
Summary
Certification página 29
Leveraging agile, lean, itsm and evolving DevOps practices (Aprovechando prácticas ágiles, lean, itsm y evolutivas de DevOps)
Certification página 30