Consultor Independiente • Nacido en Brooklyn, Nueva York • Criado en Carolina, Puerto Rico • Estudios en la Universidad de Puerto Rico reciento de Rio Piedras • Más de 28 años en el campo de Informática • 22+ años en Microsoft @MikeRosTX
estructura de automatización de código abierto que permite la infraestructura como código • Chef aprovecha definiciones reutilizables para automatizar el estado deseado • Chef es impulsado por API • Chef es compatible con variantes de Linux, variantes de Unix, AIX y Windows, todos como ciudadanos de primera clase @MikeRosTX
Kit de Desarrollo Chef Libro de Cocina y Política de Autoría Infraestructura Impulsado-a- Prueba Consola de Administración Plataforma Analítica Replicación y Alta Disponibilidad Nódulos de Cliente Chef Centro de Datos La Nube Servidor Chef @MikeRosTX
es un estado del sistema que se define Ejemplo: Paquete instalado, estado de un servicio ó un archivo de configuración existente • Tú declaras lo que es el estado del recurso Chef automáticamente determinar CÓMO se logra ese estado package "httpd" do action :install end windows_feature "IIS-WebServerRole" do action :install end @MikeRosTX
es una colección de Recursos • Recursos se ejecutan en el orden que se enumeran package "httpd" do action :install end template ”/var/www/index.html" do source ”index.html.erb” mode "0644" end service "httpd" do action [ :enable, :start ] end windows_feature "IIS-WebServerRole" do action :install end template 'c:\inetpub\wwwroot\Default.htm' do source "Default.htm.erb" rights :read, "Everyone" end service "w3svc" do action [ :enable, :start ] end @MikeRosTX
Un Libro de Cocina es un conjunto de Recetas • Un Libro de Cocina es un conjunto definido de objetos y diferentes resultados que tú esperas a dirigir Un Libro de Cocina podría tener una Receta para instalar apache2/httpd pero también otra serie de Recetas para activar módulos requeridos. ./attributes ./attributes/default.rb ./CHANGELOG.md ./metadata.rb ./README.md ./recipes ./recipes/application.rb ./recipes/balancer.rb ./recipes/database.rb ./recipes/default.rb ./recipes/webserver.rb ./templates ./templates/default ./templates/default/mysite.conf.erb @MikeRosTX
roles o funciones reutilizables para el Código de Infraestructura chef_type: role default_attributes: my-app: application: version: 1.5.6 description: Role for my application json_class: Chef::Role name: my_application_role run_list: role[base] recipe[my-app::application] @MikeRosTX
Define el ambiente o un entorno reutilizables para el Código de Infraestructura chef_type: environment cookbook_versions: database: 2.2.0 default_attributes: myapp: application: version: 1.2.3 description: Our production environment json_class: Chef::Environment name: production @MikeRosTX
continuamente pruebas y reparación de recursos individuales en el sistema • Se componen utilizando una serie de simples declaraciones políticas • El cliente de Chef trae esas políticas desde un servidor central y las aplica a la máquina local • El estado de la máquina es grabado y enviado a una base de datos donde se crea un índice para la búsqueda, presentación de informes y auditoría @MikeRosTX
Política Que Describe La Infraestructura 2. Un Agente Autónomo Implementa Su Política 3. Aplicación De La Política Es Continuo Y Seguro 4. Automatiza Toda Su Infraestructura A Escala @MikeRosTX
declarado es un problema mitad resuelto.” --Charles Kettering Código *DSL de Chef es como “documentación ejecutable”. Fácil de leer, fácil de escribir, y fáciles de solucionar. *Domain Specific Language *Lenguaje Específico de Dominio @MikeRosTX
software vive en cada máquina, pacientemente esperando nuevas instrucciones. El agente es como un robot que entiende cómo llevar a cabo sus instrucciones. Administradores de sistemas ya no están en el negocio de administración de servidores, en lugar de eso ellos logran escribir el código que construye servidores. @MikeRosTX
Idempotente Política puede ser aplicada a un número infinito de veces y obtener el mismo resultado cada vez. En otras palabras, es seguro ejecutar el cliente de Chef una y otra vez. Scripts de Shell por lo general * no son * idempotente. • Convergente Evalúa el estado y repara si es necesario. El estado del sistema es monitoreado regularmente por un agente de software. Si el estado del sistema difiere de la política, el cliente Chef coloca el sistema en el estado de la configuración deseada. @MikeRosTX
responsable de su propio estado de configuración. Compilación de la política se hace en el equipo local. El cliente Chef baja la nueva política desde el servidor maestro en lugar de empujarla. Esto permite escalabilidad masiva manteniendo altos estándares de seguridad y fiabilidad. Pull Push (Bajar) (Empujar) @MikeRosTX
utiliza para detectar los atributos de un nodo y luego proveerle estos atributos al cliente chef al comienzo de cada ejecución de cliente de Chef. Ohai es requerido por el cliente de chef y debe estar presente en un nodo. (Ohai está instalado en un nodo como parte del proceso de instalación cliente de Chef). Referencia: https://docs.chef.io/ohai.html (Consulta) (Búsqueda) (Recolectar) @MikeRosTX
una interfaz entre un chef-repo local y el servidor de Chef. El Cuchillo le ayuda a los usuarios a administrar: Knife (Cuchillo) Nódulos Recetas y Libros de Receta Roles Almacenes de datos JSON (bolsas de datos), incluyendo datos encriptados Ambientes o Etornos Recursos en la nube, incluyendo aprovisionamiento La instalación del cliente Chef en estaciones de trabajo de gestión Búsqueda de datos indizados en el servidor de Chef @MikeRosTX
common in Japanese cuisine. Kitchen (Cocina) Bento Use Cocina para automáticamente probar la data de los Libros de Cocina a través de cualquier combinación de plataformas y suites de prueba. Bento es un proyecto que contiene un conjunto de imágenes de base que son utilizados por Chef para pruebas internas y para proporcionar un conjunto completo de imágenes de base para el uso con Cocina. Cocina utiliza por defecto, las imágenes base proporcionadas por Bento. (Imágenes personalizado también pueden construirse utilizando Packer.) Referencia -- https://docs.chef.io/kitchen.html @MikeRosTX
comunidad para librería de Libros de Recetas. Libros de Recetas que forman parte de los supermercados de Chef pueden utilizarse por cualquier usuario de Chef. Cómo se utilizan los libros de la comunidad varía de organización a organización. El Supermercado de Chef público es albergado por Chef y está disponible en https://supermarket.chef.io. Un Supermercado de Chef privado puede ser instalado en locales detrás del firewall. Referencia -- https://docs.chef.io/supermarket.html El Supermercado de Chef @MikeRosTX
Servidor Chef (Acciones) Ejecutación Cliente Chef (Historiade Ejecución) Estado del Nódulo (Auditoria de Controles) CONTROL DE CAMBIOS DE TODAS LAS FUENTES Integración de mensajería y correo electrónico incorporada Extender las notificaciones a los sistemas existentes Tablero de instrumentos con búsqueda simple, filtros y opciones de clasificación Integración con otras herramientas existentes a través de API @MikeRosTX
(por ejemplo, para plantillas, archivos) Mensajes de error y trazas de la aplicación apilado Estado de éxito/fracaso de cada corrida del cliente Chef individual Resúmenes de cuentas del éxito y el fracaso Resúmenes de ejecución y duración sobre tiempo Informes – ¿Qué cambió ocurre en un corrido de Chef? @MikeRosTX
externas • Estaciones de trabajo • Clústeres de Hadoop • Infraestructura IaaS • Infraestructura de PaaS • Aplicaciones SaaS • Sistemas de almacenamiento • Lo que sea http://www.flickr.com/photos/hyku/245010680/ @MikeRosTX
UNIX, BSD • Balanceadores de Carga • Sistemas de Recogida de Métricas • Sistemas de Monitoreo • Migraciones de Nubes se convierte trivial http://www.flickr.com/photos/helico/404640681/ @MikeRosTX
excelencia en las cosas grandes, desarrolla el hábito en asuntos pequeño. La excelencia no es una excepción, es una actitud prevaleciente.” - Colin Powell Comenzando el Trayecto de Chef Colaboración de Código Desarrollo Local Integración Continua Implementación del Código de Chef Binarios empaquetados de la estación de trabajo creados Flujo de trabajo de desarrollo local definida Prueba-> Código-> Prueba Práctica Varios equipos aportando código Control de código fuente y código de revisión de las prácticas en el lugar Diseños de repositorio de código definidos Herramientas de integración continuadas en su lugar Código estándar Chef pruebas de trabajos definidos Reportes de Calidad definidos Trabajos de implementación de código estándar Chef definidos Implementación de informes definidos Proceso de canalización de Libros de Recetas implementado @MikeRosTX
crecimiento y progreso, palabras tales como mejora, logro y éxito no tienen ningún significado.” - Benjamin Franklin Estado Constante y Crecimiento Continuo Virtualización como un Servicio Implementación de Aplicaciones Completa Automatización Implementación Continuo Proceso de implementación de aplicación definido Dev-> prueba-> QA-> entornos Prod consistente Pruebas de "Humo" definidas Plataforma de virtualización basada en API implementado Kickstart/JEOS plantillas definidas Ejecutar listas de Chef que define como "aplicaciones están empaquetados" Automatización de red y almacenamiento implementado Pruebas definidas de Punto- A-Punto Despliegue de "aplicación empaquetada" conducción de la interfaz de usuario final Conductos de distribución de aplicación completa desde Dev-> prueba-> QA-> Prod Apilado de infraestructura de software todo tratado como una @MikeRosTX
aprendiendo Ruby viendo estos videos y practicando: http://www.bing.com/videos/search?q=ruby+videos+tutorials+youtube&qpvt=ruby+videos+t utorials+youtube&FORM=VDRE 2. Ir a través de los enlaces de DevOps y vídeos para aprender a Chef: http://learn.chef.io/skills/ Estoy seguro que Puppet, Ansible y Salt Stack tienen videos de aprendizaje también, pero prefiero a los de Chef. 3. Descargar, instala y practica con Chef una y otra vez tanto como usted puede. http://downloads.chef.io/ 4. Leer artículos y suscribirse a diferente sitios web que publican contenido DevOps. 5. Leer, aprender, practicar y respirar PowerShell. http://powershell.org/wp/ebooks/ https://www.penflip.com/powershellorg/the-dsc-book http://pwrshell.net/tag/chef/ https://channel9.msdn.com/Search?term=powershell#ch9Search 6. Asistir a seminarios virtuales tantos como puedas que sean GRATIS. https://www.chef.io/webinars/ @MikeRosTX