SlideShare una empresa de Scribd logo
A Strategy for Container Lifecycle
Management
Federico Aguirre, Alfredo Edye, Edgardo Hames
September 6, 2017
Table of contents
1. Introducción
2. 12-Factor Apps
3. Bootstrap
4. Conclusión
1
Introducción
Reseña histórica
1956 • Memoria Virtual, Fritz-Rudolf Güntsch
1959 • Tiempo Compartido, John McCarthy
1964 • Hypervisor (14 VMs concurrentes), IBM
1979 • chroot, Unix
2000 • Virtualización OS, Virtuozzo
2000 • jails, FreeBSD
2004 • zones, Solaris
2008 • namespaces, Linux
2013 • Docker
2
Virtualización
3
Arquitectura de Docker
4
Compose & Swarm
5
12-Factor Apps
Presentación
• Uso de formatos declarativos para configuraciones
6
Presentación
• Uso de formatos declarativos para configuraciones
• Existencia de un contrato claro entre las aplicaciones y el sistema
operativo para mayor portabilidad
6
Presentación
• Uso de formatos declarativos para configuraciones
• Existencia de un contrato claro entre las aplicaciones y el sistema
operativo para mayor portabilidad
• Simplificación de despliegue en plataformas cloud
6
Presentación
• Uso de formatos declarativos para configuraciones
• Existencia de un contrato claro entre las aplicaciones y el sistema
operativo para mayor portabilidad
• Simplificación de despliegue en plataformas cloud
• Integración continua para mayor agilidad
6
Presentación
• Uso de formatos declarativos para configuraciones
• Existencia de un contrato claro entre las aplicaciones y el sistema
operativo para mayor portabilidad
• Simplificación de despliegue en plataformas cloud
• Integración continua para mayor agilidad
• Escalabilidad sin cambios significativos en la arquitectura,
herramientas y prácticas de desarrollo
6
Procesos administrativos
El código de administración y despliegue debe
• entregarse junto con el de la aplicación para evitar inconsistencias
7
Procesos administrativos
El código de administración y despliegue debe
• entregarse junto con el de la aplicación para evitar inconsistencias
• ser autocontenido y no depender de la existencias de herramientas o
bibliotecas en el sistema
7
Problema
¿Cómo distribuimos los scripts de mantenimiento y sus configuraciones?
8
Bootstrap
Bootstrap
Un nuevo contenedor denominado Bootstrap encargado de
• distribución de scripts de mantenimiento y configuraciones
9
Bootstrap
Un nuevo contenedor denominado Bootstrap encargado de
• distribución de scripts de mantenimiento y configuraciones
• descarga de imágenes del sistema
9
Bootstrap
Un nuevo contenedor denominado Bootstrap encargado de
• distribución de scripts de mantenimiento y configuraciones
• descarga de imágenes del sistema
• gestión del ciclo de vida (inicio, detención, estado, etc)
9
Bootstrap
Un nuevo contenedor denominado Bootstrap encargado de
• distribución de scripts de mantenimiento y configuraciones
• descarga de imágenes del sistema
• gestión del ciclo de vida (inicio, detención, estado, etc)
• tareas de mantenimiento (upgrade, downgrade, migración, etc)
9
Uso
Para descargar las imágenes de los servicios
$ docker run --rm bootstrap pull
Para desplegar los contenedores
$ docker run --rm bootstrap up
Para detener los contenedores
$ docker run --rm bootstrap stop
10
Implementación (script)
#!/bin/bash
command=$1
case "$command" in
"pull")
docker-compose pull
;;
"up")
docker-compose up
;;
"stop")
# TODO: Pedir al usuario que confirme
docker-compose stop
;;
esac
11
Implementación (Dockerfile)
FROM docker/compose:1.12.0
COPY docker-compose.yml /opt/bitlogic
COPY startup.sh /opt/bitlogic
RUN chmod 755 /opt/bitlogic/startup.sh
ENTRYPOINT /opt/bitlogic/startup.sh
12
Ventajas
• Aplica a cualquier tipo de proyecto que use Docker
13
Ventajas
• Aplica a cualquier tipo de proyecto que use Docker
• Puede usarse con cualquier motor de integración y despliegue
continuos
13
Ventajas
• Aplica a cualquier tipo de proyecto que use Docker
• Puede usarse con cualquier motor de integración y despliegue
continuos
• Facilita el despliegue del producto en el entorno de desarrollo
13
Ventajas
• Aplica a cualquier tipo de proyecto que use Docker
• Puede usarse con cualquier motor de integración y despliegue
continuos
• Facilita el despliegue del producto en el entorno de desarrollo
• Permite desplegar remotamente usando la API TCP de Docker
13
Ventajas
• Aplica a cualquier tipo de proyecto que use Docker
• Puede usarse con cualquier motor de integración y despliegue
continuos
• Facilita el despliegue del producto en el entorno de desarrollo
• Permite desplegar remotamente usando la API TCP de Docker
• Garantiza la compatibilidad con cada versión del producto
13
Ventajas
• Aplica a cualquier tipo de proyecto que use Docker
• Puede usarse con cualquier motor de integración y despliegue
continuos
• Facilita el despliegue del producto en el entorno de desarrollo
• Permite desplegar remotamente usando la API TCP de Docker
• Garantiza la compatibilidad con cada versión del producto
• Es agnóstico de la plataforma subyacente (Swarm, Kubernetes, etc)
13
Comparación con Puppet, Chef, Salt, Ansible, etc
• Tiene un propósito muy específico
14
Comparación con Puppet, Chef, Salt, Ansible, etc
• Tiene un propósito muy específico
• No requiere agentes adicionales (solo Docker)
14
Comparación con Puppet, Chef, Salt, Ansible, etc
• Tiene un propósito muy específico
• No requiere agentes adicionales (solo Docker)
• Puede ser implementado por el equipo de desarrollo del producto
14
Conclusión
Resumen
• Los contenedores permiten consolidar la infraestructura.
15
Resumen
• Los contenedores permiten consolidar la infraestructura.
• Docker ha bajado la barrera de acceso a contenedores.
15
Resumen
• Los contenedores permiten consolidar la infraestructura.
• Docker ha bajado la barrera de acceso a contenedores.
• Bootstrap resuelve el problema de la distribución de configuraciones.
15
Resumen
• Los contenedores permiten consolidar la infraestructura.
• Docker ha bajado la barrera de acceso a contenedores.
• Bootstrap resuelve el problema de la distribución de configuraciones.
• Bootstrap permite unificar la interfaz de operación.
15
¿Preguntas?
15

Más contenido relacionado

La actualidad más candente

Configurando un repositorio de git hub usando netbeans ide
Configurando un repositorio de git hub usando netbeans ideConfigurando un repositorio de git hub usando netbeans ide
Configurando un repositorio de git hub usando netbeans ide
ferosorno
 
Docker meetup :: Kubernetes en Restorando
Docker meetup :: Kubernetes en RestorandoDocker meetup :: Kubernetes en Restorando
Docker meetup :: Kubernetes en Restorando
Restorando
 
Divide y vencerás con docker y core os
Divide y vencerás con docker y core osDivide y vencerás con docker y core os
Divide y vencerás con docker y core os
David Luque Quintana
 
BEEVA | Introducción a Docker
BEEVA | Introducción a DockerBEEVA | Introducción a Docker
BEEVA | Introducción a Docker
BEEVA_es
 
Docker desde cero
Docker desde ceroDocker desde cero
Docker desde cero
Mariano German Egui
 
Kubernetes technical overview and our experience at Restorando :: Buenos Aire...
Kubernetes technical overview and our experience at Restorando :: Buenos Aire...Kubernetes technical overview and our experience at Restorando :: Buenos Aire...
Kubernetes technical overview and our experience at Restorando :: Buenos Aire...
Restorando
 
nerdear.la 2016 - Docker workshop
nerdear.la 2016 - Docker workshopnerdear.la 2016 - Docker workshop
nerdear.la 2016 - Docker workshop
Restorando
 
introducción a Docker
introducción a Dockerintroducción a Docker
introducción a Docker
Martin Kenneth Michalsky
 
Fury - Docker Meetup
Fury - Docker MeetupFury - Docker Meetup
Fury - Docker Meetup
Gabriel Eisbruch
 
Docker: la revolución en virtualización
Docker: la revolución en virtualizaciónDocker: la revolución en virtualización
Docker: la revolución en virtualización
Marcelo Ochoa
 
PPT Git GitHub
PPT Git GitHubPPT Git GitHub
PPT Git GitHubdrsevilla
 
Kubernetes: Caso de uso real con mememtum y Taniwa
Kubernetes: Caso de uso real con mememtum y TaniwaKubernetes: Caso de uso real con mememtum y Taniwa
Kubernetes: Caso de uso real con mememtum y Taniwa
Joselu Marina
 
Docker introducción - Flisol 2015 Huancayo
Docker introducción - Flisol 2015 HuancayoDocker introducción - Flisol 2015 Huancayo
Docker introducción - Flisol 2015 Huancayo
Mario IC
 
Vagrant y Docker - Guía práctica de uso
Vagrant y Docker - Guía práctica de usoVagrant y Docker - Guía práctica de uso
Vagrant y Docker - Guía práctica de uso
Sergio Zambrano Delfa
 
Open Build Service
Open Build ServiceOpen Build Service
Open Build Service
Mauro Parra-Miranda
 
Devops episodio 1. devOpsTnf
Devops episodio 1. devOpsTnf Devops episodio 1. devOpsTnf
Devops episodio 1. devOpsTnf
Erasmo Domínguez Jiménez
 
Git y Jenkins. El futuro en la gestión del ciclo de vida de aplicaciones
Git y Jenkins. El futuro en la gestión del ciclo de vida de aplicacionesGit y Jenkins. El futuro en la gestión del ciclo de vida de aplicaciones
Git y Jenkins. El futuro en la gestión del ciclo de vida de aplicaciones
Paradigma Digital
 
Seminario CLEFormacion-docker
Seminario CLEFormacion-dockerSeminario CLEFormacion-docker
Seminario CLEFormacion-docker
CLEFormación
 
Introducción a Docker
Introducción a DockerIntroducción a Docker
Introducción a Docker
Open Canarias
 

La actualidad más candente (20)

Configurando un repositorio de git hub usando netbeans ide
Configurando un repositorio de git hub usando netbeans ideConfigurando un repositorio de git hub usando netbeans ide
Configurando un repositorio de git hub usando netbeans ide
 
Docker meetup :: Kubernetes en Restorando
Docker meetup :: Kubernetes en RestorandoDocker meetup :: Kubernetes en Restorando
Docker meetup :: Kubernetes en Restorando
 
Divide y vencerás con docker y core os
Divide y vencerás con docker y core osDivide y vencerás con docker y core os
Divide y vencerás con docker y core os
 
BEEVA | Introducción a Docker
BEEVA | Introducción a DockerBEEVA | Introducción a Docker
BEEVA | Introducción a Docker
 
Docker desde cero
Docker desde ceroDocker desde cero
Docker desde cero
 
Kubernetes technical overview and our experience at Restorando :: Buenos Aire...
Kubernetes technical overview and our experience at Restorando :: Buenos Aire...Kubernetes technical overview and our experience at Restorando :: Buenos Aire...
Kubernetes technical overview and our experience at Restorando :: Buenos Aire...
 
nerdear.la 2016 - Docker workshop
nerdear.la 2016 - Docker workshopnerdear.la 2016 - Docker workshop
nerdear.la 2016 - Docker workshop
 
introducción a Docker
introducción a Dockerintroducción a Docker
introducción a Docker
 
Fury - Docker Meetup
Fury - Docker MeetupFury - Docker Meetup
Fury - Docker Meetup
 
Docker: la revolución en virtualización
Docker: la revolución en virtualizaciónDocker: la revolución en virtualización
Docker: la revolución en virtualización
 
PPT Git GitHub
PPT Git GitHubPPT Git GitHub
PPT Git GitHub
 
Taller GitHub
Taller GitHubTaller GitHub
Taller GitHub
 
Kubernetes: Caso de uso real con mememtum y Taniwa
Kubernetes: Caso de uso real con mememtum y TaniwaKubernetes: Caso de uso real con mememtum y Taniwa
Kubernetes: Caso de uso real con mememtum y Taniwa
 
Docker introducción - Flisol 2015 Huancayo
Docker introducción - Flisol 2015 HuancayoDocker introducción - Flisol 2015 Huancayo
Docker introducción - Flisol 2015 Huancayo
 
Vagrant y Docker - Guía práctica de uso
Vagrant y Docker - Guía práctica de usoVagrant y Docker - Guía práctica de uso
Vagrant y Docker - Guía práctica de uso
 
Open Build Service
Open Build ServiceOpen Build Service
Open Build Service
 
Devops episodio 1. devOpsTnf
Devops episodio 1. devOpsTnf Devops episodio 1. devOpsTnf
Devops episodio 1. devOpsTnf
 
Git y Jenkins. El futuro en la gestión del ciclo de vida de aplicaciones
Git y Jenkins. El futuro en la gestión del ciclo de vida de aplicacionesGit y Jenkins. El futuro en la gestión del ciclo de vida de aplicaciones
Git y Jenkins. El futuro en la gestión del ciclo de vida de aplicaciones
 
Seminario CLEFormacion-docker
Seminario CLEFormacion-dockerSeminario CLEFormacion-docker
Seminario CLEFormacion-docker
 
Introducción a Docker
Introducción a DockerIntroducción a Docker
Introducción a Docker
 

Similar a A Strategy for Container Lifecycle Management

Curso Kubernetes CodeURJC
Curso Kubernetes CodeURJCCurso Kubernetes CodeURJC
Curso Kubernetes CodeURJC
Micael Gallego
 
Kubernetes para developers
Kubernetes para developersKubernetes para developers
Kubernetes para developers
Jaime Perera Merino
 
Curso gratuito de Docker
Curso gratuito de DockerCurso gratuito de Docker
Curso gratuito de Docker
Rafael Hernamperez Martin
 
Game of pods - Kubernetes
Game of pods - KubernetesGame of pods - Kubernetes
Game of pods - Kubernetes
jdezine
 
Introduccion a SQL Server 2017 en Docker
Introduccion a SQL Server 2017 en Docker Introduccion a SQL Server 2017 en Docker
Introduccion a SQL Server 2017 en Docker
Eduardo Castro
 
Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]
Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]
Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]
Keopx
 
Docker para Data Scientist - Master en Data Science URJC
Docker para Data Scientist - Master en Data Science URJCDocker para Data Scientist - Master en Data Science URJC
Docker para Data Scientist - Master en Data Science URJC
Micael Gallego
 
Pruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOpsPruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOps
Software Guru
 
administracion de sistemas de informacion
administracion de sistemas de informacionadministracion de sistemas de informacion
administracion de sistemas de informacion
StivenLopez46
 
Jug málaga docker 101 - final
Jug málaga   docker 101 - finalJug málaga   docker 101 - final
Jug málaga docker 101 - final
Julio Palma Vázquez
 
Kubernetes workshop
Kubernetes workshopKubernetes workshop
Kubernetes workshop
Raúl Requero García
 
Corriendo SQL Server en Docker
Corriendo SQL Server en DockerCorriendo SQL Server en Docker
Corriendo SQL Server en Docker
Javier Villegas
 
Docker en el entorno de desarrollo
Docker en el entorno de desarrolloDocker en el entorno de desarrollo
Docker en el entorno de desarrollo
Alejandro Hernández
 
VLCSofting 2021 - HARD AS A POD 落. HARDENING DE DESPLIEGUES EN KUBERNETES CON...
VLCSofting 2021 - HARD AS A POD 落. HARDENING DE DESPLIEGUES EN KUBERNETES CON...VLCSofting 2021 - HARD AS A POD 落. HARDENING DE DESPLIEGUES EN KUBERNETES CON...
VLCSofting 2021 - HARD AS A POD 落. HARDENING DE DESPLIEGUES EN KUBERNETES CON...
Francisco Javier Barrena
 
VirtualBox historia y características como virtualizador
VirtualBox historia y características como virtualizadorVirtualBox historia y características como virtualizador
VirtualBox historia y características como virtualizador
JorgePortillo33
 
DockerCon 2022 Spanish Room-ONBOARDING.pdf
DockerCon 2022 Spanish Room-ONBOARDING.pdfDockerCon 2022 Spanish Room-ONBOARDING.pdf
DockerCon 2022 Spanish Room-ONBOARDING.pdf
Angel Borroy López
 
Docker - Sysmana 2014
Docker - Sysmana 2014Docker - Sysmana 2014
Docker - Sysmana 2014
quaip
 
An evening with... Docker
An evening with... DockerAn evening with... Docker
An evening with... Docker
Arkhotech
 
Dbdeployer
DbdeployerDbdeployer
Dbdeployer
Giuseppe Maxia
 

Similar a A Strategy for Container Lifecycle Management (20)

Curso Kubernetes CodeURJC
Curso Kubernetes CodeURJCCurso Kubernetes CodeURJC
Curso Kubernetes CodeURJC
 
Kubernetes para developers
Kubernetes para developersKubernetes para developers
Kubernetes para developers
 
Curso gratuito de Docker
Curso gratuito de DockerCurso gratuito de Docker
Curso gratuito de Docker
 
Game of pods - Kubernetes
Game of pods - KubernetesGame of pods - Kubernetes
Game of pods - Kubernetes
 
Introduccion a SQL Server 2017 en Docker
Introduccion a SQL Server 2017 en Docker Introduccion a SQL Server 2017 en Docker
Introduccion a SQL Server 2017 en Docker
 
Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]
Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]
Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]
 
Docker para Data Scientist - Master en Data Science URJC
Docker para Data Scientist - Master en Data Science URJCDocker para Data Scientist - Master en Data Science URJC
Docker para Data Scientist - Master en Data Science URJC
 
Pruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOpsPruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOps
 
administracion de sistemas de informacion
administracion de sistemas de informacionadministracion de sistemas de informacion
administracion de sistemas de informacion
 
Jug málaga docker 101 - final
Jug málaga   docker 101 - finalJug málaga   docker 101 - final
Jug málaga docker 101 - final
 
Kubernetes workshop
Kubernetes workshopKubernetes workshop
Kubernetes workshop
 
Corriendo SQL Server en Docker
Corriendo SQL Server en DockerCorriendo SQL Server en Docker
Corriendo SQL Server en Docker
 
Docker en el entorno de desarrollo
Docker en el entorno de desarrolloDocker en el entorno de desarrollo
Docker en el entorno de desarrollo
 
VLCSofting 2021 - HARD AS A POD 落. HARDENING DE DESPLIEGUES EN KUBERNETES CON...
VLCSofting 2021 - HARD AS A POD 落. HARDENING DE DESPLIEGUES EN KUBERNETES CON...VLCSofting 2021 - HARD AS A POD 落. HARDENING DE DESPLIEGUES EN KUBERNETES CON...
VLCSofting 2021 - HARD AS A POD 落. HARDENING DE DESPLIEGUES EN KUBERNETES CON...
 
VirtualBox historia y características como virtualizador
VirtualBox historia y características como virtualizadorVirtualBox historia y características como virtualizador
VirtualBox historia y características como virtualizador
 
ATICA DevOps
ATICA DevOpsATICA DevOps
ATICA DevOps
 
DockerCon 2022 Spanish Room-ONBOARDING.pdf
DockerCon 2022 Spanish Room-ONBOARDING.pdfDockerCon 2022 Spanish Room-ONBOARDING.pdf
DockerCon 2022 Spanish Room-ONBOARDING.pdf
 
Docker - Sysmana 2014
Docker - Sysmana 2014Docker - Sysmana 2014
Docker - Sysmana 2014
 
An evening with... Docker
An evening with... DockerAn evening with... Docker
An evening with... Docker
 
Dbdeployer
DbdeployerDbdeployer
Dbdeployer
 

Último

leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
Leidyfuentes19
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
ManuelCampos464987
 
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
CesarPazosQuispe
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
PABLOCESARGARZONBENI
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
DanielErazoMedina
 
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB  S2. PARA VSATMANUAL DEL DECODIFICADOR DVB  S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
Ing. Julio Iván Mera Casas
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
cj3806354
 
Ventajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloroVentajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloro
durangense277
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
DiegoCampos433849
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
CrystalRomero18
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
raquelariza02
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
ValeriaAyala48
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
marianabz2403
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
cdraco
 
Desarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdfDesarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdf
samuelvideos
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
Emilio Casbas
 
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
espinozaernesto427
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
vazquezgarciajesusma
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
AlejandraCasallas7
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
zoecaicedosalazar
 

Último (20)

leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
 
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
 
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB  S2. PARA VSATMANUAL DEL DECODIFICADOR DVB  S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
Ventajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloroVentajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloro
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
 
Desarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdfDesarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdf
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
 
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
 

A Strategy for Container Lifecycle Management

  • 1. A Strategy for Container Lifecycle Management Federico Aguirre, Alfredo Edye, Edgardo Hames September 6, 2017
  • 2. Table of contents 1. Introducción 2. 12-Factor Apps 3. Bootstrap 4. Conclusión 1
  • 4. Reseña histórica 1956 • Memoria Virtual, Fritz-Rudolf Güntsch 1959 • Tiempo Compartido, John McCarthy 1964 • Hypervisor (14 VMs concurrentes), IBM 1979 • chroot, Unix 2000 • Virtualización OS, Virtuozzo 2000 • jails, FreeBSD 2004 • zones, Solaris 2008 • namespaces, Linux 2013 • Docker 2
  • 9. Presentación • Uso de formatos declarativos para configuraciones 6
  • 10. Presentación • Uso de formatos declarativos para configuraciones • Existencia de un contrato claro entre las aplicaciones y el sistema operativo para mayor portabilidad 6
  • 11. Presentación • Uso de formatos declarativos para configuraciones • Existencia de un contrato claro entre las aplicaciones y el sistema operativo para mayor portabilidad • Simplificación de despliegue en plataformas cloud 6
  • 12. Presentación • Uso de formatos declarativos para configuraciones • Existencia de un contrato claro entre las aplicaciones y el sistema operativo para mayor portabilidad • Simplificación de despliegue en plataformas cloud • Integración continua para mayor agilidad 6
  • 13. Presentación • Uso de formatos declarativos para configuraciones • Existencia de un contrato claro entre las aplicaciones y el sistema operativo para mayor portabilidad • Simplificación de despliegue en plataformas cloud • Integración continua para mayor agilidad • Escalabilidad sin cambios significativos en la arquitectura, herramientas y prácticas de desarrollo 6
  • 14. Procesos administrativos El código de administración y despliegue debe • entregarse junto con el de la aplicación para evitar inconsistencias 7
  • 15. Procesos administrativos El código de administración y despliegue debe • entregarse junto con el de la aplicación para evitar inconsistencias • ser autocontenido y no depender de la existencias de herramientas o bibliotecas en el sistema 7
  • 16. Problema ¿Cómo distribuimos los scripts de mantenimiento y sus configuraciones? 8
  • 18. Bootstrap Un nuevo contenedor denominado Bootstrap encargado de • distribución de scripts de mantenimiento y configuraciones 9
  • 19. Bootstrap Un nuevo contenedor denominado Bootstrap encargado de • distribución de scripts de mantenimiento y configuraciones • descarga de imágenes del sistema 9
  • 20. Bootstrap Un nuevo contenedor denominado Bootstrap encargado de • distribución de scripts de mantenimiento y configuraciones • descarga de imágenes del sistema • gestión del ciclo de vida (inicio, detención, estado, etc) 9
  • 21. Bootstrap Un nuevo contenedor denominado Bootstrap encargado de • distribución de scripts de mantenimiento y configuraciones • descarga de imágenes del sistema • gestión del ciclo de vida (inicio, detención, estado, etc) • tareas de mantenimiento (upgrade, downgrade, migración, etc) 9
  • 22. Uso Para descargar las imágenes de los servicios $ docker run --rm bootstrap pull Para desplegar los contenedores $ docker run --rm bootstrap up Para detener los contenedores $ docker run --rm bootstrap stop 10
  • 23. Implementación (script) #!/bin/bash command=$1 case "$command" in "pull") docker-compose pull ;; "up") docker-compose up ;; "stop") # TODO: Pedir al usuario que confirme docker-compose stop ;; esac 11
  • 24. Implementación (Dockerfile) FROM docker/compose:1.12.0 COPY docker-compose.yml /opt/bitlogic COPY startup.sh /opt/bitlogic RUN chmod 755 /opt/bitlogic/startup.sh ENTRYPOINT /opt/bitlogic/startup.sh 12
  • 25. Ventajas • Aplica a cualquier tipo de proyecto que use Docker 13
  • 26. Ventajas • Aplica a cualquier tipo de proyecto que use Docker • Puede usarse con cualquier motor de integración y despliegue continuos 13
  • 27. Ventajas • Aplica a cualquier tipo de proyecto que use Docker • Puede usarse con cualquier motor de integración y despliegue continuos • Facilita el despliegue del producto en el entorno de desarrollo 13
  • 28. Ventajas • Aplica a cualquier tipo de proyecto que use Docker • Puede usarse con cualquier motor de integración y despliegue continuos • Facilita el despliegue del producto en el entorno de desarrollo • Permite desplegar remotamente usando la API TCP de Docker 13
  • 29. Ventajas • Aplica a cualquier tipo de proyecto que use Docker • Puede usarse con cualquier motor de integración y despliegue continuos • Facilita el despliegue del producto en el entorno de desarrollo • Permite desplegar remotamente usando la API TCP de Docker • Garantiza la compatibilidad con cada versión del producto 13
  • 30. Ventajas • Aplica a cualquier tipo de proyecto que use Docker • Puede usarse con cualquier motor de integración y despliegue continuos • Facilita el despliegue del producto en el entorno de desarrollo • Permite desplegar remotamente usando la API TCP de Docker • Garantiza la compatibilidad con cada versión del producto • Es agnóstico de la plataforma subyacente (Swarm, Kubernetes, etc) 13
  • 31. Comparación con Puppet, Chef, Salt, Ansible, etc • Tiene un propósito muy específico 14
  • 32. Comparación con Puppet, Chef, Salt, Ansible, etc • Tiene un propósito muy específico • No requiere agentes adicionales (solo Docker) 14
  • 33. Comparación con Puppet, Chef, Salt, Ansible, etc • Tiene un propósito muy específico • No requiere agentes adicionales (solo Docker) • Puede ser implementado por el equipo de desarrollo del producto 14
  • 35. Resumen • Los contenedores permiten consolidar la infraestructura. 15
  • 36. Resumen • Los contenedores permiten consolidar la infraestructura. • Docker ha bajado la barrera de acceso a contenedores. 15
  • 37. Resumen • Los contenedores permiten consolidar la infraestructura. • Docker ha bajado la barrera de acceso a contenedores. • Bootstrap resuelve el problema de la distribución de configuraciones. 15
  • 38. Resumen • Los contenedores permiten consolidar la infraestructura. • Docker ha bajado la barrera de acceso a contenedores. • Bootstrap resuelve el problema de la distribución de configuraciones. • Bootstrap permite unificar la interfaz de operación. 15