docker: containers evolved - dynamic instantiation of microservices

28
Dynamic instantiation of Microservices

Upload: ramon-roman-nissen

Post on 22-Jan-2018

25.713 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Docker: Containers Evolved - Dynamic Instantiation of Microservices

Dynamic instantiation of Microservices

Page 2: Docker: Containers Evolved - Dynamic Instantiation of Microservices

Ignacio Sánchez Ginés@drhelius

Ramón Román Nissen@rromannissen

Page 3: Docker: Containers Evolved - Dynamic Instantiation of Microservices

GRACIAS

Page 4: Docker: Containers Evolved - Dynamic Instantiation of Microservices
Page 5: Docker: Containers Evolved - Dynamic Instantiation of Microservices
Page 6: Docker: Containers Evolved - Dynamic Instantiation of Microservices
Page 7: Docker: Containers Evolved - Dynamic Instantiation of Microservices

m4.2xlarge

m4.large (x2)

m4.large

t2.micro

Page 8: Docker: Containers Evolved - Dynamic Instantiation of Microservices
Page 9: Docker: Containers Evolved - Dynamic Instantiation of Microservices

Nodo 1

Registry

···

Nodo 4

Master

Page 10: Docker: Containers Evolved - Dynamic Instantiation of Microservices

EntryPoint

IndexerServiceBuilder

ImageBuilder

Deployer Notifier

Indexer Deployer

Page 11: Docker: Containers Evolved - Dynamic Instantiation of Microservices
Page 12: Docker: Containers Evolved - Dynamic Instantiation of Microservices

Generacion

dinamica de

servicios

Page 13: Docker: Containers Evolved - Dynamic Instantiation of Microservices

FeignJava API

Page 14: Docker: Containers Evolved - Dynamic Instantiation of Microservices
Page 15: Docker: Containers Evolved - Dynamic Instantiation of Microservices
Page 16: Docker: Containers Evolved - Dynamic Instantiation of Microservices

Construccion

dinamica de

imagenes

Page 17: Docker: Containers Evolved - Dynamic Instantiation of Microservices

EntryPoint

IndexerServiceBuilder

ImageBuilder

Deployer Notifier

Indexer Deployer

Page 18: Docker: Containers Evolved - Dynamic Instantiation of Microservices

Image Builder

Parametrizar Dockerfile

Build Dockerfile

Push Docker Image

Jenkins Slave

Page 19: Docker: Containers Evolved - Dynamic Instantiation of Microservices

FROM java:8

ARG SERVICE_ID

VOLUME /tmp

EXPOSE 8080

ADD

http://a1.codemotion.atsistemas.com/repository/mave

n-releases/com/atsistemas/codemotion/indexed-

service-generated-${SERVICE_ID}/1.0/indexed-

service-generated-${SERVICE_ID}-1.0.jar /indexed-

service.jar

ENV SERVICE_ID=${SERVICE_ID}

RUN bash -c 'touch /indexed-service.jar'

CMD java –Xmx32m –Xss256k -

Djava.security.egd=file:/dev/./urandom

-jar /indexed-service.jar

Page 20: Docker: Containers Evolved - Dynamic Instantiation of Microservices

Despliegue

dinamico en

Swarm

Page 21: Docker: Containers Evolved - Dynamic Instantiation of Microservices

EntryPoint

IndexerServiceBuilder

ImageBuilder

Deployer Notifier

Indexer Deployer

Page 22: Docker: Containers Evolved - Dynamic Instantiation of Microservices

Deployer

Pull Docker Image

Run Docker Image

Reconfiguración NGINX

Page 23: Docker: Containers Evolved - Dynamic Instantiation of Microservices

upstream indexed-service-xxxxxx {

least_conn;

{{range service "indexed-service-xxxxxx"}}server

{{.Address}}:{{.Port}} max_fails=3 fail_timeout=60 weight=1;

{{else}}server 127.0.0.1:65535; # force a 502{{end}}

}

server {

listen 80 default_server;

location /xxxxxx/ {

proxy_pass http://indexed-service-xxxxxx/;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

}

}

Page 24: Docker: Containers Evolved - Dynamic Instantiation of Microservices

docker -H :2375 pull 10.0.0.223:9022/ indexed-service-

xxxxxx

docker -H :2375 run -d -P –e reschedule:on-node-failure

10.0.0.223:9022/indexed-service-xxxxxx

docker -H :2375 info

docker -H :2375 ps

Page 25: Docker: Containers Evolved - Dynamic Instantiation of Microservices

Now witness the

firepower of this fully

ARMED and

OPERATIONAL Battle

Station!

The Emperor – Project Manager

Page 26: Docker: Containers Evolved - Dynamic Instantiation of Microservices
Page 27: Docker: Containers Evolved - Dynamic Instantiation of Microservices

Servicio:

Consulta:

Page 28: Docker: Containers Evolved - Dynamic Instantiation of Microservices

¡GRACIAS!¿ALGUNA PREGUNTA?

Ignacio Sánchez Giné[email protected]@atsistemas.com

Ramón Román Nissen@[email protected]