SlideShare una empresa de Scribd logo
1 de 40
Seminario Web
MongoDB & Paradigma
Desarrolle aplicaciones más escalables utilizando
microservicios
Ruben Terceño
Senior Solutions Architect
MongoDB
Miguel Garrido
Senior Solutions Architect
Paradigma Digital
Agenda
Introducción a los microservicios:
¿Por qué han surgido? ¿Qué beneficios aportan frente a
arquitecturas tradicionales?
Nuevas tecnologías que ayudan en arquitecturas de
microservicios
¿Qué beneficios aporta el uso de MongoDB en este
tipo de arquitecturas?
INTRODUCCIÓN A LOS
MICROSERVICIOS
5
Definición de microservicio
“Microservices is a software
architecture style, in which complex
applications are composed of small,
independent processes communicating
with each other using language-
agnostic APIs. These services are
small, highly decoupled and focus on
doing a small task.”
6
Un poco de historia
Equipo de
desarrollo
Arquitecturas monolíticas (pre-
SOA)
Arquitecturas SOA Microservicios
En arquitecturas monolíticas cualquier
cambio afecta al producto completo y
todos los equipos deben estar de
acuerdo en implementarlo.
Los elementos en SOA se desarrollan de
manera más autónoma pero los equipos
deben coordinarse con otros para que
los cambios encajen en el diseño
general.
El nuevo paradigma de desarrollo
7
• Alto nivel de acoplamiento
• Complejidad de código
• Un pequeño cambio de código en la aplicación implica un despliegue
completo
• Escalado ineficiente
• Menos especialización
Arquitecturas monolíticas
8
• Menor acoplamiento entre servicios
• Bus de servicios que mapea el servicio lógico y llama al servicio físico
• Se premia la reusabilidad, lo que puede llevar a que contengan
demasiado código
• Los servicios tienen estado
• Suelen utilizar modelos de datos relacionales
• En algunos casos, es complicado separar la funcionalidad entre
servicios
Arquitecturas SOA
9
Arquitecturas de microservicios
• Principio de responsabilidad única
• Desarrollo eficiente
• Escalado elástico
• Ciclo de vida independiente
• Menor Time-to-Market (Continuous Delivery)
• Facilidad de integración con otros sistemas
10
Retos de una arquitectura de microservicios
• ¿Dónde se encuentran desplegados los servicios?
• ¿Qué pasa si alguno falla?
• ¿Cómo se configuran?
• ¿Dónde se guardan las trazas?
• ¿Cómo los monitorizamos?
• ¿Cómo los desplegamos?
• Gestionar el aumento del tráfico interno
PaaS
Microservici
o 1
Microservici
o 2
Microservici
o 3
Microservici
o 4
Servicio de enrutamiento
Almacenamiento
Servicio de
orquestación
Servicio de
descubrimiento
Registro de
contenedores
Consumidores
Servicios de logging /
monitorización
Servicio de
configuración
Herramient
a de CI
Control de
versiones
11
Herramientas
Microservicio
1
Microservicio
2
Microservicio
3
Microservicio
4
Servicio de enrutamiento
Docker registry
Servicio de orquestación
Servicio de
descubrimiento
Devops
Consumidores
Servicios de logging /
monitorización
Servicio de configuración
12
Herramientas
Microservicio
1
Microservicio
2
Microservicio
3
Microservicio
4
Servicio de enrutamiento
Docker registry
Servicio de orquestación
Servicio de
descubrimiento
Devops
Consumidores
Servicios de logging /
monitorización
Servicio de configuración
Encargado del
pipeline de
Continuous Delivery
Gestión del código
fuente de los
microservicios
Gestión de imágenes
docker de los
diferentes
microservicios
Motor de base de
datos
13
Ejemplo de una arquitectura de microservicios
PaaS
Consumidor 1
CPD 1
Node 1
Gestión de
pedidos
Gestión de
clientes
Gestión de
artículos
Gestión de
usuarios
Node 2
Eureka
Gestión de
clientes
CPD 2
Node 3
Gestión de
pedidos
Node 4
Gestión de
clientes
Gestión de
artículos
Gestión de
usuarios
Zuul
Zuul
Spring Cloud
Config
Eureka
Spring Cloud
Config
MongoDBMongoDB
CPD 3
(virtual)
MongoDB
Arbiter
Master 1 Master 2
MongoDBMongoDB
Master 3
Consumidor 2 Consumidor 3 Consumidor 4 Consumidor 5 Consumidor 6
14
• Como hemos visto, la manera de comunicarse entre microservicios son los protocolos de red, especialmente el
protocolo http, definiendo APIs REST como interfaz de comunicación. Estas APIs proporcionan:
– Organizan sistemas internos para dar apoyo a nuevos proyectos innovadores de una manera uniforme.
– Reducen costes de mantenimiento.
– Incrementan la agilidad en los procesos de transformación.
– Acercan la omnicanalidad a la empresa
Microservicios y APIs
Servicio
API
15
JSON como formato de intercambio
• JSON son las siglas de JavaScript Object Notation, y fue originalmente pensado para llevar la notación nativa
usada para declarar objetos en JavaScript a otros lenguajes. Proporciona:
– Flexibilidad
– Ligereza
– Evita transformaciones con bases de datos en formato JSON
– Modelo de datos autoexplicativo
16
Proyecciones y expansiones
• Funcionamiento similar a MongoDB
• Minimizan el tráfico y optimizan el servicio en
casos de acceso a múltiples datastores
• Ejemplo de llamada con proyección:
rest/api/content?type=page&spaceKey=TEST&proje
ctions=version, history
• Proporcionan mayor rendimiento y menor
consumo, limitando el número de llamadas a un
API
• Permiten la expansión de campos e items
embebidos de un recurso
• Ejemplo de llamada con expansión:
rest/api/content?type=page&spaceKey=TEST&expa
nd=version,history.lastUpdated
Proyecciones Expansiones
17
Transaccionalidad en microservicios
La división de los datos en diferentes repositorios (base de datos, colas de mensajes, etc) y su accesibilidad a través
de servicios que los envuelven supone perder la transaccionalidad nativa a nivel de base de datos:
Existen diversos patrones que permiten tratar esta situación:
• Reintentar: en situaciones de caída puntual o no
disponibilidad parcial del servicio (caída de un nodo por
ejemplo), reintentar la operación puede ser una solución
válida.
• Abortar la operación completa: en esta situación,
debe existir una operación de ‘compensación’ para
volver a un estado de consistencia.
• Transacción distribuida: basa su funcionamiento en la
la existencia de un proceso de gobierno de la
transacción (‘transaction manager’).
Ok
Servicio 1
Servicio 2
Servicio 3
Servicio 3
Ok
Reintento
Servicio 1
Servicio 2
Servicio 3
Deshacer
Coordinador
Servicio 2
Servicio 3
Preparar
Servicio 1 Commit
TECNOLOGÍAS MICROSERVICIOS
19
Cloud, IaaS y PaaS
• Ayudan con la gestión eficiente de recursos
• Posibilitan escalado ilimitado
• Delegación de responsabilidad en piezas propias (balanceo de
carga, enrutamiento, descubrimiento, seguridad...etc)
• Monitorización de servicios
• Logs centralizados
• Trazabilidad de servicios
• Despliegue automatizado con estrategias de balanceo
automáticas
20
Docker containers
• Proveen entornos aislados gestionados por
procesos (hypervisor) con el mínimo kernel de
sistema operativo en cada contenedor
• Con el mismo hardware se pueden ejecutar más
contenedores que con máquinas virtuales
• Docker ha conseguido un gran seguimiento de la
comunidad con un repositorio público de
imágenes, Docker Hub, que contiene sobre
400.000 imágenes
21
Broker de mensajería
• Broker de mensajería publisher / subscriber con persistencia en disco
• Conecta microservicios
• Desacopla llamadas entre microservicios
• Proporciona alta disponibilidad
Microservicio 1 Microservicio 2
Almacenamiento
Microservicio 1 Microservicio 2
Almacenamiento
- Dependencia entre servicios
- Gestión de errores y
reintentos en el servicio
llamante
- Añadir un nuevo servicio
implica sólo suscripción
- Gestión de reintentos en
Kafka
- Desacoplamiento entre
servicios
MICROSERVICIOS Y MONGODB
23
Bases de datos NoSQL
Lenguaje de búsqueda expresivo
Índices secundarios
Consistencia Fuerte
Integración con herramientas
de gestión
Escalable y distribuido
• Escalabilidad horizontal
• Cloud
Rendimiento
• Usuarios globales
• Muy alta disponibilidad
Flexibilidad
• Esquema flexible
• Datos no estructurados
• Sin relaciones complejas
24
MongoDB Nexus Architecture
Lenguaje de búsqueda expresivo
Índices secundarios
Consistencia Fuerte
Integración con herramientas
de gestión
The only NoSQL Database that combines best of RDBMS + NoSQL
Escalable y distribuido
• Escalabilidad horizontal
• Cloud
Rendimiento
• Usuarios globales
• Muy alta disponibilidad
Flexibilidad
• Esquema flexible
• Datos no estructurados
• Sin relaciones complejas
25
Modelo de datos flexible
Consumidor A Consumidor B
Microservicio 1
• El esquema flexible de MongoDB permite que cada
consumidor del servicio pueda tener una percepción
propia de un modelo común, sin afectar esto a la
morfología del dato en MongoDB
• La propagación de los cambios en el modelo de
datos de los consumidores es automática
• Las vistas read-only permiten exponer el modelo de
datos de forma polimórfica y realizar ofuscación
26
Redundancia
Debido a la naturaleza distribuida de los microservicios, estos tienen que ser diseñados teniendo en cuenta la
redundancia del dato. MongoDB encaja perfectamente en este requerimiento, ya que proporciona de base redundancia
a través de sus replica set.
Es muy importante destacar MongoDB permite que la política de redundancia puede ser variable por petición y por
criticidad del dato
CloudCPD 2CPD 1
Replica set
Nodo 1 Nodo 2 ArbiterNodo 3 Nodo 4
Los microservicios no se pueden interrumpir para hacer cambios en su esquema de datos. MongoDB
puede adaptarse a cambios en el esquema de datos sin ninguna pérdida de servicio. Su arquitectura
independiente de la plataforma proporciona facilidad de portabilidad.
Frontend
Applications
Digital & Mobile
Apps
Backend
Applications …
Operational & BI
Reporting
Application Layer
API Access Layer
Microservices
Layer
Database
Layer
Flexibilidad para modelar estructuras de datos
cambiantes sin necesidad de parar la
plataforma para realizar mantenimiento.
1
MongoDB and Microservices – Flexibility
La habilidad de escalar rapidamente para adaptarse a una demanda cambiante es un atributo clave
de los microservicios. La arquitectura de MongoDB permite escalado y alta disponibilidad de forma
nativa.
Frontend
Applications
Digital & Mobile
Apps
Backend
Applications …
Operational & BI
Reporting
Application Layer
API Access Layer
Microservices
Layer
Database
Layer
2
La escalabilidad y alta disponibilidad nativas se
dan la mano con el alto rendimiento necesario
en una plataforma de microservicios.
MongoDB and Microservices – Scalability
MongoDB proporciona funcionalidad de autenticación, control de acceso, auditoría y cifrado para
proteger los despliegues de MongoDB. Las vistas read-only permiten exponer el modelo de datos de
forma polimórfica y realizar ofuscación.
Frontend
Applications
Digital & Mobile
Apps
Backend
Applications …
Operational & BI
Reporting
Application Layer
API Access Layer
Microservices
Layer
Database
Layer
3
Seguridad nativa que protege los datos y
facilita el desarrollo de aplicaciones al asumir
el control de accesos y la visibilidad.
MongoDB and Microservices – Security
Nuestra receta:
Orquestación de MongoDB con Docker
Gestiona y provisiona los contenedores
Convierte un grupo de contenedores en un único servicio
Define una aplicación multicontenedor en un único
fichero de descripción
Ecosistema Docker
Orquestación
Coordina los contenedores de MongoDB para realizar un
despliegue según las mejores prácticas.
Control de Recursos
Dimensionado de cada instancia (y cada clúster) para evitar
contención de recursos
Docker
5x más rápido
que Kubernetes
para lanzar un
nuevo contenedor
7x más rápido que
Kubernetes en listar
los contenedores
activos
Evaluación de plataformas a
gran escala
1000 instancias EC2 en un
clúster
¿Rendimiento?
¿Capacidad operativa?
¿Facilidad de soporte?
https://medium.com/on-docker/evaluating-container-platforms-at-scale-
5e7b44d93f2c#.k2fxds8c2
https://www.docker.com/survey-2016
Porqué Swarm?
swarm-node-2
swarm-node-3swarm-node-1
¿Cómo conectamos los diferentes procesos mongod?
• Swarm proporciona redes host a host
• Utiliza el hostname definido en el archivo Compose
magicmagic
magic
Redes multi host de Swarm
SECONDARY
cgroup/docker
cgroup/docker cgroup/docker cgroup/docker
cgroup/docker cgroup/docker
cgroup/dockercgroup/docker cgroup/docker
cgroup/dockercgroup/docker cgroup/docker
cgroup/dockercgroup/docker cgroup/docker
cgroup/dockercgroup/docker cgroup/docker
PRIMARY SECONDARY SECONDARY
PRIMARY SECONDARY
PRIMARYSECONDARY SECONDARY
PRIMARYSECONDARY SECONDARY
PRIMARYSECONDARY SECONDARY
PRIMARYSECONDARY SECONDARY
Tendremos un primario y al menos dos
secundarios por aplicación.
Definiremos reglas de afinidad en Docker
Compose para evitar que los miembros de
un mismo replicaset se desplieguen el en
mismo servidor físico.
Con Linux cgroups aislaremos los
recursos (RAM / CPU / BlockIO) a lo que
tendrá acceso cada mongod.
MongoDB Ops/Cloud Manager es clave
en este proceso ya que permite la
provisión programática !
MACHINE 1
APP
1
MACHINE 2 MACHINE 3
APP
2
APP
3
APP
4
APP
5
APP
6
SECONDARY
Despliegue en alta disponibilidad
SECONDARY
cgroup/docker
cgroup/docker cgroup/docker cgroup/docker
cgroup/docker cgroup/docker
cgroup/dockercgroup/docker cgroup/docker
cgroup/dockercgroup/docker cgroup/docker
cgroup/dockercgroup/docker cgroup/docker
cgroup/dockercgroup/docker cgroup/docker
PRIMARY PRIMARY SECONDARY
PRIMARY PRIMARY
PRIMARYSECONDARY SECONDARY
PRIMARYSECONDARY SECONDARY
PRIMARYSECONDARY SECONDARY
PRIMARYSECONDARY SECONDARY
MACHINE 1
APP
1
MACHINE 2 MACHINE 3
APP
2
APP
3
APP
4
APP
5
APP
6
SECONDARY
En caso de fallo a nivel de servidor alguno
de los nodos secundarios tomará el rol de
primario.
Cuando los contenedores de la máquina
en fallo se vuelvan a levantar, siempre que
respeten los nombres la arquitectura se
resincroniza.
Evento de HA (La ley de Murphy)
Frontend
Applications
Digital & Mobile
Apps
Backend
Applications
… Operational & BI
Reporting
Application Layer
API Access Layer
Microservice
s
Layer
Database
Application
Storage
Modelo Uno:
Contenedores para todos
Pros:
• Se despliega como un todo
• Se migra fácilmente entre
entornos
Cons:
• El storage debe ser
persistente
• La comunicación intra nodo es
más compleja
• Más difícil de debugear
Arquitectura de referencia
Frontend
Applications
Digital & Mobile
Apps
Backend
Applications
… Operational & BI
Reporting
Application Layer
API Access Layer
Microservice
s
Layer
Database Cluster
Modelo Dos:
Contenedores para la aplicación
Pros:
• Permite a la base de datos
manejear su propia HA y
escalado
• Permite la separación entre
las capas lógicas y de datos
(Seguridad)
• Más fácil de debuguear
Cons:
• La base de datos se
provisiona de forma
independiente.
Arquitectura de referencia
• Nuevos clústers en
segundos
• Despliegues con
redundancia y alta
disponibilidad
• Completamente
elástico, sin pérdida
de servicio
• Parches
automáticos y
acceso inmediato a
nuevas
funcionalidades
• Con autenticación y
cifrado
• Backup continuo
con recuperación a
la carta
• Alertas
personalizables y
monitorización fina
Completamente
seguro
Ya lo
hacemos
nosotros
• Pago or uso.
Facturación por
horas
• Soporte multi cloud
(AWS ahora mismo,
Azure & Google
Cloud antes de
verano)
• Fácil migración
mediante
herramientas a
despliegues cloud,
on premise o
híbridos.
Sin trucos
MongoDB Atlas
Base de datos como servicio de MongoDB
Preguntas
Gracias.
ruben@mongodb.com
@mongodb
www.mongodb.com

Más contenido relacionado

La actualidad más candente

20190427 arquitectura de microservicios con contenedores
20190427 arquitectura de microservicios con contenedores20190427 arquitectura de microservicios con contenedores
20190427 arquitectura de microservicios con contenedoresRicardo González
 
Domain Driven Design Introduction
Domain Driven Design IntroductionDomain Driven Design Introduction
Domain Driven Design Introductionwojtek_s
 
What is DevOps | DevOps Introduction | DevOps Training | DevOps Tutorial | Ed...
What is DevOps | DevOps Introduction | DevOps Training | DevOps Tutorial | Ed...What is DevOps | DevOps Introduction | DevOps Training | DevOps Tutorial | Ed...
What is DevOps | DevOps Introduction | DevOps Training | DevOps Tutorial | Ed...Edureka!
 
Domain-Driven Design
Domain-Driven DesignDomain-Driven Design
Domain-Driven DesignAndriy Buday
 
Mongodb basics and architecture
Mongodb basics and architectureMongodb basics and architecture
Mongodb basics and architectureBishal Khanal
 
Observability, what, why and how
Observability, what, why and howObservability, what, why and how
Observability, what, why and howNeeraj Bagga
 
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...Simplilearn
 
Domain driven design
Domain driven designDomain driven design
Domain driven designtatyaso
 
Apresentação - MongoDB
Apresentação - MongoDBApresentação - MongoDB
Apresentação - MongoDBJDSBD
 
From framework coupled code to #microservices through #DDD /by @codelytv
From framework coupled code to #microservices through #DDD /by @codelytvFrom framework coupled code to #microservices through #DDD /by @codelytv
From framework coupled code to #microservices through #DDD /by @codelytvCodelyTV
 
Padrões de Integração de Sistemas com Spring Integration
Padrões de Integração de Sistemas com Spring IntegrationPadrões de Integração de Sistemas com Spring Integration
Padrões de Integração de Sistemas com Spring IntegrationHelder da Rocha
 
Monoliths, Migrations, and Microservices
Monoliths, Migrations, and MicroservicesMonoliths, Migrations, and Microservices
Monoliths, Migrations, and MicroservicesRandy Shoup
 

La actualidad más candente (20)

20190427 arquitectura de microservicios con contenedores
20190427 arquitectura de microservicios con contenedores20190427 arquitectura de microservicios con contenedores
20190427 arquitectura de microservicios con contenedores
 
Domain Driven Design
Domain Driven DesignDomain Driven Design
Domain Driven Design
 
Introduction to DDD
Introduction to DDDIntroduction to DDD
Introduction to DDD
 
Domain Driven Design Introduction
Domain Driven Design IntroductionDomain Driven Design Introduction
Domain Driven Design Introduction
 
What is DevOps | DevOps Introduction | DevOps Training | DevOps Tutorial | Ed...
What is DevOps | DevOps Introduction | DevOps Training | DevOps Tutorial | Ed...What is DevOps | DevOps Introduction | DevOps Training | DevOps Tutorial | Ed...
What is DevOps | DevOps Introduction | DevOps Training | DevOps Tutorial | Ed...
 
Domain-Driven Design
Domain-Driven DesignDomain-Driven Design
Domain-Driven Design
 
Mongodb basics and architecture
Mongodb basics and architectureMongodb basics and architecture
Mongodb basics and architecture
 
Observability, what, why and how
Observability, what, why and howObservability, what, why and how
Observability, what, why and how
 
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
 
Domain Driven Design
Domain Driven DesignDomain Driven Design
Domain Driven Design
 
Uml a java
Uml a javaUml a java
Uml a java
 
Bd nosql clave valor
Bd nosql clave valorBd nosql clave valor
Bd nosql clave valor
 
MVC
MVCMVC
MVC
 
Domain driven design
Domain driven designDomain driven design
Domain driven design
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
Why Microservices
Why MicroservicesWhy Microservices
Why Microservices
 
Apresentação - MongoDB
Apresentação - MongoDBApresentação - MongoDB
Apresentação - MongoDB
 
From framework coupled code to #microservices through #DDD /by @codelytv
From framework coupled code to #microservices through #DDD /by @codelytvFrom framework coupled code to #microservices through #DDD /by @codelytv
From framework coupled code to #microservices through #DDD /by @codelytv
 
Padrões de Integração de Sistemas com Spring Integration
Padrões de Integração de Sistemas com Spring IntegrationPadrões de Integração de Sistemas com Spring Integration
Padrões de Integração de Sistemas com Spring Integration
 
Monoliths, Migrations, and Microservices
Monoliths, Migrations, and MicroservicesMonoliths, Migrations, and Microservices
Monoliths, Migrations, and Microservices
 

Destacado

Webinar: 10-Step Guide to Creating a Single View of your Business
Webinar: 10-Step Guide to Creating a Single View of your BusinessWebinar: 10-Step Guide to Creating a Single View of your Business
Webinar: 10-Step Guide to Creating a Single View of your BusinessMongoDB
 
Webinar: Working with Graph Data in MongoDB
Webinar: Working with Graph Data in MongoDBWebinar: Working with Graph Data in MongoDB
Webinar: Working with Graph Data in MongoDBMongoDB
 
Back to Basics 2017: Introduction to Sharding
Back to Basics 2017: Introduction to ShardingBack to Basics 2017: Introduction to Sharding
Back to Basics 2017: Introduction to ShardingMongoDB
 
Back to Basics Webinar 3: Introduction to Replica Sets
Back to Basics Webinar 3: Introduction to Replica SetsBack to Basics Webinar 3: Introduction to Replica Sets
Back to Basics Webinar 3: Introduction to Replica SetsMongoDB
 
Back to Basics: My First MongoDB Application
Back to Basics: My First MongoDB ApplicationBack to Basics: My First MongoDB Application
Back to Basics: My First MongoDB ApplicationMongoDB
 
Tracxn Research - Mobile Advertising Landscape, February 2017
Tracxn Research - Mobile Advertising Landscape, February 2017Tracxn Research - Mobile Advertising Landscape, February 2017
Tracxn Research - Mobile Advertising Landscape, February 2017Tracxn
 
The Rise of Microservices
The Rise of MicroservicesThe Rise of Microservices
The Rise of MicroservicesMongoDB
 
Webinar: Introducing the MongoDB Connector for BI 2.0 with Tableau
Webinar: Introducing the MongoDB Connector for BI 2.0 with TableauWebinar: Introducing the MongoDB Connector for BI 2.0 with Tableau
Webinar: Introducing the MongoDB Connector for BI 2.0 with TableauMongoDB
 
Back to Basics Webinar 1: Introduction to NoSQL
Back to Basics Webinar 1: Introduction to NoSQLBack to Basics Webinar 1: Introduction to NoSQL
Back to Basics Webinar 1: Introduction to NoSQLMongoDB
 
How Auto Trader enables the UK's largest digital automotive marketplace
How Auto Trader enables the UK's largest digital automotive marketplaceHow Auto Trader enables the UK's largest digital automotive marketplace
How Auto Trader enables the UK's largest digital automotive marketplaceMongoDB
 
The importance of efficient data management for Digital Transformation
The importance of efficient data management for Digital TransformationThe importance of efficient data management for Digital Transformation
The importance of efficient data management for Digital TransformationMongoDB
 
Webinar: Transitioning from SQL to MongoDB
Webinar: Transitioning from SQL to MongoDBWebinar: Transitioning from SQL to MongoDB
Webinar: Transitioning from SQL to MongoDBMongoDB
 
Creating a Modern Data Architecture for Digital Transformation
Creating a Modern Data Architecture for Digital TransformationCreating a Modern Data Architecture for Digital Transformation
Creating a Modern Data Architecture for Digital TransformationMongoDB
 
2015 Internet Trends Report
2015 Internet Trends Report2015 Internet Trends Report
2015 Internet Trends ReportIQbal KHan
 
Consolidate MySQL Shards Into Amazon Aurora Using AWS Database Migration Serv...
Consolidate MySQL Shards Into Amazon Aurora Using AWS Database Migration Serv...Consolidate MySQL Shards Into Amazon Aurora Using AWS Database Migration Serv...
Consolidate MySQL Shards Into Amazon Aurora Using AWS Database Migration Serv...Amazon Web Services
 
Intro To MongoDB
Intro To MongoDBIntro To MongoDB
Intro To MongoDBAlex Sharp
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDBRavi Teja
 
Tracxn Research - Insurance Tech Landscape, February 2017
Tracxn Research - Insurance Tech Landscape, February 2017Tracxn Research - Insurance Tech Landscape, February 2017
Tracxn Research - Insurance Tech Landscape, February 2017Tracxn
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDBMike Dirolf
 

Destacado (20)

Webinar: 10-Step Guide to Creating a Single View of your Business
Webinar: 10-Step Guide to Creating a Single View of your BusinessWebinar: 10-Step Guide to Creating a Single View of your Business
Webinar: 10-Step Guide to Creating a Single View of your Business
 
Webinar: Working with Graph Data in MongoDB
Webinar: Working with Graph Data in MongoDBWebinar: Working with Graph Data in MongoDB
Webinar: Working with Graph Data in MongoDB
 
Back to Basics 2017: Introduction to Sharding
Back to Basics 2017: Introduction to ShardingBack to Basics 2017: Introduction to Sharding
Back to Basics 2017: Introduction to Sharding
 
Back to Basics Webinar 3: Introduction to Replica Sets
Back to Basics Webinar 3: Introduction to Replica SetsBack to Basics Webinar 3: Introduction to Replica Sets
Back to Basics Webinar 3: Introduction to Replica Sets
 
Back to Basics: My First MongoDB Application
Back to Basics: My First MongoDB ApplicationBack to Basics: My First MongoDB Application
Back to Basics: My First MongoDB Application
 
Tracxn Research - Mobile Advertising Landscape, February 2017
Tracxn Research - Mobile Advertising Landscape, February 2017Tracxn Research - Mobile Advertising Landscape, February 2017
Tracxn Research - Mobile Advertising Landscape, February 2017
 
The Rise of Microservices
The Rise of MicroservicesThe Rise of Microservices
The Rise of Microservices
 
Webinar: Introducing the MongoDB Connector for BI 2.0 with Tableau
Webinar: Introducing the MongoDB Connector for BI 2.0 with TableauWebinar: Introducing the MongoDB Connector for BI 2.0 with Tableau
Webinar: Introducing the MongoDB Connector for BI 2.0 with Tableau
 
Back to Basics Webinar 1: Introduction to NoSQL
Back to Basics Webinar 1: Introduction to NoSQLBack to Basics Webinar 1: Introduction to NoSQL
Back to Basics Webinar 1: Introduction to NoSQL
 
How Auto Trader enables the UK's largest digital automotive marketplace
How Auto Trader enables the UK's largest digital automotive marketplaceHow Auto Trader enables the UK's largest digital automotive marketplace
How Auto Trader enables the UK's largest digital automotive marketplace
 
The importance of efficient data management for Digital Transformation
The importance of efficient data management for Digital TransformationThe importance of efficient data management for Digital Transformation
The importance of efficient data management for Digital Transformation
 
Webinar: Transitioning from SQL to MongoDB
Webinar: Transitioning from SQL to MongoDBWebinar: Transitioning from SQL to MongoDB
Webinar: Transitioning from SQL to MongoDB
 
Creating a Modern Data Architecture for Digital Transformation
Creating a Modern Data Architecture for Digital TransformationCreating a Modern Data Architecture for Digital Transformation
Creating a Modern Data Architecture for Digital Transformation
 
2015 Internet Trends Report
2015 Internet Trends Report2015 Internet Trends Report
2015 Internet Trends Report
 
Consolidate MySQL Shards Into Amazon Aurora Using AWS Database Migration Serv...
Consolidate MySQL Shards Into Amazon Aurora Using AWS Database Migration Serv...Consolidate MySQL Shards Into Amazon Aurora Using AWS Database Migration Serv...
Consolidate MySQL Shards Into Amazon Aurora Using AWS Database Migration Serv...
 
Intro To MongoDB
Intro To MongoDBIntro To MongoDB
Intro To MongoDB
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDB
 
Mongo DB
Mongo DBMongo DB
Mongo DB
 
Tracxn Research - Insurance Tech Landscape, February 2017
Tracxn Research - Insurance Tech Landscape, February 2017Tracxn Research - Insurance Tech Landscape, February 2017
Tracxn Research - Insurance Tech Landscape, February 2017
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDB
 

Similar a Seminario Web MongoDB-Paradigma: Cree aplicaciones más escalables utilizando microservicios

.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
 
¿Cómo afianzar la transformación digital con APIs de datos en tiempo real?
¿Cómo afianzar la transformación digital con APIs de datos en tiempo real?¿Cómo afianzar la transformación digital con APIs de datos en tiempo real?
¿Cómo afianzar la transformación digital con APIs de datos en tiempo real?Denodo
 
Seminario web: Simplificando el uso de su base de datos con Atlas
Seminario web: Simplificando el uso de su base de datos con AtlasSeminario web: Simplificando el uso de su base de datos con Atlas
Seminario web: Simplificando el uso de su base de datos con AtlasMongoDB
 
Meetup DigitalOcean Cloud Native architecture
Meetup DigitalOcean Cloud Native architectureMeetup DigitalOcean Cloud Native architecture
Meetup DigitalOcean Cloud Native architectureDomingo Suarez Torres
 
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
 
SOA y Microservices Diferencias y Aplicaciones
SOA y Microservices Diferencias y AplicacionesSOA y Microservices Diferencias y Aplicaciones
SOA y Microservices Diferencias y AplicacionesGuatemala User Group
 
Mecanismos y patrones para acelerar adopción en arquitecturas de microservicios
Mecanismos y patrones para acelerar adopción en arquitecturas de microserviciosMecanismos y patrones para acelerar adopción en arquitecturas de microservicios
Mecanismos y patrones para acelerar adopción en arquitecturas de microserviciosSoftware Guru
 
ingenieria web.pptx
ingenieria web.pptxingenieria web.pptx
ingenieria web.pptxmedina2966
 
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
 
Microservicios y Gestion de APIs
Microservicios y Gestion de APIsMicroservicios y Gestion de APIs
Microservicios y Gestion de APIsJorge Rodriguez
 

Similar a Seminario Web MongoDB-Paradigma: Cree aplicaciones más escalables utilizando microservicios (20)

.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
 
Microservicios.pptx
Microservicios.pptxMicroservicios.pptx
Microservicios.pptx
 
¿Cómo afianzar la transformación digital con APIs de datos en tiempo real?
¿Cómo afianzar la transformación digital con APIs de datos en tiempo real?¿Cómo afianzar la transformación digital con APIs de datos en tiempo real?
¿Cómo afianzar la transformación digital con APIs de datos en tiempo real?
 
Cloud Native Development in the JVM
Cloud Native Development in the JVMCloud Native Development in the JVM
Cloud Native Development in the JVM
 
Seminario web: Simplificando el uso de su base de datos con Atlas
Seminario web: Simplificando el uso de su base de datos con AtlasSeminario web: Simplificando el uso de su base de datos con Atlas
Seminario web: Simplificando el uso de su base de datos con Atlas
 
Trabajo de microservicios
Trabajo de microserviciosTrabajo de microservicios
Trabajo de microservicios
 
Meetup DigitalOcean Cloud Native architecture
Meetup DigitalOcean Cloud Native architectureMeetup DigitalOcean Cloud Native architecture
Meetup DigitalOcean Cloud Native architecture
 
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...
 
M vs m
M vs mM vs m
M vs m
 
SOA y Microservices Diferencias y Aplicaciones
SOA y Microservices Diferencias y AplicacionesSOA y Microservices Diferencias y Aplicaciones
SOA y Microservices Diferencias y Aplicaciones
 
Introducción SOA - Cloud Computing
Introducción SOA - Cloud ComputingIntroducción SOA - Cloud Computing
Introducción SOA - Cloud Computing
 
Microservicios - RabbitMQ
Microservicios - RabbitMQMicroservicios - RabbitMQ
Microservicios - RabbitMQ
 
Mecanismos y patrones para acelerar adopción en arquitecturas de microservicios
Mecanismos y patrones para acelerar adopción en arquitecturas de microserviciosMecanismos y patrones para acelerar adopción en arquitecturas de microservicios
Mecanismos y patrones para acelerar adopción en arquitecturas de microservicios
 
Trabajo de microservicios
Trabajo de microserviciosTrabajo de microservicios
Trabajo de microservicios
 
ingenieria web.pptx
ingenieria web.pptxingenieria web.pptx
ingenieria web.pptx
 
SOA Open Source
SOA Open SourceSOA Open Source
SOA Open Source
 
Desarrollo moderno con DevOps y Cloud Native
Desarrollo moderno con DevOps y Cloud NativeDesarrollo moderno con DevOps y Cloud Native
Desarrollo moderno con DevOps y Cloud Native
 
Cedes cloud 2013 ronald vargas quesada
Cedes cloud 2013 ronald vargas quesadaCedes cloud 2013 ronald vargas quesada
Cedes cloud 2013 ronald vargas quesada
 
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...
 
Microservicios y Gestion de APIs
Microservicios y Gestion de APIsMicroservicios y Gestion de APIs
Microservicios y Gestion de APIs
 

Más de MongoDB

MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB AtlasMongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB AtlasMongoDB
 
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!MongoDB
 
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...MongoDB
 
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDBMongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDBMongoDB
 
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...MongoDB
 
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series DataMongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series DataMongoDB
 
MongoDB SoCal 2020: MongoDB Atlas Jump Start
 MongoDB SoCal 2020: MongoDB Atlas Jump Start MongoDB SoCal 2020: MongoDB Atlas Jump Start
MongoDB SoCal 2020: MongoDB Atlas Jump StartMongoDB
 
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]MongoDB
 
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2MongoDB
 
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...MongoDB
 
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!MongoDB
 
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your MindsetMongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your MindsetMongoDB
 
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas JumpstartMongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas JumpstartMongoDB
 
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...MongoDB
 
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++MongoDB
 
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...MongoDB
 
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep DiveMongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep DiveMongoDB
 
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & GolangMongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & GolangMongoDB
 
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...MongoDB
 
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...MongoDB
 

Más de MongoDB (20)

MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB AtlasMongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
 
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
 
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
 
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDBMongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
 
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
 
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series DataMongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
 
MongoDB SoCal 2020: MongoDB Atlas Jump Start
 MongoDB SoCal 2020: MongoDB Atlas Jump Start MongoDB SoCal 2020: MongoDB Atlas Jump Start
MongoDB SoCal 2020: MongoDB Atlas Jump Start
 
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
 
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
 
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
 
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
 
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your MindsetMongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
 
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas JumpstartMongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
 
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
 
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
 
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
 
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep DiveMongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
 
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & GolangMongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
 
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
 
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
 

Último

biometria hematica y hemostasia y preanalitica.pptx
biometria hematica y hemostasia y preanalitica.pptxbiometria hematica y hemostasia y preanalitica.pptx
biometria hematica y hemostasia y preanalitica.pptxmariabeatrizbermudez
 
CUADRO COMPARATIVO DE ARCHIVOS Y CARPETAS.pptx
CUADRO COMPARATIVO DE ARCHIVOS Y CARPETAS.pptxCUADRO COMPARATIVO DE ARCHIVOS Y CARPETAS.pptx
CUADRO COMPARATIVO DE ARCHIVOS Y CARPETAS.pptxfatimacamilainjantem
 
Principales Retos Demográficos de Puerto Rico
Principales Retos Demográficos de Puerto RicoPrincipales Retos Demográficos de Puerto Rico
Principales Retos Demográficos de Puerto RicoRaúl Figueroa
 
Porcentaje de población blanca europea en Europa Occidental (1923-2024).pdf
Porcentaje de población blanca europea en Europa Occidental (1923-2024).pdfPorcentaje de población blanca europea en Europa Occidental (1923-2024).pdf
Porcentaje de población blanca europea en Europa Occidental (1923-2024).pdfJC Díaz Herrera
 
PRESENTACION SOBRE LA HOJA DE CALCULO ⠀⠀
PRESENTACION SOBRE LA HOJA DE CALCULO ⠀⠀PRESENTACION SOBRE LA HOJA DE CALCULO ⠀⠀
PRESENTACION SOBRE LA HOJA DE CALCULO ⠀⠀LALVAREZD
 
aine-2014.pdf/tipos de aines-clasificación
aine-2014.pdf/tipos de aines-clasificaciónaine-2014.pdf/tipos de aines-clasificación
aine-2014.pdf/tipos de aines-clasificaciónJhon Jimenez
 
Alfredo Gabriel Rodriguez Yajure Tarea#1
Alfredo Gabriel Rodriguez Yajure Tarea#1Alfredo Gabriel Rodriguez Yajure Tarea#1
Alfredo Gabriel Rodriguez Yajure Tarea#1alfredo130306
 
MARCO TEORICO, SEMINARIO DE INVESTIGACION,
MARCO TEORICO, SEMINARIO DE INVESTIGACION,MARCO TEORICO, SEMINARIO DE INVESTIGACION,
MARCO TEORICO, SEMINARIO DE INVESTIGACION,EmmanuelDelJessGonza
 
max-weber-principales-aportes de la sociologia (2).pptx
max-weber-principales-aportes de la sociologia (2).pptxmax-weber-principales-aportes de la sociologia (2).pptx
max-weber-principales-aportes de la sociologia (2).pptxMarioKing10
 
data lista de ingresantes de la universidad de ucayali 2024.pdf
data lista de ingresantes de la universidad de ucayali 2024.pdfdata lista de ingresantes de la universidad de ucayali 2024.pdf
data lista de ingresantes de la universidad de ucayali 2024.pdfLizRamirez182254
 
Sistema Nacional de Vigilancia en Salud Pública SIVIGILA
Sistema Nacional de Vigilancia en Salud Pública SIVIGILASistema Nacional de Vigilancia en Salud Pública SIVIGILA
Sistema Nacional de Vigilancia en Salud Pública SIVIGILAsofiagomez288291
 
variables-estadisticas. Presentación powerpoint
variables-estadisticas. Presentación powerpointvariables-estadisticas. Presentación powerpoint
variables-estadisticas. Presentación powerpointaria66611782972
 
Investigacion cualitativa y cuantitativa....pdf
Investigacion cualitativa y cuantitativa....pdfInvestigacion cualitativa y cuantitativa....pdf
Investigacion cualitativa y cuantitativa....pdfalexanderleonyonange
 
El Manierismo. El Manierismo
El Manierismo.              El ManierismoEl Manierismo.              El Manierismo
El Manierismo. El Manierismofariannys5
 
procedimiento paran la planificación en los centros educativos tipo v(multig...
procedimiento  paran la planificación en los centros educativos tipo v(multig...procedimiento  paran la planificación en los centros educativos tipo v(multig...
procedimiento paran la planificación en los centros educativos tipo v(multig...claudioluna1121
 
Las familias más ricas del medio oriente (2024).pdf
Las familias más ricas del medio oriente (2024).pdfLas familias más ricas del medio oriente (2024).pdf
Las familias más ricas del medio oriente (2024).pdfJC Díaz Herrera
 
Imágenes-de La-Inteligencia-Artificial-AnaliticayDatos-Beatriz-Garcia-Abril2024
Imágenes-de La-Inteligencia-Artificial-AnaliticayDatos-Beatriz-Garcia-Abril2024Imágenes-de La-Inteligencia-Artificial-AnaliticayDatos-Beatriz-Garcia-Abril2024
Imágenes-de La-Inteligencia-Artificial-AnaliticayDatos-Beatriz-Garcia-Abril2024analiticaydatos
 
AMNIOS Y CORDON UMBILICAL en el 3 embarazo (1).docx
AMNIOS Y CORDON UMBILICAL en el 3 embarazo (1).docxAMNIOS Y CORDON UMBILICAL en el 3 embarazo (1).docx
AMNIOS Y CORDON UMBILICAL en el 3 embarazo (1).docxlm8322074
 
EPIDEMIO CANCER PULMON resumen nnn.pptx
EPIDEMIO CANCER PULMON  resumen nnn.pptxEPIDEMIO CANCER PULMON  resumen nnn.pptx
EPIDEMIO CANCER PULMON resumen nnn.pptxJEFFERSONMEDRANOCHAV
 
ROMA Y EL IMPERIO, CIUDADES ANTIGUA ROMANAS
ROMA Y EL  IMPERIO, CIUDADES  ANTIGUA ROMANASROMA Y EL  IMPERIO, CIUDADES  ANTIGUA ROMANAS
ROMA Y EL IMPERIO, CIUDADES ANTIGUA ROMANASanyahelmont
 

Último (20)

biometria hematica y hemostasia y preanalitica.pptx
biometria hematica y hemostasia y preanalitica.pptxbiometria hematica y hemostasia y preanalitica.pptx
biometria hematica y hemostasia y preanalitica.pptx
 
CUADRO COMPARATIVO DE ARCHIVOS Y CARPETAS.pptx
CUADRO COMPARATIVO DE ARCHIVOS Y CARPETAS.pptxCUADRO COMPARATIVO DE ARCHIVOS Y CARPETAS.pptx
CUADRO COMPARATIVO DE ARCHIVOS Y CARPETAS.pptx
 
Principales Retos Demográficos de Puerto Rico
Principales Retos Demográficos de Puerto RicoPrincipales Retos Demográficos de Puerto Rico
Principales Retos Demográficos de Puerto Rico
 
Porcentaje de población blanca europea en Europa Occidental (1923-2024).pdf
Porcentaje de población blanca europea en Europa Occidental (1923-2024).pdfPorcentaje de población blanca europea en Europa Occidental (1923-2024).pdf
Porcentaje de población blanca europea en Europa Occidental (1923-2024).pdf
 
PRESENTACION SOBRE LA HOJA DE CALCULO ⠀⠀
PRESENTACION SOBRE LA HOJA DE CALCULO ⠀⠀PRESENTACION SOBRE LA HOJA DE CALCULO ⠀⠀
PRESENTACION SOBRE LA HOJA DE CALCULO ⠀⠀
 
aine-2014.pdf/tipos de aines-clasificación
aine-2014.pdf/tipos de aines-clasificaciónaine-2014.pdf/tipos de aines-clasificación
aine-2014.pdf/tipos de aines-clasificación
 
Alfredo Gabriel Rodriguez Yajure Tarea#1
Alfredo Gabriel Rodriguez Yajure Tarea#1Alfredo Gabriel Rodriguez Yajure Tarea#1
Alfredo Gabriel Rodriguez Yajure Tarea#1
 
MARCO TEORICO, SEMINARIO DE INVESTIGACION,
MARCO TEORICO, SEMINARIO DE INVESTIGACION,MARCO TEORICO, SEMINARIO DE INVESTIGACION,
MARCO TEORICO, SEMINARIO DE INVESTIGACION,
 
max-weber-principales-aportes de la sociologia (2).pptx
max-weber-principales-aportes de la sociologia (2).pptxmax-weber-principales-aportes de la sociologia (2).pptx
max-weber-principales-aportes de la sociologia (2).pptx
 
data lista de ingresantes de la universidad de ucayali 2024.pdf
data lista de ingresantes de la universidad de ucayali 2024.pdfdata lista de ingresantes de la universidad de ucayali 2024.pdf
data lista de ingresantes de la universidad de ucayali 2024.pdf
 
Sistema Nacional de Vigilancia en Salud Pública SIVIGILA
Sistema Nacional de Vigilancia en Salud Pública SIVIGILASistema Nacional de Vigilancia en Salud Pública SIVIGILA
Sistema Nacional de Vigilancia en Salud Pública SIVIGILA
 
variables-estadisticas. Presentación powerpoint
variables-estadisticas. Presentación powerpointvariables-estadisticas. Presentación powerpoint
variables-estadisticas. Presentación powerpoint
 
Investigacion cualitativa y cuantitativa....pdf
Investigacion cualitativa y cuantitativa....pdfInvestigacion cualitativa y cuantitativa....pdf
Investigacion cualitativa y cuantitativa....pdf
 
El Manierismo. El Manierismo
El Manierismo.              El ManierismoEl Manierismo.              El Manierismo
El Manierismo. El Manierismo
 
procedimiento paran la planificación en los centros educativos tipo v(multig...
procedimiento  paran la planificación en los centros educativos tipo v(multig...procedimiento  paran la planificación en los centros educativos tipo v(multig...
procedimiento paran la planificación en los centros educativos tipo v(multig...
 
Las familias más ricas del medio oriente (2024).pdf
Las familias más ricas del medio oriente (2024).pdfLas familias más ricas del medio oriente (2024).pdf
Las familias más ricas del medio oriente (2024).pdf
 
Imágenes-de La-Inteligencia-Artificial-AnaliticayDatos-Beatriz-Garcia-Abril2024
Imágenes-de La-Inteligencia-Artificial-AnaliticayDatos-Beatriz-Garcia-Abril2024Imágenes-de La-Inteligencia-Artificial-AnaliticayDatos-Beatriz-Garcia-Abril2024
Imágenes-de La-Inteligencia-Artificial-AnaliticayDatos-Beatriz-Garcia-Abril2024
 
AMNIOS Y CORDON UMBILICAL en el 3 embarazo (1).docx
AMNIOS Y CORDON UMBILICAL en el 3 embarazo (1).docxAMNIOS Y CORDON UMBILICAL en el 3 embarazo (1).docx
AMNIOS Y CORDON UMBILICAL en el 3 embarazo (1).docx
 
EPIDEMIO CANCER PULMON resumen nnn.pptx
EPIDEMIO CANCER PULMON  resumen nnn.pptxEPIDEMIO CANCER PULMON  resumen nnn.pptx
EPIDEMIO CANCER PULMON resumen nnn.pptx
 
ROMA Y EL IMPERIO, CIUDADES ANTIGUA ROMANAS
ROMA Y EL  IMPERIO, CIUDADES  ANTIGUA ROMANASROMA Y EL  IMPERIO, CIUDADES  ANTIGUA ROMANAS
ROMA Y EL IMPERIO, CIUDADES ANTIGUA ROMANAS
 

Seminario Web MongoDB-Paradigma: Cree aplicaciones más escalables utilizando microservicios

  • 1. Seminario Web MongoDB & Paradigma Desarrolle aplicaciones más escalables utilizando microservicios
  • 2. Ruben Terceño Senior Solutions Architect MongoDB Miguel Garrido Senior Solutions Architect Paradigma Digital
  • 3. Agenda Introducción a los microservicios: ¿Por qué han surgido? ¿Qué beneficios aportan frente a arquitecturas tradicionales? Nuevas tecnologías que ayudan en arquitecturas de microservicios ¿Qué beneficios aporta el uso de MongoDB en este tipo de arquitecturas?
  • 5. 5 Definición de microservicio “Microservices is a software architecture style, in which complex applications are composed of small, independent processes communicating with each other using language- agnostic APIs. These services are small, highly decoupled and focus on doing a small task.”
  • 6. 6 Un poco de historia Equipo de desarrollo Arquitecturas monolíticas (pre- SOA) Arquitecturas SOA Microservicios En arquitecturas monolíticas cualquier cambio afecta al producto completo y todos los equipos deben estar de acuerdo en implementarlo. Los elementos en SOA se desarrollan de manera más autónoma pero los equipos deben coordinarse con otros para que los cambios encajen en el diseño general. El nuevo paradigma de desarrollo
  • 7. 7 • Alto nivel de acoplamiento • Complejidad de código • Un pequeño cambio de código en la aplicación implica un despliegue completo • Escalado ineficiente • Menos especialización Arquitecturas monolíticas
  • 8. 8 • Menor acoplamiento entre servicios • Bus de servicios que mapea el servicio lógico y llama al servicio físico • Se premia la reusabilidad, lo que puede llevar a que contengan demasiado código • Los servicios tienen estado • Suelen utilizar modelos de datos relacionales • En algunos casos, es complicado separar la funcionalidad entre servicios Arquitecturas SOA
  • 9. 9 Arquitecturas de microservicios • Principio de responsabilidad única • Desarrollo eficiente • Escalado elástico • Ciclo de vida independiente • Menor Time-to-Market (Continuous Delivery) • Facilidad de integración con otros sistemas
  • 10. 10 Retos de una arquitectura de microservicios • ¿Dónde se encuentran desplegados los servicios? • ¿Qué pasa si alguno falla? • ¿Cómo se configuran? • ¿Dónde se guardan las trazas? • ¿Cómo los monitorizamos? • ¿Cómo los desplegamos? • Gestionar el aumento del tráfico interno PaaS Microservici o 1 Microservici o 2 Microservici o 3 Microservici o 4 Servicio de enrutamiento Almacenamiento Servicio de orquestación Servicio de descubrimiento Registro de contenedores Consumidores Servicios de logging / monitorización Servicio de configuración Herramient a de CI Control de versiones
  • 11. 11 Herramientas Microservicio 1 Microservicio 2 Microservicio 3 Microservicio 4 Servicio de enrutamiento Docker registry Servicio de orquestación Servicio de descubrimiento Devops Consumidores Servicios de logging / monitorización Servicio de configuración
  • 12. 12 Herramientas Microservicio 1 Microservicio 2 Microservicio 3 Microservicio 4 Servicio de enrutamiento Docker registry Servicio de orquestación Servicio de descubrimiento Devops Consumidores Servicios de logging / monitorización Servicio de configuración Encargado del pipeline de Continuous Delivery Gestión del código fuente de los microservicios Gestión de imágenes docker de los diferentes microservicios Motor de base de datos
  • 13. 13 Ejemplo de una arquitectura de microservicios PaaS Consumidor 1 CPD 1 Node 1 Gestión de pedidos Gestión de clientes Gestión de artículos Gestión de usuarios Node 2 Eureka Gestión de clientes CPD 2 Node 3 Gestión de pedidos Node 4 Gestión de clientes Gestión de artículos Gestión de usuarios Zuul Zuul Spring Cloud Config Eureka Spring Cloud Config MongoDBMongoDB CPD 3 (virtual) MongoDB Arbiter Master 1 Master 2 MongoDBMongoDB Master 3 Consumidor 2 Consumidor 3 Consumidor 4 Consumidor 5 Consumidor 6
  • 14. 14 • Como hemos visto, la manera de comunicarse entre microservicios son los protocolos de red, especialmente el protocolo http, definiendo APIs REST como interfaz de comunicación. Estas APIs proporcionan: – Organizan sistemas internos para dar apoyo a nuevos proyectos innovadores de una manera uniforme. – Reducen costes de mantenimiento. – Incrementan la agilidad en los procesos de transformación. – Acercan la omnicanalidad a la empresa Microservicios y APIs Servicio API
  • 15. 15 JSON como formato de intercambio • JSON son las siglas de JavaScript Object Notation, y fue originalmente pensado para llevar la notación nativa usada para declarar objetos en JavaScript a otros lenguajes. Proporciona: – Flexibilidad – Ligereza – Evita transformaciones con bases de datos en formato JSON – Modelo de datos autoexplicativo
  • 16. 16 Proyecciones y expansiones • Funcionamiento similar a MongoDB • Minimizan el tráfico y optimizan el servicio en casos de acceso a múltiples datastores • Ejemplo de llamada con proyección: rest/api/content?type=page&spaceKey=TEST&proje ctions=version, history • Proporcionan mayor rendimiento y menor consumo, limitando el número de llamadas a un API • Permiten la expansión de campos e items embebidos de un recurso • Ejemplo de llamada con expansión: rest/api/content?type=page&spaceKey=TEST&expa nd=version,history.lastUpdated Proyecciones Expansiones
  • 17. 17 Transaccionalidad en microservicios La división de los datos en diferentes repositorios (base de datos, colas de mensajes, etc) y su accesibilidad a través de servicios que los envuelven supone perder la transaccionalidad nativa a nivel de base de datos: Existen diversos patrones que permiten tratar esta situación: • Reintentar: en situaciones de caída puntual o no disponibilidad parcial del servicio (caída de un nodo por ejemplo), reintentar la operación puede ser una solución válida. • Abortar la operación completa: en esta situación, debe existir una operación de ‘compensación’ para volver a un estado de consistencia. • Transacción distribuida: basa su funcionamiento en la la existencia de un proceso de gobierno de la transacción (‘transaction manager’). Ok Servicio 1 Servicio 2 Servicio 3 Servicio 3 Ok Reintento Servicio 1 Servicio 2 Servicio 3 Deshacer Coordinador Servicio 2 Servicio 3 Preparar Servicio 1 Commit
  • 19. 19 Cloud, IaaS y PaaS • Ayudan con la gestión eficiente de recursos • Posibilitan escalado ilimitado • Delegación de responsabilidad en piezas propias (balanceo de carga, enrutamiento, descubrimiento, seguridad...etc) • Monitorización de servicios • Logs centralizados • Trazabilidad de servicios • Despliegue automatizado con estrategias de balanceo automáticas
  • 20. 20 Docker containers • Proveen entornos aislados gestionados por procesos (hypervisor) con el mínimo kernel de sistema operativo en cada contenedor • Con el mismo hardware se pueden ejecutar más contenedores que con máquinas virtuales • Docker ha conseguido un gran seguimiento de la comunidad con un repositorio público de imágenes, Docker Hub, que contiene sobre 400.000 imágenes
  • 21. 21 Broker de mensajería • Broker de mensajería publisher / subscriber con persistencia en disco • Conecta microservicios • Desacopla llamadas entre microservicios • Proporciona alta disponibilidad Microservicio 1 Microservicio 2 Almacenamiento Microservicio 1 Microservicio 2 Almacenamiento - Dependencia entre servicios - Gestión de errores y reintentos en el servicio llamante - Añadir un nuevo servicio implica sólo suscripción - Gestión de reintentos en Kafka - Desacoplamiento entre servicios
  • 23. 23 Bases de datos NoSQL Lenguaje de búsqueda expresivo Índices secundarios Consistencia Fuerte Integración con herramientas de gestión Escalable y distribuido • Escalabilidad horizontal • Cloud Rendimiento • Usuarios globales • Muy alta disponibilidad Flexibilidad • Esquema flexible • Datos no estructurados • Sin relaciones complejas
  • 24. 24 MongoDB Nexus Architecture Lenguaje de búsqueda expresivo Índices secundarios Consistencia Fuerte Integración con herramientas de gestión The only NoSQL Database that combines best of RDBMS + NoSQL Escalable y distribuido • Escalabilidad horizontal • Cloud Rendimiento • Usuarios globales • Muy alta disponibilidad Flexibilidad • Esquema flexible • Datos no estructurados • Sin relaciones complejas
  • 25. 25 Modelo de datos flexible Consumidor A Consumidor B Microservicio 1 • El esquema flexible de MongoDB permite que cada consumidor del servicio pueda tener una percepción propia de un modelo común, sin afectar esto a la morfología del dato en MongoDB • La propagación de los cambios en el modelo de datos de los consumidores es automática • Las vistas read-only permiten exponer el modelo de datos de forma polimórfica y realizar ofuscación
  • 26. 26 Redundancia Debido a la naturaleza distribuida de los microservicios, estos tienen que ser diseñados teniendo en cuenta la redundancia del dato. MongoDB encaja perfectamente en este requerimiento, ya que proporciona de base redundancia a través de sus replica set. Es muy importante destacar MongoDB permite que la política de redundancia puede ser variable por petición y por criticidad del dato CloudCPD 2CPD 1 Replica set Nodo 1 Nodo 2 ArbiterNodo 3 Nodo 4
  • 27. Los microservicios no se pueden interrumpir para hacer cambios en su esquema de datos. MongoDB puede adaptarse a cambios en el esquema de datos sin ninguna pérdida de servicio. Su arquitectura independiente de la plataforma proporciona facilidad de portabilidad. Frontend Applications Digital & Mobile Apps Backend Applications … Operational & BI Reporting Application Layer API Access Layer Microservices Layer Database Layer Flexibilidad para modelar estructuras de datos cambiantes sin necesidad de parar la plataforma para realizar mantenimiento. 1 MongoDB and Microservices – Flexibility
  • 28. La habilidad de escalar rapidamente para adaptarse a una demanda cambiante es un atributo clave de los microservicios. La arquitectura de MongoDB permite escalado y alta disponibilidad de forma nativa. Frontend Applications Digital & Mobile Apps Backend Applications … Operational & BI Reporting Application Layer API Access Layer Microservices Layer Database Layer 2 La escalabilidad y alta disponibilidad nativas se dan la mano con el alto rendimiento necesario en una plataforma de microservicios. MongoDB and Microservices – Scalability
  • 29. MongoDB proporciona funcionalidad de autenticación, control de acceso, auditoría y cifrado para proteger los despliegues de MongoDB. Las vistas read-only permiten exponer el modelo de datos de forma polimórfica y realizar ofuscación. Frontend Applications Digital & Mobile Apps Backend Applications … Operational & BI Reporting Application Layer API Access Layer Microservices Layer Database Layer 3 Seguridad nativa que protege los datos y facilita el desarrollo de aplicaciones al asumir el control de accesos y la visibilidad. MongoDB and Microservices – Security
  • 30. Nuestra receta: Orquestación de MongoDB con Docker
  • 31. Gestiona y provisiona los contenedores Convierte un grupo de contenedores en un único servicio Define una aplicación multicontenedor en un único fichero de descripción Ecosistema Docker
  • 32. Orquestación Coordina los contenedores de MongoDB para realizar un despliegue según las mejores prácticas. Control de Recursos Dimensionado de cada instancia (y cada clúster) para evitar contención de recursos Docker
  • 33. 5x más rápido que Kubernetes para lanzar un nuevo contenedor 7x más rápido que Kubernetes en listar los contenedores activos Evaluación de plataformas a gran escala 1000 instancias EC2 en un clúster ¿Rendimiento? ¿Capacidad operativa? ¿Facilidad de soporte? https://medium.com/on-docker/evaluating-container-platforms-at-scale- 5e7b44d93f2c#.k2fxds8c2 https://www.docker.com/survey-2016 Porqué Swarm?
  • 34. swarm-node-2 swarm-node-3swarm-node-1 ¿Cómo conectamos los diferentes procesos mongod? • Swarm proporciona redes host a host • Utiliza el hostname definido en el archivo Compose magicmagic magic Redes multi host de Swarm
  • 35. SECONDARY cgroup/docker cgroup/docker cgroup/docker cgroup/docker cgroup/docker cgroup/docker cgroup/dockercgroup/docker cgroup/docker cgroup/dockercgroup/docker cgroup/docker cgroup/dockercgroup/docker cgroup/docker cgroup/dockercgroup/docker cgroup/docker PRIMARY SECONDARY SECONDARY PRIMARY SECONDARY PRIMARYSECONDARY SECONDARY PRIMARYSECONDARY SECONDARY PRIMARYSECONDARY SECONDARY PRIMARYSECONDARY SECONDARY Tendremos un primario y al menos dos secundarios por aplicación. Definiremos reglas de afinidad en Docker Compose para evitar que los miembros de un mismo replicaset se desplieguen el en mismo servidor físico. Con Linux cgroups aislaremos los recursos (RAM / CPU / BlockIO) a lo que tendrá acceso cada mongod. MongoDB Ops/Cloud Manager es clave en este proceso ya que permite la provisión programática ! MACHINE 1 APP 1 MACHINE 2 MACHINE 3 APP 2 APP 3 APP 4 APP 5 APP 6 SECONDARY Despliegue en alta disponibilidad
  • 36. SECONDARY cgroup/docker cgroup/docker cgroup/docker cgroup/docker cgroup/docker cgroup/docker cgroup/dockercgroup/docker cgroup/docker cgroup/dockercgroup/docker cgroup/docker cgroup/dockercgroup/docker cgroup/docker cgroup/dockercgroup/docker cgroup/docker PRIMARY PRIMARY SECONDARY PRIMARY PRIMARY PRIMARYSECONDARY SECONDARY PRIMARYSECONDARY SECONDARY PRIMARYSECONDARY SECONDARY PRIMARYSECONDARY SECONDARY MACHINE 1 APP 1 MACHINE 2 MACHINE 3 APP 2 APP 3 APP 4 APP 5 APP 6 SECONDARY En caso de fallo a nivel de servidor alguno de los nodos secundarios tomará el rol de primario. Cuando los contenedores de la máquina en fallo se vuelvan a levantar, siempre que respeten los nombres la arquitectura se resincroniza. Evento de HA (La ley de Murphy)
  • 37. Frontend Applications Digital & Mobile Apps Backend Applications … Operational & BI Reporting Application Layer API Access Layer Microservice s Layer Database Application Storage Modelo Uno: Contenedores para todos Pros: • Se despliega como un todo • Se migra fácilmente entre entornos Cons: • El storage debe ser persistente • La comunicación intra nodo es más compleja • Más difícil de debugear Arquitectura de referencia
  • 38. Frontend Applications Digital & Mobile Apps Backend Applications … Operational & BI Reporting Application Layer API Access Layer Microservice s Layer Database Cluster Modelo Dos: Contenedores para la aplicación Pros: • Permite a la base de datos manejear su propia HA y escalado • Permite la separación entre las capas lógicas y de datos (Seguridad) • Más fácil de debuguear Cons: • La base de datos se provisiona de forma independiente. Arquitectura de referencia
  • 39. • Nuevos clústers en segundos • Despliegues con redundancia y alta disponibilidad • Completamente elástico, sin pérdida de servicio • Parches automáticos y acceso inmediato a nuevas funcionalidades • Con autenticación y cifrado • Backup continuo con recuperación a la carta • Alertas personalizables y monitorización fina Completamente seguro Ya lo hacemos nosotros • Pago or uso. Facturación por horas • Soporte multi cloud (AWS ahora mismo, Azure & Google Cloud antes de verano) • Fácil migración mediante herramientas a despliegues cloud, on premise o híbridos. Sin trucos MongoDB Atlas Base de datos como servicio de MongoDB