SlideShare una empresa de Scribd logo
09.06.2017
Microservices
Architectures
Eduard Tomàs
Ya funciona en mi máquina… Y
en producción ¿qué?
Whale hunter @ Plain Concepts
2
09:15 Microservicios y Contenedores con plataforma Microsoft
10:15 Ya funciona en mi máquina... Y en producción, ¿qué?
11:00 Break
11:30 Patrones de diseño de software en la creación de
microservicios
12:15 Serverless microservices
13:00 Microservices 2.0: Service Fabric Core Wars
13:45 Cóctel
Microservices
Architectures
Qué veremos
3
1. Escenario inicial
2. Dockerizando el desarrollo
3. Uso de Docker en producción
#MicroservicesEvent
Eduard Tomàs
@plainconcepts #MicroservicesEvent 4
@eiximenis
Whale Hunter
5
Escenario inicial
Escenario demo: dos contenedores que se
comunican entre ellos
Binding externo de IISExpress configurado
URL reservada con netsh
(Al final) En mi máquina todo funciona
perfectamente
Escenario Inicial
@plainconcepts #MicroservicesEvent 6
Todo funciona en nuestra máquina
7
Dockerizando el desarrollo
Usa siempre docker-compose incluso en escenarios de un contenedor
Facilita la gestión de la configuración
Facilita la ejecución de contenedores con mapeos de puertos
Todos los contenedores dentro del mismo compose comparten red y se pueden
localizar por nombre.
Paso 1: Compose
@plainconcepts #MicroservicesEvent 8
Usa Docker Machine cuando quieras tener un entorno de desarrollo
separado de tu máquina
Con Docker Machine los contenedores no se ejecutan en tu máquina, si no
en otra (Docker Host)
La CLI de Docker sí se que se ejecuta en tu máquina y se comunica de forma
transparente con el Docker Host
Paso 2: Docker Machine
@plainconcepts #MicroservicesEvent
9
10
Uso de Docker en producción
Algunos datos de este 2017
@plainconcepts #MicroservicesEvent 11
Datos sacados de https://sysdig.com/blog/sysdig-docker-usage-report-2017/
Algunos datos de este 2017
@plainconcepts #MicroservicesEvent 12
Datos sacados de https://www.datadoghq.com/docker-adoption/
Este es el escenario más sencillo
Todos tus contenedores se ejecutan en una MV
La MV ejecuta el docker-compose
Puedes escalar añadiendo más MVs que ejecuten docker-compose
Sistema muy sencillo de configurar
Ideal para entornos de integración, pruebas, etc
Paso 1: Single Host
@plainconcepts #MicroservicesEvent 13
Tu build de CI debe
1. Crear imágenes Docker
2. Subirlas a un registro (Docker Hub, ACR, Quay, …)
3. Añadir tags a las imágenes
Tu release de CD debe
1. Relanzar docker-compose en todos los hosts
Docker-compose de los hosts debe parar todos los contenedores, descargar
imágenes nuevas y recrear contenedores
CI/CD con Single Host
@plainconcepts #MicroservicesEvent
14
Hospedar contenedores en AppServices de Azure
Cada AppService ejecuta un contenedor
Ideal para desplegar rápidamente un entorno PaaS
Escalabilidad via Service Plan
Paso 2: AppServices
@plainconcepts #MicroservicesEvent 15
Tu build de CI debe
1. Crear imágenes Docker
2. Subirlas a un registro (Docker Hub, ACR, Quay, …)
3. Añadir tags a las imágenes
Tu release de CD debe
1. Publicar imágenes en AppServices
CI/CD en AppServices
@plainconcepts #MicroservicesEvent
16
Hospedar contenedores en un orquestador
Un orquestador se compone de M máquinas cada una de las cuales ejecuta un
número variable de contenedores
Alta escalabilidad
Alta disponibilidad
Entorno avanzado de producción
Paso 3: Orquestador
@plainconcepts #MicroservicesEvent 17
No cometas el error de pensar que no puedes
salir a producción sin un orquestador…
… ¡Pero considera a medio plazo de usar uno!
Recuerda: “Solo” un
40% usa hoy un
orquestador
@plainconcepts 18
Orquestadores
@plainconcepts #MicroservicesEvent
19
Azure Container Service es un servicio PaaS de orquestradores
Soporte para Kubernetes, DC/OS y Swarm
Expone el orquestador al exterior
Facilita la creación y mantenimiento de orquestradores en Azure
ACS
@plainconcepts #MicroservicesEvent 20
Actual líder en el mercado de orquestradores de Docker
Configuración propia (no usa la de compose)
Un pod es un conjunto de contenedores que se despliegan y escalan juntos. Los
contenedores dentro de un mismo pod comparten IP y espacio de puertos, se ven a
través de localhost y tienen un volumen compartido.
Un servicio expone una o varias instancias de un pod a través de una IP externa
Kubernetes (k8s)
@plainconcepts #MicroservicesEvent 21
1. Autenticar k8s con ACR (create secret docker-registry)
2. Crear deployments y servicios (create –f myfile.yaml)
3. Poner en marcha el deployment (rollout resume)
4. Exponer el servicio para que tenga una IP pública (expose)
5. Escalar
Despliegue en k8s
@plainconcepts #MicroservicesEvent 22
Tu build de CI debe
1. Crear imágenes Docker
2. Subirlas a un registro (Docker Hub, ACR, Quay, …)
3. Añadir tags a las imágenes
Tu release de CD debe
1. Ejecutar script con comandos de k8s para crear los despliegues a partir de
los ficheros yaml
CI/CD con k8s
@plainconcepts #MicroservicesEvent
23
¡GRACIAS!
www.plainconcepts.com
@plainconcepts
www.plainconcepts.com
MADRID
Paseo de la Castellana 163, 10º
28046 Madrid. España
T. (+34) 91 5346 836
BILBAO
Calle Ledesma 10-bis 3º
48001 Bilbao. España
T. (+34) 94 6073 371
BARCELONA
Carrer Compte d’Urgell 240 4º 1A
08036 Barcelona. España
T. (+34) 93 7978 566
SEVILLA
Avenida de la innovación s/n
Edificio Renta Sevilla, 3º A
41020 Sevilla. España
DUBAI
Dubai Internet City. Building 1
73030 Dubai. EAU
T. (+971) 4 551 6653
LONDON
Impact Hub Kings Cross
24B York Way, N1 9AB
London. UK
SEATTLE
1511, Third Ave
Seattle WA 98101. USA
T. (+1) 206 708 1285

Más contenido relacionado

Similar a Microservices: Ya funciona en mi máquina… Y en producción, ¿qué?

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
 
Docker orientado al desarrollo de aplicaciones con NodeJS
Docker orientado al desarrollo de aplicaciones con NodeJSDocker orientado al desarrollo de aplicaciones con NodeJS
Docker orientado al desarrollo de aplicaciones con NodeJS
Jan Sanchez
 
Workshop 1 - Introducción a los Microservicios y Contenedores (@TechHub - Goo...
Workshop 1 - Introducción a los Microservicios y Contenedores (@TechHub - Goo...Workshop 1 - Introducción a los Microservicios y Contenedores (@TechHub - Goo...
Workshop 1 - Introducción a los Microservicios y Contenedores (@TechHub - Goo...
Carlos Crisóstomo Vals
 
Game of pods - Kubernetes
Game of pods - KubernetesGame of pods - Kubernetes
Game of pods - Kubernetes
jdezine
 
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 101 Workshop - WomenWhoCode Buenos Aires
Docker 101 Workshop - WomenWhoCode Buenos AiresDocker 101 Workshop - WomenWhoCode Buenos Aires
Docker 101 Workshop - WomenWhoCode Buenos Aires
Bel Rey
 
Iniciando con containers en azure
Iniciando con containers en azureIniciando con containers en azure
Iniciando con containers en azure
Oscar Gensollen
 
Docker and networking
Docker and networkingDocker and networking
Docker and networking
Cristian Casis Villarreal
 
Corriendo SQL Server en Docker
Corriendo SQL Server en DockerCorriendo SQL Server en Docker
Corriendo SQL Server en Docker
Javier Villegas
 
Docker y kubernetes para desarrolladores .NET - Meetup Barcelona 2019
Docker y kubernetes para desarrolladores .NET - Meetup Barcelona 2019 Docker y kubernetes para desarrolladores .NET - Meetup Barcelona 2019
Docker y kubernetes para desarrolladores .NET - Meetup Barcelona 2019
Santi Macias Rodriguez
 
De desarrollo a producción usando docker
De desarrollo a producción usando dockerDe desarrollo a producción usando docker
De desarrollo a producción usando docker
Christian Rodriguez
 
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
 
Autobuses de Madrid en tiempo real con Azure Relay
Autobuses de Madrid en tiempo real con Azure RelayAutobuses de Madrid en tiempo real con Azure Relay
Autobuses de Madrid en tiempo real con Azure Relay
Manuel Rodrigo Cabello Malagón
 
Contenedores, creando infraestructuras homogeneas
Contenedores, creando infraestructuras homogeneasContenedores, creando infraestructuras homogeneas
Contenedores, creando infraestructuras homogeneas
Software Guru
 
Dockeriza tu SQL Server
Dockeriza tu SQL ServerDockeriza tu SQL Server
Dockeriza tu SQL Server
Adrian Diaz Cervera
 
docker.pdf
docker.pdfdocker.pdf
docker.pdf
AntonyPrez3
 
Jenkins Peru Meetup Docker Ecosystem
Jenkins Peru Meetup Docker EcosystemJenkins Peru Meetup Docker Ecosystem
Jenkins Peru Meetup Docker Ecosystem
Mario IC
 
Web App Container
Web App ContainerWeb App Container
Web App Container
CDS
 
Curso gratuito de Docker
Curso gratuito de DockerCurso gratuito de Docker
Curso gratuito de Docker
Rafael Hernamperez Martin
 
Docker containers-itb-2021
Docker containers-itb-2021Docker containers-itb-2021
Docker containers-itb-2021
JaimeRamirez212673
 

Similar a Microservices: Ya funciona en mi máquina… Y en producción, ¿qué? (20)

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
 
Docker orientado al desarrollo de aplicaciones con NodeJS
Docker orientado al desarrollo de aplicaciones con NodeJSDocker orientado al desarrollo de aplicaciones con NodeJS
Docker orientado al desarrollo de aplicaciones con NodeJS
 
Workshop 1 - Introducción a los Microservicios y Contenedores (@TechHub - Goo...
Workshop 1 - Introducción a los Microservicios y Contenedores (@TechHub - Goo...Workshop 1 - Introducción a los Microservicios y Contenedores (@TechHub - Goo...
Workshop 1 - Introducción a los Microservicios y Contenedores (@TechHub - Goo...
 
Game of pods - Kubernetes
Game of pods - KubernetesGame of pods - Kubernetes
Game of pods - Kubernetes
 
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 101 Workshop - WomenWhoCode Buenos Aires
Docker 101 Workshop - WomenWhoCode Buenos AiresDocker 101 Workshop - WomenWhoCode Buenos Aires
Docker 101 Workshop - WomenWhoCode Buenos Aires
 
Iniciando con containers en azure
Iniciando con containers en azureIniciando con containers en azure
Iniciando con containers en azure
 
Docker and networking
Docker and networkingDocker and networking
Docker and networking
 
Corriendo SQL Server en Docker
Corriendo SQL Server en DockerCorriendo SQL Server en Docker
Corriendo SQL Server en Docker
 
Docker y kubernetes para desarrolladores .NET - Meetup Barcelona 2019
Docker y kubernetes para desarrolladores .NET - Meetup Barcelona 2019 Docker y kubernetes para desarrolladores .NET - Meetup Barcelona 2019
Docker y kubernetes para desarrolladores .NET - Meetup Barcelona 2019
 
De desarrollo a producción usando docker
De desarrollo a producción usando dockerDe desarrollo a producción usando docker
De desarrollo a producción usando docker
 
Jug málaga docker 101 - final
Jug málaga   docker 101 - finalJug málaga   docker 101 - final
Jug málaga docker 101 - final
 
Autobuses de Madrid en tiempo real con Azure Relay
Autobuses de Madrid en tiempo real con Azure RelayAutobuses de Madrid en tiempo real con Azure Relay
Autobuses de Madrid en tiempo real con Azure Relay
 
Contenedores, creando infraestructuras homogeneas
Contenedores, creando infraestructuras homogeneasContenedores, creando infraestructuras homogeneas
Contenedores, creando infraestructuras homogeneas
 
Dockeriza tu SQL Server
Dockeriza tu SQL ServerDockeriza tu SQL Server
Dockeriza tu SQL Server
 
docker.pdf
docker.pdfdocker.pdf
docker.pdf
 
Jenkins Peru Meetup Docker Ecosystem
Jenkins Peru Meetup Docker EcosystemJenkins Peru Meetup Docker Ecosystem
Jenkins Peru Meetup Docker Ecosystem
 
Web App Container
Web App ContainerWeb App Container
Web App Container
 
Curso gratuito de Docker
Curso gratuito de DockerCurso gratuito de Docker
Curso gratuito de Docker
 
Docker containers-itb-2021
Docker containers-itb-2021Docker containers-itb-2021
Docker containers-itb-2021
 

Más de Plain Concepts

R y Python con Power BI, la ciencia y el análisis de datos, juntos
R y Python con Power BI, la ciencia y el análisis de datos, juntosR y Python con Power BI, la ciencia y el análisis de datos, juntos
R y Python con Power BI, la ciencia y el análisis de datos, juntos
Plain Concepts
 
Video kills the radio star: e-mail is crap and needed disruption
 Video kills the radio star: e-mail is crap and needed disruption Video kills the radio star: e-mail is crap and needed disruption
Video kills the radio star: e-mail is crap and needed disruption
Plain Concepts
 
Cómo redefinir tu organización con IA
Cómo redefinir tu organización con IACómo redefinir tu organización con IA
Cómo redefinir tu organización con IA
Plain Concepts
 
Dx29: assisting genetic disease diagnosis with physician-focused AI pipelines
Dx29: assisting genetic disease diagnosis with physician-focused AI pipelinesDx29: assisting genetic disease diagnosis with physician-focused AI pipelines
Dx29: assisting genetic disease diagnosis with physician-focused AI pipelines
Plain Concepts
 
¿Qué es real? Cuando la IA intenta engañar al ojo humano
¿Qué es real? Cuando la IA intenta engañar al ojo humano¿Qué es real? Cuando la IA intenta engañar al ojo humano
¿Qué es real? Cuando la IA intenta engañar al ojo humano
Plain Concepts
 
Inteligencia artificial para detectar el cáncer de mama
Inteligencia artificial para  detectar el cáncer de mamaInteligencia artificial para  detectar el cáncer de mama
Inteligencia artificial para detectar el cáncer de mama
Plain Concepts
 
¿Está tu compañía preparada para el reto de la Inteligencia Artificial?
¿Está tu compañía preparada para el reto de la Inteligencia Artificial?¿Está tu compañía preparada para el reto de la Inteligencia Artificial?
¿Está tu compañía preparada para el reto de la Inteligencia Artificial?
Plain Concepts
 
Cognitive Services en acción
Cognitive Services en acciónCognitive Services en acción
Cognitive Services en acción
Plain Concepts
 
El Hogar Inteligente. De los datos de IoT a los hábitos de una familia a trav...
El Hogar Inteligente. De los datos de IoT a los hábitos de una familia a trav...El Hogar Inteligente. De los datos de IoT a los hábitos de una familia a trav...
El Hogar Inteligente. De los datos de IoT a los hábitos de una familia a trav...
Plain Concepts
 
What if AI was your daughter?
What if AI was your daughter?What if AI was your daughter?
What if AI was your daughter?
Plain Concepts
 
Recomendación Basada en Contenidos con Deep Learning: Qué queríamos hacer, Qu...
Recomendación Basada en Contenidos con Deep Learning: Qué queríamos hacer, Qu...Recomendación Basada en Contenidos con Deep Learning: Qué queríamos hacer, Qu...
Recomendación Basada en Contenidos con Deep Learning: Qué queríamos hacer, Qu...
Plain Concepts
 
Revolucionando la experiencia de cliente con Big Data e IA
Revolucionando la experiencia de cliente con Big Data e IARevolucionando la experiencia de cliente con Big Data e IA
Revolucionando la experiencia de cliente con Big Data e IA
Plain Concepts
 
IA Score en InfoJobs
IA Score en InfoJobsIA Score en InfoJobs
IA Score en InfoJobs
Plain Concepts
 
Recuperación de información para solicitantes de empleo
Recuperación de información para solicitantes de empleoRecuperación de información para solicitantes de empleo
Recuperación de información para solicitantes de empleo
Plain Concepts
 
La nueva revolución Industrial: Inteligencia Artificial & IoT Edge
La nueva revolución Industrial: Inteligencia Artificial & IoT EdgeLa nueva revolución Industrial: Inteligencia Artificial & IoT Edge
La nueva revolución Industrial: Inteligencia Artificial & IoT Edge
Plain Concepts
 
DotNet 2019 | Sherry List - Azure Cognitive Services with Native Script
DotNet 2019 | Sherry List - Azure Cognitive Services with Native ScriptDotNet 2019 | Sherry List - Azure Cognitive Services with Native Script
DotNet 2019 | Sherry List - Azure Cognitive Services with Native Script
Plain Concepts
 
DotNet 2019 | Quique Fernández - Potenciando VUE con TypeScript, Inversify, V...
DotNet 2019 | Quique Fernández - Potenciando VUE con TypeScript, Inversify, V...DotNet 2019 | Quique Fernández - Potenciando VUE con TypeScript, Inversify, V...
DotNet 2019 | Quique Fernández - Potenciando VUE con TypeScript, Inversify, V...
Plain Concepts
 
DotNet 2019 | Daniela Solís y Manuel Rodrigo Cabello - IoT, una Raspberry Pi ...
DotNet 2019 | Daniela Solís y Manuel Rodrigo Cabello - IoT, una Raspberry Pi ...DotNet 2019 | Daniela Solís y Manuel Rodrigo Cabello - IoT, una Raspberry Pi ...
DotNet 2019 | Daniela Solís y Manuel Rodrigo Cabello - IoT, una Raspberry Pi ...
Plain Concepts
 
El camino a las Cloud Native Apps - Introduction
El camino a las Cloud Native Apps - IntroductionEl camino a las Cloud Native Apps - Introduction
El camino a las Cloud Native Apps - Introduction
Plain Concepts
 
El camino a las Cloud Native Apps - Azure AI
El camino a las Cloud Native Apps - Azure AIEl camino a las Cloud Native Apps - Azure AI
El camino a las Cloud Native Apps - Azure AI
Plain Concepts
 

Más de Plain Concepts (20)

R y Python con Power BI, la ciencia y el análisis de datos, juntos
R y Python con Power BI, la ciencia y el análisis de datos, juntosR y Python con Power BI, la ciencia y el análisis de datos, juntos
R y Python con Power BI, la ciencia y el análisis de datos, juntos
 
Video kills the radio star: e-mail is crap and needed disruption
 Video kills the radio star: e-mail is crap and needed disruption Video kills the radio star: e-mail is crap and needed disruption
Video kills the radio star: e-mail is crap and needed disruption
 
Cómo redefinir tu organización con IA
Cómo redefinir tu organización con IACómo redefinir tu organización con IA
Cómo redefinir tu organización con IA
 
Dx29: assisting genetic disease diagnosis with physician-focused AI pipelines
Dx29: assisting genetic disease diagnosis with physician-focused AI pipelinesDx29: assisting genetic disease diagnosis with physician-focused AI pipelines
Dx29: assisting genetic disease diagnosis with physician-focused AI pipelines
 
¿Qué es real? Cuando la IA intenta engañar al ojo humano
¿Qué es real? Cuando la IA intenta engañar al ojo humano¿Qué es real? Cuando la IA intenta engañar al ojo humano
¿Qué es real? Cuando la IA intenta engañar al ojo humano
 
Inteligencia artificial para detectar el cáncer de mama
Inteligencia artificial para  detectar el cáncer de mamaInteligencia artificial para  detectar el cáncer de mama
Inteligencia artificial para detectar el cáncer de mama
 
¿Está tu compañía preparada para el reto de la Inteligencia Artificial?
¿Está tu compañía preparada para el reto de la Inteligencia Artificial?¿Está tu compañía preparada para el reto de la Inteligencia Artificial?
¿Está tu compañía preparada para el reto de la Inteligencia Artificial?
 
Cognitive Services en acción
Cognitive Services en acciónCognitive Services en acción
Cognitive Services en acción
 
El Hogar Inteligente. De los datos de IoT a los hábitos de una familia a trav...
El Hogar Inteligente. De los datos de IoT a los hábitos de una familia a trav...El Hogar Inteligente. De los datos de IoT a los hábitos de una familia a trav...
El Hogar Inteligente. De los datos de IoT a los hábitos de una familia a trav...
 
What if AI was your daughter?
What if AI was your daughter?What if AI was your daughter?
What if AI was your daughter?
 
Recomendación Basada en Contenidos con Deep Learning: Qué queríamos hacer, Qu...
Recomendación Basada en Contenidos con Deep Learning: Qué queríamos hacer, Qu...Recomendación Basada en Contenidos con Deep Learning: Qué queríamos hacer, Qu...
Recomendación Basada en Contenidos con Deep Learning: Qué queríamos hacer, Qu...
 
Revolucionando la experiencia de cliente con Big Data e IA
Revolucionando la experiencia de cliente con Big Data e IARevolucionando la experiencia de cliente con Big Data e IA
Revolucionando la experiencia de cliente con Big Data e IA
 
IA Score en InfoJobs
IA Score en InfoJobsIA Score en InfoJobs
IA Score en InfoJobs
 
Recuperación de información para solicitantes de empleo
Recuperación de información para solicitantes de empleoRecuperación de información para solicitantes de empleo
Recuperación de información para solicitantes de empleo
 
La nueva revolución Industrial: Inteligencia Artificial & IoT Edge
La nueva revolución Industrial: Inteligencia Artificial & IoT EdgeLa nueva revolución Industrial: Inteligencia Artificial & IoT Edge
La nueva revolución Industrial: Inteligencia Artificial & IoT Edge
 
DotNet 2019 | Sherry List - Azure Cognitive Services with Native Script
DotNet 2019 | Sherry List - Azure Cognitive Services with Native ScriptDotNet 2019 | Sherry List - Azure Cognitive Services with Native Script
DotNet 2019 | Sherry List - Azure Cognitive Services with Native Script
 
DotNet 2019 | Quique Fernández - Potenciando VUE con TypeScript, Inversify, V...
DotNet 2019 | Quique Fernández - Potenciando VUE con TypeScript, Inversify, V...DotNet 2019 | Quique Fernández - Potenciando VUE con TypeScript, Inversify, V...
DotNet 2019 | Quique Fernández - Potenciando VUE con TypeScript, Inversify, V...
 
DotNet 2019 | Daniela Solís y Manuel Rodrigo Cabello - IoT, una Raspberry Pi ...
DotNet 2019 | Daniela Solís y Manuel Rodrigo Cabello - IoT, una Raspberry Pi ...DotNet 2019 | Daniela Solís y Manuel Rodrigo Cabello - IoT, una Raspberry Pi ...
DotNet 2019 | Daniela Solís y Manuel Rodrigo Cabello - IoT, una Raspberry Pi ...
 
El camino a las Cloud Native Apps - Introduction
El camino a las Cloud Native Apps - IntroductionEl camino a las Cloud Native Apps - Introduction
El camino a las Cloud Native Apps - Introduction
 
El camino a las Cloud Native Apps - Azure AI
El camino a las Cloud Native Apps - Azure AIEl camino a las Cloud Native Apps - Azure AI
El camino a las Cloud Native Apps - Azure AI
 

Último

Manual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computoManual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computo
mantenimientocarbra6
 
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdfProjecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Festibity
 
Computacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajasComputacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajas
sofiahuarancabellido
 
Refrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y ForzadoRefrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y Forzado
NicandroMartinez2
 
Informació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdfInformació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdf
Festibity
 
TIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololoTIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololo
KukiiSanchez
 
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANOREVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
gisellearanguren1
 
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
AbrahamCastillo42
 
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
codesiret
 
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdfProjecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Festibity
 
Manual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputosManual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputos
cbtechchihuahua
 
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIAMONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
leia ereni
 
Second Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro TapiaSecond Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro Tapia
al050121024
 
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdf
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdfPresentación Seguridad Digital Profesional Azul Oscuro (1).pdf
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdf
giampierdiaz5
 
Tecnología 5G Presentación.pdf trabajo .
Tecnología 5G Presentación.pdf trabajo .Tecnología 5G Presentación.pdf trabajo .
Tecnología 5G Presentación.pdf trabajo .
asrielgamer3421
 
Manual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputoManual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputo
doctorsoluciones34
 
Sitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajasSitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajas
paulroyal74
 
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfqedublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
larapalaciosmonzon28
 
Nuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsadNuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsad
larapalaciosmonzon28
 
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdfPLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
70244530
 

Último (20)

Manual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computoManual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computo
 
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdfProjecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
 
Computacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajasComputacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajas
 
Refrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y ForzadoRefrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y Forzado
 
Informació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdfInformació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdf
 
TIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololoTIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololo
 
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANOREVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
 
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
 
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
 
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdfProjecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
 
Manual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputosManual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputos
 
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIAMONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
 
Second Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro TapiaSecond Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro Tapia
 
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdf
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdfPresentación Seguridad Digital Profesional Azul Oscuro (1).pdf
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdf
 
Tecnología 5G Presentación.pdf trabajo .
Tecnología 5G Presentación.pdf trabajo .Tecnología 5G Presentación.pdf trabajo .
Tecnología 5G Presentación.pdf trabajo .
 
Manual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputoManual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputo
 
Sitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajasSitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajas
 
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfqedublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
 
Nuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsadNuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsad
 
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdfPLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
 

Microservices: Ya funciona en mi máquina… Y en producción, ¿qué?

  • 1. 09.06.2017 Microservices Architectures Eduard Tomàs Ya funciona en mi máquina… Y en producción ¿qué? Whale hunter @ Plain Concepts
  • 2. 2 09:15 Microservicios y Contenedores con plataforma Microsoft 10:15 Ya funciona en mi máquina... Y en producción, ¿qué? 11:00 Break 11:30 Patrones de diseño de software en la creación de microservicios 12:15 Serverless microservices 13:00 Microservices 2.0: Service Fabric Core Wars 13:45 Cóctel Microservices Architectures
  • 3. Qué veremos 3 1. Escenario inicial 2. Dockerizando el desarrollo 3. Uso de Docker en producción #MicroservicesEvent
  • 6. Escenario demo: dos contenedores que se comunican entre ellos Binding externo de IISExpress configurado URL reservada con netsh (Al final) En mi máquina todo funciona perfectamente Escenario Inicial @plainconcepts #MicroservicesEvent 6 Todo funciona en nuestra máquina
  • 8. Usa siempre docker-compose incluso en escenarios de un contenedor Facilita la gestión de la configuración Facilita la ejecución de contenedores con mapeos de puertos Todos los contenedores dentro del mismo compose comparten red y se pueden localizar por nombre. Paso 1: Compose @plainconcepts #MicroservicesEvent 8
  • 9. Usa Docker Machine cuando quieras tener un entorno de desarrollo separado de tu máquina Con Docker Machine los contenedores no se ejecutan en tu máquina, si no en otra (Docker Host) La CLI de Docker sí se que se ejecuta en tu máquina y se comunica de forma transparente con el Docker Host Paso 2: Docker Machine @plainconcepts #MicroservicesEvent 9
  • 10. 10 Uso de Docker en producción
  • 11. Algunos datos de este 2017 @plainconcepts #MicroservicesEvent 11 Datos sacados de https://sysdig.com/blog/sysdig-docker-usage-report-2017/
  • 12. Algunos datos de este 2017 @plainconcepts #MicroservicesEvent 12 Datos sacados de https://www.datadoghq.com/docker-adoption/
  • 13. Este es el escenario más sencillo Todos tus contenedores se ejecutan en una MV La MV ejecuta el docker-compose Puedes escalar añadiendo más MVs que ejecuten docker-compose Sistema muy sencillo de configurar Ideal para entornos de integración, pruebas, etc Paso 1: Single Host @plainconcepts #MicroservicesEvent 13
  • 14. Tu build de CI debe 1. Crear imágenes Docker 2. Subirlas a un registro (Docker Hub, ACR, Quay, …) 3. Añadir tags a las imágenes Tu release de CD debe 1. Relanzar docker-compose en todos los hosts Docker-compose de los hosts debe parar todos los contenedores, descargar imágenes nuevas y recrear contenedores CI/CD con Single Host @plainconcepts #MicroservicesEvent 14
  • 15. Hospedar contenedores en AppServices de Azure Cada AppService ejecuta un contenedor Ideal para desplegar rápidamente un entorno PaaS Escalabilidad via Service Plan Paso 2: AppServices @plainconcepts #MicroservicesEvent 15
  • 16. Tu build de CI debe 1. Crear imágenes Docker 2. Subirlas a un registro (Docker Hub, ACR, Quay, …) 3. Añadir tags a las imágenes Tu release de CD debe 1. Publicar imágenes en AppServices CI/CD en AppServices @plainconcepts #MicroservicesEvent 16
  • 17. Hospedar contenedores en un orquestador Un orquestador se compone de M máquinas cada una de las cuales ejecuta un número variable de contenedores Alta escalabilidad Alta disponibilidad Entorno avanzado de producción Paso 3: Orquestador @plainconcepts #MicroservicesEvent 17
  • 18. No cometas el error de pensar que no puedes salir a producción sin un orquestador… … ¡Pero considera a medio plazo de usar uno! Recuerda: “Solo” un 40% usa hoy un orquestador @plainconcepts 18
  • 20. Azure Container Service es un servicio PaaS de orquestradores Soporte para Kubernetes, DC/OS y Swarm Expone el orquestador al exterior Facilita la creación y mantenimiento de orquestradores en Azure ACS @plainconcepts #MicroservicesEvent 20
  • 21. Actual líder en el mercado de orquestradores de Docker Configuración propia (no usa la de compose) Un pod es un conjunto de contenedores que se despliegan y escalan juntos. Los contenedores dentro de un mismo pod comparten IP y espacio de puertos, se ven a través de localhost y tienen un volumen compartido. Un servicio expone una o varias instancias de un pod a través de una IP externa Kubernetes (k8s) @plainconcepts #MicroservicesEvent 21
  • 22. 1. Autenticar k8s con ACR (create secret docker-registry) 2. Crear deployments y servicios (create –f myfile.yaml) 3. Poner en marcha el deployment (rollout resume) 4. Exponer el servicio para que tenga una IP pública (expose) 5. Escalar Despliegue en k8s @plainconcepts #MicroservicesEvent 22
  • 23. Tu build de CI debe 1. Crear imágenes Docker 2. Subirlas a un registro (Docker Hub, ACR, Quay, …) 3. Añadir tags a las imágenes Tu release de CD debe 1. Ejecutar script con comandos de k8s para crear los despliegues a partir de los ficheros yaml CI/CD con k8s @plainconcepts #MicroservicesEvent 23
  • 25. www.plainconcepts.com MADRID Paseo de la Castellana 163, 10º 28046 Madrid. España T. (+34) 91 5346 836 BILBAO Calle Ledesma 10-bis 3º 48001 Bilbao. España T. (+34) 94 6073 371 BARCELONA Carrer Compte d’Urgell 240 4º 1A 08036 Barcelona. España T. (+34) 93 7978 566 SEVILLA Avenida de la innovación s/n Edificio Renta Sevilla, 3º A 41020 Sevilla. España DUBAI Dubai Internet City. Building 1 73030 Dubai. EAU T. (+971) 4 551 6653 LONDON Impact Hub Kings Cross 24B York Way, N1 9AB London. UK SEATTLE 1511, Third Ave Seattle WA 98101. USA T. (+1) 206 708 1285