Devops episodio 1. devOpsTnf

37
#devopsTNF @coitic @AtosES

Transcript of Devops episodio 1. devOpsTnf

Page 1: Devops episodio 1. devOpsTnf

#devopsTNF

@coitic @AtosES

Page 2: Devops episodio 1. devOpsTnf

DevOpsEPISODIO 1

Page 3: Devops episodio 1. devOpsTnf

• 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

Page 4: Devops episodio 1. devOpsTnf

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.

Page 5: Devops episodio 1. devOpsTnf

“DevOps is development and operations collaboration”

“DevOps is treating your infrastructure as code”

“DevOps is using automation”

“Kanban

for Ops?”

“DevOps  a culture, movement”

“DevOps is small deployments”

IT ’S DEVOPS!

I T ’S DEVOPS!

IT ’S DEVOPS!

I T ’S DEVOPS!

Page 6: Devops episodio 1. devOpsTnf

“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

Page 7: Devops episodio 1. devOpsTnf

• 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?

Page 8: Devops episodio 1. devOpsTnf

Porque?

Page 9: Devops episodio 1. devOpsTnf
Page 10: Devops episodio 1. devOpsTnf

KeywordsDEVDEV OPS

Page 11: Devops episodio 1. devOpsTnf
Page 12: Devops episodio 1. devOpsTnf

OPS!!!!

Page 13: Devops episodio 1. devOpsTnf

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…

Page 14: Devops episodio 1. devOpsTnf
Page 15: Devops episodio 1. devOpsTnf

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

Page 16: Devops episodio 1. devOpsTnf

R E L E A S E D E P L O Y O P E AT E

PRODUCT

P R O D U C TC O D E B U I L D

AUTOMATEANALYZE

TESTING

Page 17: Devops episodio 1. devOpsTnf

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.

Page 18: Devops episodio 1. devOpsTnf

Herramientas

Page 19: Devops episodio 1. devOpsTnf

Q&A

Page 20: Devops episodio 1. devOpsTnf

VM // Containers

Page 21: Devops episodio 1. devOpsTnf

VM // Containers

Page 22: Devops episodio 1. devOpsTnf

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 Vagrantfilevagrant ssh Nos permite acceder a la máquina vía ssh.

Vagrant

Website https://www.vagrantup.com

https://puphpet.com/Vagrant Onlinewww.vagrantbox.es

/Vagrant Boxes

“ VA G R A N T I S A D E V E L O P E R F R I E N D LY I N T E R FA C E F O R V I R T U A L B O X ”

Page 23: Devops episodio 1. devOpsTnf

Contenedores

Page 24: Devops episodio 1. devOpsTnf

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.

Page 25: Devops episodio 1. devOpsTnf

Contenedores• Google

• KUBERNETES.

• Microsoft• AZURE DOCKER.• CONTAINERS EN WINDOWS.

• Amazon• EC2 CONTAINER SERVICE (ECS).

Page 26: Devops episodio 1. devOpsTnf

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 AT E , D E P L OY , A N D R U N A P P L I C AT I O N S BY U S I N G C O N TA I N E R S ”

Page 27: Devops episodio 1. devOpsTnf

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.

Page 28: Devops episodio 1. devOpsTnf

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.

Page 29: Devops episodio 1. devOpsTnf
Page 30: Devops episodio 1. devOpsTnf

• 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

Page 31: Devops episodio 1. devOpsTnf

Es un Git!

Page 32: Devops episodio 1. devOpsTnf

Arquitectura

Page 33: Devops episodio 1. devOpsTnf
Page 34: Devops episodio 1. devOpsTnf

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

Page 35: Devops episodio 1. devOpsTnf

Algunos Sitios

• Website

• Docker hub

• Cloud9

• Docker Cloud

https://www.docker.com/

https://hub.docker.com

https://c9.io

https://cloud.docker.com/

Page 36: Devops episodio 1. devOpsTnf

Docker en Accion! Eposodio II LABORATORIO DOCKER

HTTPS://TRELLO.COM/C/JYEIRFX4/1-LABORATORIO-DOCKER