Que demonios es eso de Devops (y porquedebería interesarme)

15,411 views
15,154 views

Published on

Charla del mes de febrero del grupo madrid-devops.

Published in: Technology
2 Comments
21 Likes
Statistics
Notes
No Downloads
Views
Total views
15,411
On SlideShare
0
From Embeds
0
Number of Embeds
55
Actions
Shares
0
Downloads
0
Comments
2
Likes
21
Embeds 0
No embeds

No notes for slide
  • La transparencias son bastante informales y pretenden mostrar mi concepción de devops, basado en mi experiencia + conocimientos. Las transpas son un poco caóticas, parte de la culpa la tiene openoffice y mi desconocimiento sobre software de presentaciones. A última hora se me ha ocurrido llenar la charla de fotos absurdas, la idea es hacer la charla más amena. Algunas de las cosas que voy contar llevan haciendose años, otras son nuevas. Todas son de sentido comun. Las transpas las colgaré mañana por la mañana en slideshare, se anunciará por la lista y twitter. Operaciones y sistemas lo uso intercambiablemente.
  • ¿Quien ha hecho la encuesta? Vamos a verla (preguntar cual es la respuesta correcta) Os felicito! La idea de usar la encuesta básicamente consistía en llamar la atención un poco, bueno, tambien la usaré algo en la charla.
  • Awareness = entendimiento ,conciencia, comprensión, realización Yo me di cuenta de esto en mi primer trabajo como sysadmin.
  • Preguntar: ¿que necesitamos para poner el proyecto en producción?
  • Hemos entendido cual es la problemática.
  • Comparado con: Distinto SO orientado a sistemas No siempre las mismas, herramientas que estan orientadas a seguridad, estabilidad, rendimiento. Ejecutamos en varias máquinas, muchas veces siguiendo arquitecturas de distintas capas, frontales, caché, etc..
  • Preguntar ¿Como aportan valor los desarrolladores a la empresa? ¿Y los sysadmins?
  • El objetivo de operaciones no es mantener un sistema seguro, estable y rápido. El objetivo de operaciones es habilitar el negocio. El negocio requiere cambio. Y el cambio es la raiz de la inestabilidad. Hasta ahora la visión desde ops es retrasar o desmotivar el cambio. Necesitamos cambiar esta mentalidad, necesitamos permitir el cambio según las necesidades lo requieran, mientras minimizamos el riesgo de cambio.
  • Necesitamos un cambio de mentalidad.
  • Preguntar: ¿Conoceis scrum y kanban? Scrum va de separar grupos y el proyecto en unidades mas pequeñas. Separar el tiempo de desarrollo en iteraciones más pequeñas e integrar los resultados regularmente para ir viendo el avance. Kanban tambien separa el trabajo en historiasy el progreso de cada historia en fases (todo, ongoing, done...). Se utiliza una herramienta sencilla para visualizar y medir el avance. Asimismo se limita el número de historias que puede haber al mismo tiempo. Scrum tiene más reglas a seguir, tiene iteraciones cerradas vs abiertas de Kanban.
  • Herramientas consistentes: utilizar entornos similares Administración abstracta: no pensar en maquinas y ficheros de configuración sino en conjuntos de servicios a proveer, pensar en “features”. Cuando digo toda la plataforma hablo no solo de los repositorios de las aplicaciones y la configuración, hablo tambien del deployment, scriptación de los cambios en la base de datos y la gestión de infraestructura.
  • Todos conocemos la serie, ¿no? Esta serie se desarrolla enteramente basandose en los problemas de comunicación entre los usuarios normales y los técnicos. ¿No nos ha pasado lo mismo con los desarrolladores u otros usuarios técnicos? Respeto Confianza Actitud saludable hacia el fallo. Evitar la culpa
  • Que demonios es eso de Devops (y porquedebería interesarme)

    1. 1. ¿Que demonios es eso de Devops? (y porqué debería estar interesado) Jacobo García López de Araujo.
    2. 2. Algunas aclaraciones http://www.flickr.com/photos/bucketfactory/2268006634/
    3. 3. La encuesta
    4. 4. ¿Que demonios es eso de Devops? (y porqué debería estar interesado)
    5. 5. ¿Que demonios es eso de Devops? (y porqué debería estar interesado) DevOps is a response to the growing awareness that there is a disconnect between what is traditionally considered development activity and what is traditionally considered operations activity.
    6. 6. Un ejemplo. El equipo de desarrollo quiere poner un nuevo site en producción. Developer Sysadmin
    7. 7. Para poner el proyecto en producción el equipo de sistemas realiza las siguientes operaciones: <ul><li>Prepara el script de deployment (si hay script).
    8. 8. Refleja (a mano) los cambios en la configuración necesarios.
    9. 9. Instala las librerias necesarias (con el sistema de paquetes en el mejor caso).
    10. 10. Realiza una carga de datos en la BBDD.
    11. 11. Etc. </li></ul>
    12. 12. Por supuesto. Durante todo ese proceso algo falla y hablamos con el equipo de desarrollo para ver como lo solucionamos.
    13. 13. ¿ Y que es lo que nos responde el desarrollador ?
    14. 14. En mi máquina funciona.
    15. 16. Un desarrollador nos pide que instalemos el paquete wadus3-dev que no esta en la distro que usamos. Otro ejemplo
    16. 17. ¿Cual es nuestra respuesta? Otro ejemplo
    17. 19. Both development and operations fundamentally see the world, and their respective roles in it, differently. Each believe that they are doing the right thing for the business... and in isolation they are both correct! So... What Happens?
    18. 20. El concepto.
    19. 21. El concepto. Situación actual. Los (malditos) desarrolladores: <ul><li>No tienen conocimiento sobre el impacto de su código en los sistemas.
    20. 22. Tienen un conjunto de herramientas optimizado para desarrollar rápidamente.
    21. 23. Tienen un sistema operativo optimizado para el uso de escritorio.
    22. 24. Ejecutan el código localmente en una sola máquina. Incluso cuando hay entornos de testing/staging/integración. </li></ul>
    23. 25. Una diferencia clave. Los desarrolladores aportan valor al negocio implementando requisitos funcionales. Sistemas aporta valor al negocio implementando seguridad, estabilidad y rendimiento. Ambas metas entran en conflicto ya que poner nuevas funcionalidades en producción implica asumir riesgos.
    24. 26. Una diferencia clave. Sistemas intenta minimizar riesgos intentando evitar el cambio o ralentizandolo. ¿ Al final qué sucede? Todo el proceso de puesta en producción se ralentiza y se aumenta el riesgo ya que acabamos poniendo en producción grupos de cambios simultáneamente.
    25. 27. We are doing it wrong!
    26. 28. We are doing it wrong! El objetivo de operaciones no es (únicamente) mantener un sistema seguro, estable y rápido. El objetivo de operaciones es habilitar los objetivos de negocio. El negocio requiere cambio. Y el cambio es la raiz de la inestabilidad.
    27. 29. We are doing it wrong! Nuestro objetivo es favorecer el cambio según las necesidades del negocio lo requieran, mientras minimizamos los riesgos que implican ese cambio.
    28. 30. El concepto ¿En que consiste?
    29. 31. El Concepto ¿en que consiste? <ul><li>Implementar Agile en el departamento de sistemas.
    30. 32. Definir un conjunto nuevo de procedimientos para operaciones.
    31. 33. Utilizar un conjunto de herramientas que de soporte a los dos puntos anteriores.
    32. 34. Establecer mecanismos de comunicación efectivos entre todas las partes implicadas en la puesta en producción de un producto. </li></ul>
    33. 35. Agile en Sistemas <ul><li>Scrum
    34. 36. Kanban </li></ul>http://www.infoq.com/minibooks/kanban-scrum-minibook
    35. 37. Procedimientos Tenemos que modificar los procedimientos actuales. Una vez más, nuestro objetivo es evitar situaciones como esta:
    36. 38. Procedimientos
    37. 39. Procedimientos <ul><li>Implicación en las primeras fases del de desarrollo.
    38. 40. La configuración es código, separado del codigo de la aplicación.
    39. 41. Herramientas consistentes entre los equipos de operaciones y desarrollo.
    40. 42. Administración abstracta.
    41. 43. Automatización de los builds y las releases.
    42. 44. Automatización de la infraestructura y el provisionamiento.
    43. 45. Auditoría de los cambios en toda la plataforma.
    44. 46. Métricas compartidas.
    45. 47. Gestion del ciclo de vida de los SO. Planificación de stacks. </li></ul>
    46. 48. Herramientas <ul><li>Gestión de incidencias.
    47. 49. Gestión de identidades.
    48. 50. Deployment.
    49. 51. Orquestación.
    50. 52. Ejecución de comandos.
    51. 53. Repositorio de Paquetes. </li></ul><ul><li>Control de versiones
    52. 54. Servicios de nombres de hosts.
    53. 55. Frameworks de integración.
    54. 56. Inventario.
    55. 57. Monitorización.
    56. 58. Informes.
    57. 59. Gestión de la configuración . </li></ul>
    58. 60. Comunicación
    59. 61. Respeto No ocultes hechos. No digas NO (sin dar ninguna explicación). No estereotipes a tus compañeros de trabajo.
    60. 62. Confianza Operaciones necesita confiar en desarrollo para implicarlos en futuras discusiones sobre su aplicación. Desarrollo necesita confiar en operaciones para discutir los cambios de infraestructura Todo el mundo necesita confiar en que el resto esta haciendo lo mejor para el negocio.
    61. 63. Actitud positiva ante los fallos Asumir que el fallo va a suceder. Responsabilidad y empatía. Para los devs: Cuando algo de tu aplicación se rompe despiertas a un sysadmin. Para los ops: Dar feedback constructivo de los problemas.
    62. 64. Evitar culpar(se)
    63. 65. Evitar culpar(se)
    64. 66. ¿Que tiene que Devops ver con el negocio?
    65. 67. ¿Que tiene que ver con el negocio? “ The whole point of DevOps is to enable your business to react to market forces as quickly, efficiently, and reliably as possible. Without the business, there is no other reason for us to be talking about DevOps problems, much less spending any time solving them.”
    66. 68. ¿Que tiene que ver con el negocio? “ For the business, DevOps contributes directly to enabling two powerful and strategic business qualities, &quot;business agility&quot; and &quot;IT alignment&quot;. These may not be terms that the troops in the IT trenches worry about on a daily basis, but they should definitely get the attention of the executives who approve the budgets and sign the checks. ”
    67. 69. http://www.flickr.com/photos/12639210@N08/2149271817/
    68. 70. Buscamos un sysadmin junior http://blog.aspgems.com/2011/01/27/buscamos-un-sysadmin-junior/ [email_address] One more thing...
    69. 71. ¿Preguntas?
    70. 72. Enlaces <ul><li>http://jedi.be/blog/2010/02/12/what-is-this-devops-thing-anyway/
    71. 73. http://dev2ops.org/blog/2010/2/22/what-is-devops.html
    72. 74. http://somic.org/2010/03/02/the-rise-of-devops/
    73. 75. http://dev2ops.org/blog/2010/11/7/devops-is-not-a-technology-problem-devops-is-a-business-prob.html
    74. 76. http://en.wikipedia.org/wiki/DevOps
    75. 77. http://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr </li></ul>

    ×