Presentación del concepto de DevOps, de Chef y de GECOS como ejemplo de un proyecto que usa la potencia de Chef de forma poco habitual.
La charla tuvo lugar en las oficinas de la empresa Aentos, en el contexto de las charlas técnicas que suelen celebrar.
1. Infraestructura como
Código
Juanje Ojeda - @juanjeojeda
Esta obra está bajo una licencia Creative Commons Atribución-CompartirIgual 3.0 Unported.
2. Disclaimer
● Tienen el vídeo de la charla aquí:
(pueden saltarse los primeros 5 o 10 minutos...)
http://www.ustream.tv/recorded/19464576
● La presentación es un poco fea...
● Tampoco soy un experto...
● En realidad esto va de DevOps
● Soltaré algunas palabras «marketinianas»
3. Buzzwords
Virtualization Agile
Automation DevOps
Cloud BDD
Bien, ya las he dicho :-P
4. WTF is DevOps*?
* http://dev2ops.org/blog/2010/2/22/what-is-devops.html
6. ¿Qué aporta DevOps?
● Obsesión por la automatización
● Tratar las configuraciones como código
● Herramientas: Chef, Vagrant, Git, Travis-ci...
● Colaboración entre desarrolladores, integradores y
administradores de sistema
● Uso de metodologías ágiles de forma global
7. En realidad, DevOps es más sobre cómo
hacer más rentable y eficiente el negocio,
que sobre un problema técnico
DevOps is not a technology problem devops is a business problem
8. ¿Qué pinta Chef en todo esto?
Permite describir y gestionar la infraestructura
en forma de código
:-)
Which means...
● Control de versiones
● TDD y BDD aplicado a los sistemas
● Lenguaje común entre desarrolladores y Sysadmins
● Automatización de tareas y procesos
● y más cosas comunes en el mundo del desarrollo software
9. Aquí es donde explico cómo funciona Chef
La verdad es que no daba tiempo
y lo expliqué por encima
Sobre todo diferencias entre las estrategias
de Chef y Puppet
Buenas referencias:
● Learning Chef
● A can of condensed chef documentation
● A brief Chef tutorial from concentrate
● Official Fast Start Guide
10. Ruby, "the new sysadmin language"*
Es discutible, pero cada vez hay más herramientas para Sysadmins
en Ruby:
● Chef
● Puppet
● Vagrant
● Veewee
● Travis-ci
● Cucumber
○ Cucumber-Nagios
○ Cucumber-Chef
● Capistrano
● Fog
● MCollective
● Cloud Foundry
* http://devopsanywhere.blogspot.com/2011/09/how-ruby-is-beating-python-in-battle.html
11. GECOS un ejemplo de la potencia de Chef
GECOS son siglas de Guadalinex Edición COrporativa eStándar
Se trata de un sistema operativo y una selección de aplicaciones preparadas para su uso en organizaciones de cierto volumen.
GECOS consta de un sistema para el usuario y otro para el servidor central.
El primero cuenta con una selección básica de aplicaciones de ofimática, Internet,... mientras que el segundo se encarga de la
gestión, instalación de software, soporte, recursos compartidos, etc.
GECOS es un proyecto libre de La Junta de Andalucía
Usa Chef para manejar la configuración de los puestos
y los usuarios.
12. ¿Por qué es un ejemplo?
Chef no está orientado a manejar puestos de trabajo
o usuarios
Está más orientado a DataCenters y
servidores en «la nube»
Pero se han podido hacer cosas muy interesantes :-)
● Gestionar «perfiles móviles» de los usuarios
Cookbook Usermanagement
● Tener una interfaz para gestionar puestos y usuarios
Kitchen (aún en desarrollo)
13. Una nueva interfaz web
Gracias al API Rest de Chef y la potencia que nos
dan los data_bags, estamos pudiendo hacer una
interfaz web algo más fácil de usar en nuestro
escenario.
Aquí tienen un guiño de la pinta que ya empieza a tener:
Screencast Kitchen
NOTA: Se ve la interfaz oficial de Chef y Kitchen en el vídeo.
Se está procurando que todo lo que se haga sea compatible con las
herramientas estándar de Chef (WebUI, Knife, Shef...)
14. Esto es todo por ahora
La próxima vez, prometo hablar de Chef
:-P
El logo de Chef pertenece a la empresa Opscode y demás imágenes a los posts enlazados