#devopsTNF
@coitic @AtosES
DevOps
EPISODIO 1
• Hacer las presentaciones. “El concepto Devops”.
• Herramientas: Virtualización y Contenedores.
• Virtualización.
• Contenedores.
• Breve introducción a Docker.
• Crear un ejército 
• Tomarnos unas birras juntos :P
Objetivos de hoy
Que es DevOps?
Acrónimo inglés de development (desarrollo) y operations (operaciones), que se
refiere a una cultura o movimiento que se centra en la comunicación, colaboración e
integración entre desarrolladores de software y los profesionales de operaciones en
las tecnologías de la información (IT). Es una respuesta a la interdependencia del
desarrollo de software y las operaciones IT. Su objetivo es ayudar a una organización
a crear productos y servicios software rápidamente.
“DevOps has become possible largely
due to a combination of new operations
tools and established agile engineering
practices . Even with the best tools,
DevOps is just another buzzword if you
don't have the right culture”
"Do painful things more frequently, so
you can make it less painful."
MARTIN FOWLER ADRIAN COCKCROFT
• NO son herramientas.
• NO es un nuevo puesto o rol dentro de las compañías.
• NO es simplemente una “cultura del cambio”.
• NO es una casualidad ni tampoco es algo nuevo.
Que NO es DevOps?
Porque?
KeywordsDEV
OPS!!!!
Entonces….
• Nuevos modelos de negocio, que requieren entregas
frecuentes.
• Nuevas arquitecturas de software enfocada a Cloud y micro
servicios. (Netflix, Redes Sociales, Black Friday).
• Las metodologías ágiles han mejorado el proceso de fabricación
de software, pero no es suficiente. Hay que aplicarlo al ciclo
completo. TDD y Kanban para Ops?
• Y por supuesto es una cuestión económica…
R E L E A S E D E P L O Y O P E A T E
PRODUCT
P R O D U C TC O D E B U I L D T E S T
R E L E A S E D E P L O Y O P E A T E
PRODUCT
P R O D U C TC O D E B U I L D
AUTOMATE
ANALYZE
TESTING
Como llegar al
Nirvana?
• 1 - Cambio cultural Traer Ops al TDD, Kanban, Ágil?
• 2 - Abajo los muros  “Colaborar y compartir conocimientos”
• 3 - Estandarizar  Todo se hace “igual”. Kiss”
• 4 - Automatización y Monitorización  “Cada iteración ”
• 5 - Mejora contínua  ” Analizar,identificar, mejorar , aprender ”
• 6 - No dar pasos en falso  Estrategia, procesos, planificar.
Herramientas
Q&A
VM // Containers
VM // Containers
Entornos Virtualizados  Mismo entorno para todos  .
Fácil y rápido de instalar y configurar.
Box  Imagen de máquina virtual empaquetada para ser
utilizada.
VagrantFile  Fichero de configuración de la máquina
virtual.”Ruby”
Ejemplo:
vagrant box add  “Descargamos un box ”
vagrant init  Crea el Vagrantfile en caso de no existir.
vagrant up  Crea y configura la máquina virtual en
función usando el Vagrantfile
vagrant ssh  Nos permite acceder a la máquina vía ssh.
Vagrant
Website https://www.vagrantup.com
https://puphpet.com/Vagrant Online
www.vagrantbox.es/Vagrant Boxes
“ V A G R A N T I S A D E V E L O P E R F R I E N D L Y I N T E R F A C E
F O R V I R T U A L B O X ”
Contenedores
Contenedores
• Virtualización ligera o de sistema operativo. A diferencia de una VM, asociadas a un hipervisor
específico, pueden ejecutarse en cualquier plataforma(distribución linux).
• Comparten el mismo kernel que el host.
• Permiten Consolidar recursos. Igual infraestructura con menos hierro. Ahorro de mucho dinero.
• Utilizado por Google e IBM desde 2006.
• Kernel 3.8 permite espacio de usuarios aislados y los contenedores no pueden acceder al hardware.
• En máquinas muy grandes se pueden montar máquinas virtuales para contenedores.
• Escalabilidad absoluta y sencilla.
• Piezas sustituibles. Arquitectura microservicios.
Contenedores
• Google
• KUBERNETES.
• Microsoft
• AZURE DOCKER.
• CONTAINERS EN WINDOWS.
• Amazon
• EC2 CONTAINER SERVICE (ECS).
Docker
• Application Centric Infraestructure (ACI)  es decir, no es una VM ,
es una Aplicación (Daemon).
• Simplifica el uso de contenedores linux  Dockerfile.
• Simplifica el versionado de las aplicaciones y la gestión del Ciclo de
vida de app. Pasamos el contenedor por los entornos.(dev, prepro,
prod)
• Simplifica la deteccción / corrección de errores  crear imágenes de
una base.
• Que pasa cuando “se rompe” mi entorno?  Gestión del CAOS.
“ D O C K E R I S A L L A B O U T M A K I N G I T E A S I E R T O C R E A T E ,
D E P L O Y , A N D R U N A P P L I C A T I O N S B Y U S I N G C O N T A I N E R S ”
Proyectos
• Docker Toolbox:
• Docker Engine  Core de la plataforma.
• Docker Compose Nos permite la creación y ejecución de todos
los contenedores en un solo archivo (formato yaml). Apps
compuestas por (server, database, etc..)
• Docker Machine Permite gestionar Docker en máquinas virtuales
en local o en un proveedor de cloud.(AWS, VirtualBox, etc..)
• Docker Kitematic  Cliente Mac / Windows para repos.
Proyectos
• Docker Swarm Herramienta que permite construir un clúster de
máquinas docker.(swarm Master manega los nodos “contaniers”)
• Docker Hub  Servicio de registro de imágenes “Github”.
• Docker Trusted Registry  Permite almacenar /gestionar imágenes
dockers en repositorios enterprise(Seguridad,Ldap,CI,..)
• Docker Cloud (Nuevo,antes era Tutum)  Hosting cloud para
Docker.
• Docker Client -> Cliente CLI que nos permite comunicar con el Demonio.
También API rest.
• Docker Daemon  Demonio que gestiona los contenedores. Se invoca
desde el CLI.
• Docker Images  Plantillas. A partir de una imagen podemos generar N
contenedores.
• Docker Registries  Guardan Imágenes. Repositorios donde subir o
descargar las imágenes.
• Docker Containers  Instancias en ejecución de una imagen.
• Docker File  Es el fichero de configuración para crear o definir
imágenes.
Arquitectura
Es un Git!
Arquitectura
Por pasos
• docker pull “IMAGEN”  Si la imagen no existe en el host, se
descarga.
• docker images  Listamos las imágenes del host.
• docker run –i –t “IMAGEN” /bin/bash  Crea un container con
dicha imagen(-i interactivo )
• docker ps  Vemos los contenedores que están corriendo
Algunos Sitios
• Website 
• Docker hub 
• Cloud9 
• Docker Cloud 
https://www.docker.com/
https://hub.docker.com
https://c9.io
https://cloud.docker.com/
Docker en Accion!
Eposodio II 
LABORATORIO DOCKER
HTTPS://TRELLO.COM/C/JYEIRFX4/1-
LABORATORIO-DOCKER
erasmolpa@gmail.com
https://es.linkedin.com/in/erasmodominguez
http://www.meetup.com/es-ES/Dev_Ops_Tnf/
CONTACTO 
https://trello.com/c/JYeiRfX4/1-laboratorio-
docker

Devops episodio 1. devOpsTnf

  • 1.
  • 2.
  • 3.
    • Hacer laspresentaciones. “El concepto Devops”. • Herramientas: Virtualización y Contenedores. • Virtualización. • Contenedores. • Breve introducción a Docker. • Crear un ejército  • Tomarnos unas birras juntos :P Objetivos de hoy
  • 4.
    Que es DevOps? Acrónimoinglés de development (desarrollo) y operations (operaciones), que se refiere a una cultura o movimiento que se centra en la comunicación, colaboración e integración entre desarrolladores de software y los profesionales de operaciones en las tecnologías de la información (IT). Es una respuesta a la interdependencia del desarrollo de software y las operaciones IT. Su objetivo es ayudar a una organización a crear productos y servicios software rápidamente.
  • 6.
    “DevOps has becomepossible largely due to a combination of new operations tools and established agile engineering practices . Even with the best tools, DevOps is just another buzzword if you don't have the right culture” "Do painful things more frequently, so you can make it less painful." MARTIN FOWLER ADRIAN COCKCROFT
  • 7.
    • NO sonherramientas. • NO es un nuevo puesto o rol dentro de las compañías. • NO es simplemente una “cultura del cambio”. • NO es una casualidad ni tampoco es algo nuevo. Que NO es DevOps?
  • 8.
  • 10.
  • 12.
  • 13.
    Entonces…. • Nuevos modelosde negocio, que requieren entregas frecuentes. • Nuevas arquitecturas de software enfocada a Cloud y micro servicios. (Netflix, Redes Sociales, Black Friday). • Las metodologías ágiles han mejorado el proceso de fabricación de software, pero no es suficiente. Hay que aplicarlo al ciclo completo. TDD y Kanban para Ops? • Y por supuesto es una cuestión económica…
  • 15.
    R E LE A S E D E P L O Y O P E A T E PRODUCT P R O D U C TC O D E B U I L D T E S T
  • 16.
    R E LE A S E D E P L O Y O P E A T E PRODUCT P R O D U C TC O D E B U I L D AUTOMATE ANALYZE TESTING
  • 17.
    Como llegar al Nirvana? •1 - Cambio cultural Traer Ops al TDD, Kanban, Ágil? • 2 - Abajo los muros  “Colaborar y compartir conocimientos” • 3 - Estandarizar  Todo se hace “igual”. Kiss” • 4 - Automatización y Monitorización  “Cada iteración ” • 5 - Mejora contínua  ” Analizar,identificar, mejorar , aprender ” • 6 - No dar pasos en falso  Estrategia, procesos, planificar.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
    Entornos Virtualizados Mismo entorno para todos  . Fácil y rápido de instalar y configurar. Box  Imagen de máquina virtual empaquetada para ser utilizada. VagrantFile  Fichero de configuración de la máquina virtual.”Ruby” Ejemplo: vagrant box add  “Descargamos un box ” vagrant init  Crea el Vagrantfile en caso de no existir. vagrant up  Crea y configura la máquina virtual en función usando el Vagrantfile vagrant ssh  Nos permite acceder a la máquina vía ssh. Vagrant Website https://www.vagrantup.com https://puphpet.com/Vagrant Online www.vagrantbox.es/Vagrant Boxes “ V A G R A N T I S A D E V E L O P E R F R I E N D L Y I N T E R F A C E F O R V I R T U A L B O X ”
  • 23.
  • 24.
    Contenedores • Virtualización ligerao de sistema operativo. A diferencia de una VM, asociadas a un hipervisor específico, pueden ejecutarse en cualquier plataforma(distribución linux). • Comparten el mismo kernel que el host. • Permiten Consolidar recursos. Igual infraestructura con menos hierro. Ahorro de mucho dinero. • Utilizado por Google e IBM desde 2006. • Kernel 3.8 permite espacio de usuarios aislados y los contenedores no pueden acceder al hardware. • En máquinas muy grandes se pueden montar máquinas virtuales para contenedores. • Escalabilidad absoluta y sencilla. • Piezas sustituibles. Arquitectura microservicios.
  • 25.
    Contenedores • Google • KUBERNETES. •Microsoft • AZURE DOCKER. • CONTAINERS EN WINDOWS. • Amazon • EC2 CONTAINER SERVICE (ECS).
  • 26.
    Docker • Application CentricInfraestructure (ACI)  es decir, no es una VM , es una Aplicación (Daemon). • Simplifica el uso de contenedores linux  Dockerfile. • Simplifica el versionado de las aplicaciones y la gestión del Ciclo de vida de app. Pasamos el contenedor por los entornos.(dev, prepro, prod) • Simplifica la deteccción / corrección de errores  crear imágenes de una base. • Que pasa cuando “se rompe” mi entorno?  Gestión del CAOS. “ D O C K E R I S A L L A B O U T M A K I N G I T E A S I E R T O C R E A T E , D E P L O Y , A N D R U N A P P L I C A T I O N S B Y U S I N G C O N T A I N E R S ”
  • 27.
    Proyectos • Docker Toolbox: •Docker Engine  Core de la plataforma. • Docker Compose Nos permite la creación y ejecución de todos los contenedores en un solo archivo (formato yaml). Apps compuestas por (server, database, etc..) • Docker Machine Permite gestionar Docker en máquinas virtuales en local o en un proveedor de cloud.(AWS, VirtualBox, etc..) • Docker Kitematic  Cliente Mac / Windows para repos.
  • 28.
    Proyectos • Docker SwarmHerramienta que permite construir un clúster de máquinas docker.(swarm Master manega los nodos “contaniers”) • Docker Hub  Servicio de registro de imágenes “Github”. • Docker Trusted Registry  Permite almacenar /gestionar imágenes dockers en repositorios enterprise(Seguridad,Ldap,CI,..) • Docker Cloud (Nuevo,antes era Tutum)  Hosting cloud para Docker.
  • 30.
    • Docker Client-> Cliente CLI que nos permite comunicar con el Demonio. También API rest. • Docker Daemon  Demonio que gestiona los contenedores. Se invoca desde el CLI. • Docker Images  Plantillas. A partir de una imagen podemos generar N contenedores. • Docker Registries  Guardan Imágenes. Repositorios donde subir o descargar las imágenes. • Docker Containers  Instancias en ejecución de una imagen. • Docker File  Es el fichero de configuración para crear o definir imágenes. Arquitectura
  • 31.
  • 32.
  • 34.
    Por pasos • dockerpull “IMAGEN”  Si la imagen no existe en el host, se descarga. • docker images  Listamos las imágenes del host. • docker run –i –t “IMAGEN” /bin/bash  Crea un container con dicha imagen(-i interactivo ) • docker ps  Vemos los contenedores que están corriendo
  • 35.
    Algunos Sitios • Website • Docker hub  • Cloud9  • Docker Cloud  https://www.docker.com/ https://hub.docker.com https://c9.io https://cloud.docker.com/
  • 36.
    Docker en Accion! EposodioII  LABORATORIO DOCKER HTTPS://TRELLO.COM/C/JYEIRFX4/1- LABORATORIO-DOCKER
  • 37.

Notas del editor

  • #10 Amplio catalogo de arquitecturas como servicios: SAAS IAAS PAAS CAAS
  • #24 Los desarrolladores se encargan de la mercancía, la parte operativa del trans