SlideShare une entreprise Scribd logo
1  sur  47
Télécharger pour lire hors ligne
Despliegue de Aplicaciones
Spring Cloud sobre Cluster
Mesos
Infraestructura
Objetivos
• Capacidad para desplegar y
centralizar múltiples aplicaciones.
• Alta disponibilidad (redundancia).
• Escalabilidad.
• Facilidad de Administración.
• Modelo de Programación Simple.
Apache Mesos
• Mesos introduce una capa de
abstracción que permite utilizar los
recursos de un datacenter como si
fuera un único servidor,
permitiendo una utilización más
eficiente de los recursos
computacionales.
Infraestructura
Docker
• Cada aplicación desplegada en el
gestor es empaquetada en un
contenedor usando Docker.
• Luego es desplegada a uno o
varios nodos usando Mesos.
Docker
• Portabilidad: Contenedores pueden correr en
cualquier Linux, laptop, servidor local o en la
nube.
• Consistencia: Las imágenes pueden reusarse
durante todo el ciclo de vida de una aplicación.
• Los ejecutables son los mismos para todos los
entornos (desarrollo, integración, producción)
minimizándose los problemas por diferencias.
Docker
• Independencia: Usa características
de aislamiento de recursos del
kernel Linux, cada contenedor está
aislado de los demás.
• Fallas en una aplicación no
comprometen a todo el servidor.
Docker
• Performance: A diferencia de otros
tipos de virtualización, los
contenedores comparten el mismo
Kernel Linux por lo que su
performance es cercana a un
servidor real.
Docker
• Modularidad: Cada servicio corre
en su propio contenedor,
ensamblándose aplicaciones
coordinando los servicios que
ofrecen los demás contenedores
mediante interfaces REST.
Docker
• Comunidad: Docker Hub el
repositorio oficial de imágenes
Docker contiene casi 100 imágenes
oficiales de diversas herramientas.
• Adicionalmente contiene miles de
imágenes no oficiales soportadas
por la comunidad.
Aprovisionamiento
Aprovisionamiento
• La instalación de los paquetes
necesarios para el funcionamiento
del Gestor se encuentra
automatizada mediante playbooks
de Ansible.
Aprovisionamiento
Playbook Master/Slaves
Aprovisionamiento
• Las tareas de configuración no están
completamente automatizadas con
Ansible.
• La guía de instalación tiene el detalle
de las tareas de configuración de
cada nodo.
• Se recomienda almacenar las
imágenes de nodos master y slaves.
Administración de Aplicaciones
Marathon
• Es el framework que permite desplegar
las aplicaciones en el cluster Mesos.
• Provee descubrimiento y monitoreo de
servicios, restricciones de recursos y un
GUI para ver los servicios instalados.
• Las aplicaciones son desplegadas desde
el GUI o usando un API REST que es el
procedimiento usado por el Gestor.
Marathon GUI
http://IP_MASTER:8080/
Despliegue
• Descriptor en
formato Json
curl -s -XPOST http://IP-SERVER:8080/v2/apps -d@deploy-descriptor.json -
H "Content-Type: application/json"
Mesos Active Tasks
http://IP_SERVER:5050/ (Puede direccionar dependiendo quien es el nodo líder)
Mesos Tasks
Cada aplicación desplegada es representada como una tarea en Mesos
Marathon
• Marathon trata de mantener estable
el número de instancias indicado en
el descriptor volviendo a desplegar
automáticamente containers en caso
de falla.
Escalabilidad
• Escalabilidad Elástica:
Es posible modificar manualmente
los números de instancias de cada
aplicación para manejar picos de
carga.
• Considerar los constraints en el
descriptor para estrategias de
escalabilidad.
Escalabilidad
Logging Centralizado
Logging Centralizado
Logging Centralizado
http://IP_SERVER/index.html#/dashboard/file/logstash.json
Seguimiento de Problemas
• Buscar el texto del error en Kibana
• Ubicar el servidor y el contenedor
donde ocurrió el percance.
• Filtrar los resultados por contenedor y
hora de ocurrencia
• Si se complica la visualización acceder a
los logs completos desde la GUI Mesos.
Seguimiento de Problemas
Restringir el rango de tiempo, el mensaje de error y el contenedor
Seguimiento de Problemas
Seguimiento de Problemas
Arquitectura de Aplicación
Arquitectura de cada Servicio
Servicios de Infraestructura
Basados en Spring Cloud
Servicios de Infraestructura
• Registro e
identificación de
Aplicaciones
• Configuración
Centralizada
• Gateway
Se configura la ubicación de los servicios
mediante variables de entorno
Registro: Eureka
http://ip:8761/
Registro y descubrimiento de servicios
Configuración Centralizada
Servicios de Aplicación
Aplicaciones
• Las aplicaciones (o servicios) están
construidas usando el framework Spring
Boot.
• Este proyecto unifica los mejores
componentes del framework Spring y su
ecosistema, minimizando la
configuración necesaria y con
características listas para ser usadas en
producción.
Aplicaciones
CURL SPRINGSECURITY
SPRINGMVC
JACKSON
SPRINGDATAJPA
HIBERNATE
SPRING FRAMEWORK
TOMCAT 8
SPRING BOOT
ORACLE
DATABASE
Aplicaciones
• Cada servicio expone una interface REST/Json
para interactuar con el mundo exterior.
• Las representaciones Json son convertidas a
objetos de aplicación usando Jackson.
• Los objetos se persisten en la base de datos vía
Spring Data
• Cada servicio tiene su propio servidor Tomcat 8
embebido.
Configuración Aplicación
Performance
• Tomcat 8 NIO Connector, Servlet 3.0 Request
Asíncrono para atender mayor cantidad de
conexiones simultaneas.
• .
Entorno de Integración
Integración
• El ambiente de Integración nos permite desplegar los
servicios como contenedores Docker para
asegurarnos que se ejecutan correctamente antes del
pase a producción.
• Las imágenes usadas en integración luego de la
validación funcional serán desplegadas a producción.
• El despliegue consiste en obtener la imagen generada
desde el repositorio y ejecutar la misma usando
comandos Docker.
Despliegue aplicaciones #SpringCloud en Cluster #Mesos Marathon

Contenu connexe

Tendances

Kubernetes 101 - Plain Concepts Dev Day
Kubernetes 101 - Plain Concepts Dev DayKubernetes 101 - Plain Concepts Dev Day
Kubernetes 101 - Plain Concepts Dev DayPlain Concepts
 
Kubernetes - Container Orchestration, Deployment and Scaling
Kubernetes - Container Orchestration, Deployment and ScalingKubernetes - Container Orchestration, Deployment and Scaling
Kubernetes - Container Orchestration, Deployment and ScalingAngel Nuñez
 
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
 
OpenNebulaConf 2016 - Fast Prototyping of a C.O. into a Micro Data Center - A...
OpenNebulaConf 2016 - Fast Prototyping of a C.O. into a Micro Data Center - A...OpenNebulaConf 2016 - Fast Prototyping of a C.O. into a Micro Data Center - A...
OpenNebulaConf 2016 - Fast Prototyping of a C.O. into a Micro Data Center - A...OpenNebula Project
 
Presentación Openstack Nova - Openstack Spain Group
Presentación Openstack Nova - Openstack Spain GroupPresentación Openstack Nova - Openstack Spain Group
Presentación Openstack Nova - Openstack Spain GroupStackops
 
Dell emc redhat_dez20
Dell emc redhat_dez20Dell emc redhat_dez20
Dell emc redhat_dez20Caio Candido
 
Corriendo SQL Server en Docker
Corriendo SQL Server en DockerCorriendo SQL Server en Docker
Corriendo SQL Server en DockerJavier Villegas
 
¿Cómo se despliega y autoescala Couchbase en Cloud? ¡Aprende de manera práctica!
¿Cómo se despliega y autoescala Couchbase en Cloud? ¡Aprende de manera práctica!¿Cómo se despliega y autoescala Couchbase en Cloud? ¡Aprende de manera práctica!
¿Cómo se despliega y autoescala Couchbase en Cloud? ¡Aprende de manera práctica!Paradigma Digital
 
Meetup de kubernetes, conceptos básicos.
Meetup  de kubernetes, conceptos básicos.Meetup  de kubernetes, conceptos básicos.
Meetup de kubernetes, conceptos básicos.Paradigma Digital
 
Cloud Native Mexico - Introducción a Kubernetes
Cloud Native Mexico - Introducción a KubernetesCloud Native Mexico - Introducción a Kubernetes
Cloud Native Mexico - Introducción a KubernetesDomingo Suarez Torres
 
SQL Server 2017 soporte en Linux
SQL Server 2017 soporte en LinuxSQL Server 2017 soporte en Linux
SQL Server 2017 soporte en LinuxEduardo Castro
 
Azure bajo control: Claves de una buena gobernanza
Azure bajo control: Claves de una buena gobernanzaAzure bajo control: Claves de una buena gobernanza
Azure bajo control: Claves de una buena gobernanzaPlain Concepts
 

Tendances (20)

Kubernetes 101 - Plain Concepts Dev Day
Kubernetes 101 - Plain Concepts Dev DayKubernetes 101 - Plain Concepts Dev Day
Kubernetes 101 - Plain Concepts Dev Day
 
Kubernetes - Container Orchestration, Deployment and Scaling
Kubernetes - Container Orchestration, Deployment and ScalingKubernetes - Container Orchestration, Deployment and Scaling
Kubernetes - Container Orchestration, Deployment and Scaling
 
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
 
Introducción a Kubernetes
Introducción a KubernetesIntroducción a Kubernetes
Introducción a Kubernetes
 
OpenShift y PostgreSQL
OpenShift y PostgreSQLOpenShift y PostgreSQL
OpenShift y PostgreSQL
 
Datos sin fronteras
Datos sin fronterasDatos sin fronteras
Datos sin fronteras
 
OpenNebulaConf 2016 - Fast Prototyping of a C.O. into a Micro Data Center - A...
OpenNebulaConf 2016 - Fast Prototyping of a C.O. into a Micro Data Center - A...OpenNebulaConf 2016 - Fast Prototyping of a C.O. into a Micro Data Center - A...
OpenNebulaConf 2016 - Fast Prototyping of a C.O. into a Micro Data Center - A...
 
Presentación Openstack Nova - Openstack Spain Group
Presentación Openstack Nova - Openstack Spain GroupPresentación Openstack Nova - Openstack Spain Group
Presentación Openstack Nova - Openstack Spain Group
 
Dell emc redhat_dez20
Dell emc redhat_dez20Dell emc redhat_dez20
Dell emc redhat_dez20
 
Kubernetes workshop
Kubernetes workshopKubernetes workshop
Kubernetes workshop
 
Kubernetes - The Cloud King
Kubernetes - The Cloud KingKubernetes - The Cloud King
Kubernetes - The Cloud King
 
Terraform Ansible v3.0
Terraform Ansible v3.0Terraform Ansible v3.0
Terraform Ansible v3.0
 
Corriendo SQL Server en Docker
Corriendo SQL Server en DockerCorriendo SQL Server en Docker
Corriendo SQL Server en Docker
 
¿Cómo se despliega y autoescala Couchbase en Cloud? ¡Aprende de manera práctica!
¿Cómo se despliega y autoescala Couchbase en Cloud? ¡Aprende de manera práctica!¿Cómo se despliega y autoescala Couchbase en Cloud? ¡Aprende de manera práctica!
¿Cómo se despliega y autoescala Couchbase en Cloud? ¡Aprende de manera práctica!
 
Meetup de kubernetes, conceptos básicos.
Meetup  de kubernetes, conceptos básicos.Meetup  de kubernetes, conceptos básicos.
Meetup de kubernetes, conceptos básicos.
 
Introducción a Docker
Introducción a DockerIntroducción a Docker
Introducción a Docker
 
Introduction to docker. Stratio
Introduction to docker. StratioIntroduction to docker. Stratio
Introduction to docker. Stratio
 
Cloud Native Mexico - Introducción a Kubernetes
Cloud Native Mexico - Introducción a KubernetesCloud Native Mexico - Introducción a Kubernetes
Cloud Native Mexico - Introducción a Kubernetes
 
SQL Server 2017 soporte en Linux
SQL Server 2017 soporte en LinuxSQL Server 2017 soporte en Linux
SQL Server 2017 soporte en Linux
 
Azure bajo control: Claves de una buena gobernanza
Azure bajo control: Claves de una buena gobernanzaAzure bajo control: Claves de una buena gobernanza
Azure bajo control: Claves de una buena gobernanza
 

En vedette

Apps software development with Vert.X
Apps software development with Vert.XApps software development with Vert.X
Apps software development with Vert.XJose Juan R. Zuñiga
 
Desarrolla tu primera api con spring boot
Desarrolla tu primera api con spring bootDesarrolla tu primera api con spring boot
Desarrolla tu primera api con spring bootCloudAppi
 
Kanban Kata - Lean Kanban European Conference Tour 2012
Kanban Kata - Lean Kanban European Conference Tour 2012Kanban Kata - Lean Kanban European Conference Tour 2012
Kanban Kata - Lean Kanban European Conference Tour 2012Håkan Forss
 
Microservices with Spring Boot
Microservices with Spring BootMicroservices with Spring Boot
Microservices with Spring BootJoshua Long
 

En vedette (6)

Apps software development with Vert.X
Apps software development with Vert.XApps software development with Vert.X
Apps software development with Vert.X
 
Spring Mvc Final
Spring Mvc FinalSpring Mvc Final
Spring Mvc Final
 
Desarrolla tu primera api con spring boot
Desarrolla tu primera api con spring bootDesarrolla tu primera api con spring boot
Desarrolla tu primera api con spring boot
 
Spring boot + spock
Spring boot + spockSpring boot + spock
Spring boot + spock
 
Kanban Kata - Lean Kanban European Conference Tour 2012
Kanban Kata - Lean Kanban European Conference Tour 2012Kanban Kata - Lean Kanban European Conference Tour 2012
Kanban Kata - Lean Kanban European Conference Tour 2012
 
Microservices with Spring Boot
Microservices with Spring BootMicroservices with Spring Boot
Microservices with Spring Boot
 

Similaire à Despliegue aplicaciones #SpringCloud en Cluster #Mesos Marathon

Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ...
Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ...Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ...
Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ...Francisco Javier Toscano Lopez
 
Meetup DigitalOcean Cloud Native architecture
Meetup DigitalOcean Cloud Native architectureMeetup DigitalOcean Cloud Native architecture
Meetup DigitalOcean Cloud Native architectureDomingo Suarez Torres
 
Introduccion a Elastic Beanstalk AWS Roadshow Bogota Mexico
Introduccion a Elastic Beanstalk   AWS Roadshow Bogota MexicoIntroduccion a Elastic Beanstalk   AWS Roadshow Bogota Mexico
Introduccion a Elastic Beanstalk AWS Roadshow Bogota MexicoHermann Pais
 
.Net Conf UY 2017: Un paseo por Azure Service Fabric
.Net Conf UY 2017: Un paseo por Azure Service Fabric.Net Conf UY 2017: Un paseo por Azure Service Fabric
.Net Conf UY 2017: Un paseo por Azure Service FabricGuillermo Javier Bellmann
 
Construyendo una nube con OpenStack
Construyendo una nube con OpenStackConstruyendo una nube con OpenStack
Construyendo una nube con OpenStackLibreCon
 
Web App Container
Web App ContainerWeb App Container
Web App ContainerCDS
 
Introduccion a elastic beanstalk aws roadshow bogota mexico
Introduccion a elastic beanstalk   aws roadshow bogota mexicoIntroduccion a elastic beanstalk   aws roadshow bogota mexico
Introduccion a elastic beanstalk aws roadshow bogota mexicoAmazon Web Services LATAM
 
Cloud Native Mexico Meetup de Marzo 2018 Service Mesh con Istio y Envoy
Cloud Native Mexico Meetup de Marzo 2018 Service Mesh con Istio y EnvoyCloud Native Mexico Meetup de Marzo 2018 Service Mesh con Istio y Envoy
Cloud Native Mexico Meetup de Marzo 2018 Service Mesh con Istio y EnvoyDomingo Suarez Torres
 
Patrones Avanzados con Microservices con Containers
Patrones Avanzados con Microservices con ContainersPatrones Avanzados con Microservices con Containers
Patrones Avanzados con Microservices con ContainersAmazon Web Services LATAM
 
herramientas tecnológicas
herramientas tecnológicasherramientas tecnológicas
herramientas tecnológicasGerardo Linares
 
Microservicios en la nube: un paseo por Azure Service Fabric - .NET Conf CL v...
Microservicios en la nube: un paseo por Azure Service Fabric - .NET Conf CL v...Microservicios en la nube: un paseo por Azure Service Fabric - .NET Conf CL v...
Microservicios en la nube: un paseo por Azure Service Fabric - .NET Conf CL v...Guillermo Javier Bellmann
 
Docker para Dummies
Docker para DummiesDocker para Dummies
Docker para DummiesRaúl Unzué
 
Oracle 11g galo saquinaula
Oracle 11g galo saquinaulaOracle 11g galo saquinaula
Oracle 11g galo saquinaulaGalo Saquinaula
 
Microservicios en la nube: un paseo por Azure Service Fabric - .NET Conf CO v...
Microservicios en la nube: un paseo por Azure Service Fabric - .NET Conf CO v...Microservicios en la nube: un paseo por Azure Service Fabric - .NET Conf CO v...
Microservicios en la nube: un paseo por Azure Service Fabric - .NET Conf CO v...Guillermo Javier Bellmann
 
Comenzando con aplicaciones serverless en AWS
Comenzando con aplicaciones serverless en AWSComenzando con aplicaciones serverless en AWS
Comenzando con aplicaciones serverless en AWSAmazon Web Services LATAM
 
Automatización del despliegue de aplicaciones multi cloud
Automatización del despliegue de aplicaciones multi cloudAutomatización del despliegue de aplicaciones multi cloud
Automatización del despliegue de aplicaciones multi cloudSoftware Guru
 
Patrones avanzados de implementación de microservicios con Amazon ECS
Patrones avanzados de implementación de microservicios con Amazon ECSPatrones avanzados de implementación de microservicios con Amazon ECS
Patrones avanzados de implementación de microservicios con Amazon ECSAmazon Web Services LATAM
 

Similaire à Despliegue aplicaciones #SpringCloud en Cluster #Mesos Marathon (20)

Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ...
Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ...Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ...
Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ...
 
Meetup DigitalOcean Cloud Native architecture
Meetup DigitalOcean Cloud Native architectureMeetup DigitalOcean Cloud Native architecture
Meetup DigitalOcean Cloud Native architecture
 
Introduccion a Elastic Beanstalk AWS Roadshow Bogota Mexico
Introduccion a Elastic Beanstalk   AWS Roadshow Bogota MexicoIntroduccion a Elastic Beanstalk   AWS Roadshow Bogota Mexico
Introduccion a Elastic Beanstalk AWS Roadshow Bogota Mexico
 
.Net Conf UY 2017: Un paseo por Azure Service Fabric
.Net Conf UY 2017: Un paseo por Azure Service Fabric.Net Conf UY 2017: Un paseo por Azure Service Fabric
.Net Conf UY 2017: Un paseo por Azure Service Fabric
 
Construyendo una nube con OpenStack
Construyendo una nube con OpenStackConstruyendo una nube con OpenStack
Construyendo una nube con OpenStack
 
Web App Container
Web App ContainerWeb App Container
Web App Container
 
SGBD Y TECNOLOGIAS
SGBD Y TECNOLOGIASSGBD Y TECNOLOGIAS
SGBD Y TECNOLOGIAS
 
Sgbd y tecnologias
Sgbd  y  tecnologiasSgbd  y  tecnologias
Sgbd y tecnologias
 
Introduccion a elastic beanstalk aws roadshow bogota mexico
Introduccion a elastic beanstalk   aws roadshow bogota mexicoIntroduccion a elastic beanstalk   aws roadshow bogota mexico
Introduccion a elastic beanstalk aws roadshow bogota mexico
 
Cloud Native Mexico Meetup de Marzo 2018 Service Mesh con Istio y Envoy
Cloud Native Mexico Meetup de Marzo 2018 Service Mesh con Istio y EnvoyCloud Native Mexico Meetup de Marzo 2018 Service Mesh con Istio y Envoy
Cloud Native Mexico Meetup de Marzo 2018 Service Mesh con Istio y Envoy
 
Patrones Avanzados con Microservices con Containers
Patrones Avanzados con Microservices con ContainersPatrones Avanzados con Microservices con Containers
Patrones Avanzados con Microservices con Containers
 
Kubernetes para developers
Kubernetes para developersKubernetes para developers
Kubernetes para developers
 
herramientas tecnológicas
herramientas tecnológicasherramientas tecnológicas
herramientas tecnológicas
 
Microservicios en la nube: un paseo por Azure Service Fabric - .NET Conf CL v...
Microservicios en la nube: un paseo por Azure Service Fabric - .NET Conf CL v...Microservicios en la nube: un paseo por Azure Service Fabric - .NET Conf CL v...
Microservicios en la nube: un paseo por Azure Service Fabric - .NET Conf CL v...
 
Docker para Dummies
Docker para DummiesDocker para Dummies
Docker para Dummies
 
Oracle 11g galo saquinaula
Oracle 11g galo saquinaulaOracle 11g galo saquinaula
Oracle 11g galo saquinaula
 
Microservicios en la nube: un paseo por Azure Service Fabric - .NET Conf CO v...
Microservicios en la nube: un paseo por Azure Service Fabric - .NET Conf CO v...Microservicios en la nube: un paseo por Azure Service Fabric - .NET Conf CO v...
Microservicios en la nube: un paseo por Azure Service Fabric - .NET Conf CO v...
 
Comenzando con aplicaciones serverless en AWS
Comenzando con aplicaciones serverless en AWSComenzando con aplicaciones serverless en AWS
Comenzando con aplicaciones serverless en AWS
 
Automatización del despliegue de aplicaciones multi cloud
Automatización del despliegue de aplicaciones multi cloudAutomatización del despliegue de aplicaciones multi cloud
Automatización del despliegue de aplicaciones multi cloud
 
Patrones avanzados de implementación de microservicios con Amazon ECS
Patrones avanzados de implementación de microservicios con Amazon ECSPatrones avanzados de implementación de microservicios con Amazon ECS
Patrones avanzados de implementación de microservicios con Amazon ECS
 

Despliegue aplicaciones #SpringCloud en Cluster #Mesos Marathon