Las arquitecturas de microservicios han sido adoptados muy rápidamente, debido a su capacidad para proveer modularidad, escalabilidad y alta disponibilidad
En este seminario web grabado, nuestros expertos, Rubén Terceño de MongoDB y Miguel Garrido de Paradigma Digital le explican cómo se puede usar microservicios para:
Alinear las estructuras de tu organización
Realizar aplicaciones más rápidamente
Hacer un uso eficiente de tus recursos
This presentation discusses why Oracle's Cloud is the best choice for running an Oracle Database in the cloud, in particular an Oracle RAC database. This presentation was first presented during Collaborate18 / #C18LV together with Vishal Singh.
Beyond the basics: advanced SQL with MariaDBMariaDB plc
We've been writing SQL queries with WHERE, GROUP BY, ORDER BY, HAVING for decades, but we’re not using DOS 3.2 or Windows 1.0 anymore. Why limit yourself to SQL:86? In the past couple of releases, MariaDB has added support for features in the SQL:99 (common table expressions), SQL:2003 (window functions), SQL:2011 (system-versioned tables), and SQL:2016 (JSON) specifications – allowing you to build more complex data models (e.g., semi-structured or hierarchical) and write simpler, faster queries. In this session, Sergei Golubchik brings everyone up to speed on the latest SQL syntax supported in MariaDB.
Se describe la capacidad de las bases de datos NoSQL y se enfoca en CouchDB una base de datos no relacional de tipo documental cuyo motor de programación está basado en JavaScript y estructura establecida en JSON. Además se da un estudio de las principales características de esta base de datos tales como tolerancia a particiones, y disponibilidad.
Posteriormente se da uso al Teorema CAP para conocer en qué caso es conveniente el uso de CouchDB y así hacer que la elección de CouchDB sea la más apropiada para algún proyecto en particular.
Finalmente se muestra un ejemplo Map Reduce
Webinar: 10-Step Guide to Creating a Single View of your BusinessMongoDB
Organizations have long seen the value in aggregating data from multiple systems into a single, holistic, real-time representation of a business entity. That entity is often a customer. But the benefits of a single view in enhancing business visibility and operational intelligence can apply equally to other business contexts. Think products, supply chains, industrial machinery, cities, financial asset classes, and many more.
However, for many organizations, delivering a single view to the business has been elusive, impeded by a combination of technology and governance limitations.
MongoDB has been used in many single view projects across enterprises of all sizes and industries. In this session, we will share the best practices we have observed and institutionalized over the years. By attending the webinar, you will learn:
- A repeatable, 10-step methodology to successfully delivering a single view
- The required technology capabilities and tools to accelerate project delivery
- Case studies from customers who have built transformational single view applications on MongoDB.
Webinar: Working with Graph Data in MongoDBMongoDB
With the release of MongoDB 3.4, the number of applications that can take advantage of MongoDB has expanded. In this session we will look at using MongoDB for representing graphs and how graph relationships can be modeled in MongoDB.
We will also look at a new aggregation operation that we recently implemented for graph traversal and computing transitive closure. We will include an overview of the new operator and provide examples of how you can exploit this new feature in your MongoDB applications.
This presentation discusses why Oracle's Cloud is the best choice for running an Oracle Database in the cloud, in particular an Oracle RAC database. This presentation was first presented during Collaborate18 / #C18LV together with Vishal Singh.
Beyond the basics: advanced SQL with MariaDBMariaDB plc
We've been writing SQL queries with WHERE, GROUP BY, ORDER BY, HAVING for decades, but we’re not using DOS 3.2 or Windows 1.0 anymore. Why limit yourself to SQL:86? In the past couple of releases, MariaDB has added support for features in the SQL:99 (common table expressions), SQL:2003 (window functions), SQL:2011 (system-versioned tables), and SQL:2016 (JSON) specifications – allowing you to build more complex data models (e.g., semi-structured or hierarchical) and write simpler, faster queries. In this session, Sergei Golubchik brings everyone up to speed on the latest SQL syntax supported in MariaDB.
Se describe la capacidad de las bases de datos NoSQL y se enfoca en CouchDB una base de datos no relacional de tipo documental cuyo motor de programación está basado en JavaScript y estructura establecida en JSON. Además se da un estudio de las principales características de esta base de datos tales como tolerancia a particiones, y disponibilidad.
Posteriormente se da uso al Teorema CAP para conocer en qué caso es conveniente el uso de CouchDB y así hacer que la elección de CouchDB sea la más apropiada para algún proyecto en particular.
Finalmente se muestra un ejemplo Map Reduce
Webinar: 10-Step Guide to Creating a Single View of your BusinessMongoDB
Organizations have long seen the value in aggregating data from multiple systems into a single, holistic, real-time representation of a business entity. That entity is often a customer. But the benefits of a single view in enhancing business visibility and operational intelligence can apply equally to other business contexts. Think products, supply chains, industrial machinery, cities, financial asset classes, and many more.
However, for many organizations, delivering a single view to the business has been elusive, impeded by a combination of technology and governance limitations.
MongoDB has been used in many single view projects across enterprises of all sizes and industries. In this session, we will share the best practices we have observed and institutionalized over the years. By attending the webinar, you will learn:
- A repeatable, 10-step methodology to successfully delivering a single view
- The required technology capabilities and tools to accelerate project delivery
- Case studies from customers who have built transformational single view applications on MongoDB.
Webinar: Working with Graph Data in MongoDBMongoDB
With the release of MongoDB 3.4, the number of applications that can take advantage of MongoDB has expanded. In this session we will look at using MongoDB for representing graphs and how graph relationships can be modeled in MongoDB.
We will also look at a new aggregation operation that we recently implemented for graph traversal and computing transitive closure. We will include an overview of the new operator and provide examples of how you can exploit this new feature in your MongoDB applications.
Back to Basics 2017: Introduction to ShardingMongoDB
Sharding is a method for distributing data across multiple machines. MongoDB uses sharding to support deployments with very large data sets and high throughput operations by providing the capability for horizontal scaling.
Back to Basics: My First MongoDB ApplicationMongoDB
This Back to Basics webinar series will introduce you to NoSQL and the MongoDB database. You will find out what MongoDB is, why you would use it, and what you would use it for.
Organisations are building their applications around microservice architectures because of the flexibility, speed of delivery, and maintainability they deliver. In this session, the concepts behind microservices, containers and orchestration was explained and how to use them with MongoDB.
Webinar: Introducing the MongoDB Connector for BI 2.0 with TableauMongoDB
Pairing your real-time operational data stored in a modern database like MongoDB with first-class business intelligence platforms like Tableau enables new insights to be discovered faster than ever before.
Many leading organizations already use MongoDB in conjunction with Tableau including a top American investment bank and the world’s largest airline. With the Connector for BI 2.0, it’s never been easier to streamline the connection process between these two systems.
In this webinar, we will create a live connection from Tableau Desktop to a MongoDB cluster using the Connector for BI. Once we have Tableau Desktop and MongoDB connected, we will demonstrate the visual power of Tableau to explore the agile data storage of MongoDB.
You’ll walk away knowing:
- How to configure MongoDB with Tableau using the updated connector
- Best practices for working with documents in a BI environment
- How leading companies are using big data visualization strategies to transform their businesses
How Auto Trader enables the UK's largest digital automotive marketplaceMongoDB
Often cited as one of the most successful digital transformations in the UK, Russell Warman talked through how their new ways of working, values and technology are helping Auto Trader to enable the UK's largest digital automotive marketplace and to become the UK’s most admired digital business.
The importance of efficient data management for Digital TransformationMongoDB
Digital Transformation has developed from hype into a “standard” tool for businesses that need to modernise and compete. Experiencing pressure from new market entrants, incumbents are challenged on a daily basis to redefine their ways of doing business. This doesn’t only include people and processes, but of course also the underlying technology. With data being the force behind the most successful transformation stories in the past years, we are explored some of the challenges of legacy Information Management Systems, and look at new ways of managing Data in Motion, Data at Rest, and Data in Use to drive a successful Digital Transformation programme to gain a competitive advantage.
Development time is wasted as the bulk of the work shifts from adding business features to struggling with the RDBMS. MongoDB, the leading NoSQL database, offers a flexible and scalable solution.
Creating a Modern Data Architecture for Digital TransformationMongoDB
By managing Data in Motion, Data at Rest, and Data in Use differently, modern Information Management Solutions are enabling a whole range of architecture and design patterns that allow enterprises to fully harness the value in data flowing through their systems. In this session we explored some of the patterns (e.g. operational data lakes, CQRS, microservices and containerisation) that enable CIOs, CDOs and senior architects to tame the data challenge, and start to use data as a cross-enterprise asset.
Consolidate MySQL Shards Into Amazon Aurora Using AWS Database Migration Serv...Amazon Web Services
If you’re running a MySQL database at scale, there’s a good chance you’re sharding your database deployment. Sharding is a useful way to increase the scale of your deployment, but it has drawbacks like higher costs, high administration overheard and lower elasticity. It’s harder to grow or shrink a sharded database deployment to match your traffic patterns. In this session, we will discuss and demonstrate how to use AWS Database Migration Service to consolidate multiple MySQL shards into an Amazon Aurora cluster to reduce cost, improve elasticity and make it easier to manage your database.
Learning Objectives:
Learn how to scale your MySQL database at reduced cost and higher elasticity, by consolidating multiple shards into one Amazon Aurora cluster.
Tracxn Research - Insurance Tech Landscape, February 2017Tracxn
Round count hit an all-time sector peak in seed (81), early (72), and late stage (17), with late stage deal activity registering the most growth (46%).
¿Cómo afianzar la transformación digital con APIs de datos en tiempo real?Denodo
Watch full webinar here: https://bit.ly/3bIcSob
Las API se han convertido en el enfoque de referencia para crear nuevas aplicaciones digitales de manera más rápida y eficiente. Son los bloques que permiten crear de forma ágil nuevos servicios digitales en base a otros existentes.
La virtualización de datos acelera el proceso de creación de APIs de datos y permite a golpe de click, sin necesidad de programar, publicar APIs integrando datos de múltiples repositorios. Todo ello utilizando los últimos estándares en cuanto a acceso a datos (GraphQL), documentación (Open API) y seguridad.
En este webinar explicaremos:
- Cómo mejorar la estrategia de API ofreciendo servicios de datos ágiles mediante la virtualización de datos
- Patrones de uso de la virtualización de datos para apificación
- Cómo simplificar el acceso y combinación de datos en arquitecturas de microservicios
In this talk, I will talk about what Cloud Native is and why it's important in the design of applications.
I will also address the challenges involved in writing Cloud Native applications in the JVM. The topics in details that will be discussed are:
Microservices arquitecture
Containers
Orchestration
Observability
CI, CD and Continuous Deployment
Security
Seminario web: Simplificando el uso de su base de datos con AtlasMongoDB
MongoDB Atlas es nuestra base de datos como servicio para MongoDB. Incluye todas las funciones de MongoDB, pero sin su complejidad operativa, y se factura por horas según un modelo de pago por uso. Vea el seminario para informarse.
Microservicios en la nube: un paseo por Azure Service Fabric - .NET Conf CL v...Guillermo Javier Bellmann
Presentation about microservices architectures using Azure Service Fabric given at .NET Conf CL v2018 in Santiago, Chile.
Presentación sobre arquitecturas de microservicios con Azure Service Fabric dada en .NET Conf CL v2018 en Santiago, Chile.
Arquitectura de servicios distribuidos, trade-off, implementacion, experiencias y utilizacion de RabbitMQ como Message Broker entre servicios, beneficios de RabbitMQ. Experiencias con AWS Amazon Web Services.
Mecanismos y patrones para acelerar adopción en arquitecturas de microserviciosSoftware Guru
En esta charla explico tanto los problemas que se presentan asi como el patron y/o mecanismo para resolverlos dentro del contexto de microservicios.
Presentada por Miguel Enriquez en SG Virtual Conference 2020
En esta presentación se presenta una discusión acerca del nuevo glosario del ingeniero de software incluyendo:
- TDD
- DDD
- Cloud Native
- 12 factors
- DevOps
- CQRS
- Event Sourcing
Que significan todos esos términos y como pueden ayudarlos en su jornada cloud.
Presentación de Computación en la Nube en el Colegio Cedes Don Bosco, en Alajuelita. Los 5 Pilares de la Computación en la Nube de Oracle. 18 de setiembre del 2013. "La Internet ha madurado. Ya nos más se le llama así. El Internet ha evolucionado y ahora se le llama Computación en la Nube.
Microservicios en la nube: un paseo por Azure Service Fabric - .NET Conf CO v...Guillermo Javier Bellmann
Presentation about microservices architectures using Azure Service Fabric given at .NET Conf CO v2018 in Medellin, Colombia.
Presentación sobre arquitecturas de microservicios con Azure Service Fabric dada en .NET Conf CO v2018 en Medellín, Colombia.
MongoDB SoCal 2020: Migrate Anything* to MongoDB AtlasMongoDB
During this talk we'll navigate through a customer's journey as they migrate an existing MongoDB deployment to MongoDB Atlas. While the migration itself can be as simple as a few clicks, the prep/post effort requires due diligence to ensure a smooth transfer. We'll cover these steps in detail and provide best practices. In addition, we’ll provide an overview of what to consider when migrating other cloud data stores, traditional databases and MongoDB imitations to MongoDB Atlas.
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!MongoDB
These days, everyone is expected to be a data analyst. But with so much data available, how can you make sense of it and be sure you're making the best decisions? One great approach is to use data visualizations. In this session, we take a complex dataset and show how the breadth of capabilities in MongoDB Charts can help you turn bits and bytes into insights.
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...MongoDB
MongoDB Kubernetes operator and MongoDB Open Service Broker are ready for production operations. Learn about how MongoDB can be used with the most popular container orchestration platform, Kubernetes, and bring self-service, persistent storage to your containerized applications. A demo will show you how easy it is to enable MongoDB clusters as an External Service using the Open Service Broker API for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDBMongoDB
Are you new to schema design for MongoDB, or are you looking for a more complete or agile process than what you are following currently? In this talk, we will guide you through the phases of a flexible methodology that you can apply to projects ranging from small to large with very demanding requirements.
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...MongoDB
Humana, like many companies, is tackling the challenge of creating real-time insights from data that is diverse and rapidly changing. This is our journey of how we used MongoDB to combined traditional batch approaches with streaming technologies to provide continues alerting capabilities from real-time data streams.
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series DataMongoDB
Time series data is increasingly at the heart of modern applications - think IoT, stock trading, clickstreams, social media, and more. With the move from batch to real time systems, the efficient capture and analysis of time series data can enable organizations to better detect and respond to events ahead of their competitors or to improve operational efficiency to reduce cost and risk. Working with time series data is often different from regular application data, and there are best practices you should observe.
This talk covers:
Common components of an IoT solution
The challenges involved with managing time-series data in IoT applications
Different schema designs, and how these affect memory and disk utilization – two critical factors in application performance.
How to query, analyze and present IoT time-series data using MongoDB Compass and MongoDB Charts
At the end of the session, you will have a better understanding of key best practices in managing IoT time-series data with MongoDB.
Join this talk and test session with a MongoDB Developer Advocate where you'll go over the setup, configuration, and deployment of an Atlas environment. Create a service that you can take back in a production-ready state and prepare to unleash your inner genius.
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]MongoDB
Our clients have unique use cases and data patterns that mandate the choice of a particular strategy. To implement these strategies, it is mandatory that we unlearn a lot of relational concepts while designing and rapidly developing efficient applications on NoSQL. In this session, we will talk about some of our client use cases, the strategies we have adopted, and the features of MongoDB that assisted in implementing these strategies.
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2MongoDB
Encryption is not a new concept to MongoDB. Encryption may occur in-transit (with TLS) and at-rest (with the encrypted storage engine). But MongoDB 4.2 introduces support for Client Side Encryption, ensuring the most sensitive data is encrypted before ever leaving the client application. Even full access to your MongoDB servers is not enough to decrypt this data. And better yet, Client Side Encryption can be enabled at the "flick of a switch".
This session covers using Client Side Encryption in your applications. This includes the necessary setup, how to encrypt data without sacrificing queryability, and what trade-offs to expect.
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...MongoDB
MongoDB Kubernetes operator is ready for prime-time. Learn about how MongoDB can be used with most popular orchestration platform, Kubernetes, and bring self-service, persistent storage to your containerized applications.
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!MongoDB
These days, everyone is expected to be a data analyst. But with so much data available, how can you make sense of it and be sure you're making the best decisions? One great approach is to use data visualizations. In this session, we take a complex dataset and show how the breadth of capabilities in MongoDB Charts can help you turn bits and bytes into insights.
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your MindsetMongoDB
When you need to model data, is your first instinct to start breaking it down into rows and columns? Mine used to be too. When you want to develop apps in a modern, agile way, NoSQL databases can be the best option. Come to this talk to learn how to take advantage of all that NoSQL databases have to offer and discover the benefits of changing your mindset from the legacy, tabular way of modeling data. We’ll compare and contrast the terms and concepts in SQL databases and MongoDB, explain the benefits of using MongoDB compared to SQL databases, and walk through data modeling basics so you feel confident as you begin using MongoDB.
MongoDB .local San Francisco 2020: MongoDB Atlas JumpstartMongoDB
Join this talk and test session with a MongoDB Developer Advocate where you'll go over the setup, configuration, and deployment of an Atlas environment. Create a service that you can take back in a production-ready state and prepare to unleash your inner genius.
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...MongoDB
Query performance should be the unsung hero of an application, but without proper configuration, can become a constant headache. When used properly, MongoDB provides extremely powerful querying capabilities. In this session, we'll discuss concepts like equality, sort, range, managing query predicates versus sequential predicates, and best practices to building multikey indexes.
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++MongoDB
Aggregation pipeline has been able to power your analysis of data since version 2.2. In 4.2 we added more power and now you can use it for more powerful queries, updates, and outputting your data to existing collections. Come hear how you can do everything with the pipeline, including single-view, ETL, data roll-ups and materialized views.
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...MongoDB
Are you new to schema design for MongoDB, or are you looking for a more complete or agile process than what you are following currently? In this talk, we will guide you through the phases of a flexible methodology that you can apply to projects ranging from small to large with very demanding requirements.
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep DiveMongoDB
MongoDB Atlas Data Lake is a new service offered by MongoDB Atlas. Many organizations store long term, archival data in cost-effective storage like S3, GCP, and Azure Blobs. However, many of them do not have robust systems or tools to effectively utilize large amounts of data to inform decision making. MongoDB Atlas Data Lake is a service allowing organizations to analyze their long-term data to discover a wealth of information about their business.
This session will take a deep dive into the features that are currently available in MongoDB Atlas Data Lake and how they are implemented. In addition, we'll discuss future plans and opportunities and offer ample Q&A time with the engineers on the project.
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & GolangMongoDB
Virtual assistants are becoming the new norm when it comes to daily life, with Amazon’s Alexa being the leader in the space. As a developer, not only do you need to make web and mobile compliant applications, but you need to be able to support virtual assistants like Alexa. However, the process isn’t quite the same between the platforms.
How do you handle requests? Where do you store your data and work with it to create meaningful responses with little delay? How much of your code needs to change between platforms?
In this session we’ll see how to design and develop applications known as Skills for Amazon Alexa powered devices using the Go programming language and MongoDB.
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...MongoDB
aux Core Data, appréciée par des centaines de milliers de développeurs. Apprenez ce qui rend Realm spécial et comment il peut être utilisé pour créer de meilleures applications plus rapidement.
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...MongoDB
Il n’a jamais été aussi facile de commander en ligne et de se faire livrer en moins de 48h très souvent gratuitement. Cette simplicité d’usage cache un marché complexe de plus de 8000 milliards de $.
La data est bien connu du monde de la Supply Chain (itinéraires, informations sur les marchandises, douanes,…), mais la valeur de ces données opérationnelles reste peu exploitée. En alliant expertise métier et Data Science, Upply redéfinit les fondamentaux de la Supply Chain en proposant à chacun des acteurs de surmonter la volatilité et l’inefficacité du marché.
Diapositivas D.I.P.. sobre la importancia que tiene la interpol en HonduraspptxWalterOrdoez22
Es un conjunto de diapositivas creadas para la información sobre la importancia que tienen la interpol en honduras y los tratados entre ambas instituciones
Ipsos, empresa de investigación de mercados y opinión pública, divulgó su informe N°29 “Claves Ipsos” correspondiente al mes de abril, que encuestó a 800 personas con el fin de identificar las principales opiniones y comportamientos de las y los ciudadanos respecto de temas de interés para el país. En esta edición se abordó la a Carabineros de Chile, su evaluación, legitimidad en su actuar y el asesinato de tres funcionarios en Cañete. Además, se consultó sobre el Ejército y la opinión respecto de la marcha en Putre.
Reporte homicidio doloso descripción
Reporte que contiene información de las víctimas de homicidio doloso registradas en el municipio de Irapuato Guanajuato durante el periodo señalado, comprende información cualitativa y cuantitativa que hace referencia a las características principales de cada uno de los homicidios.
La información proviene tanto de medios de comunicación digitales e impresos como de los boletines que la propia Fiscalía del Estado de Guanajuato emite de manera diaria a los medios de comunicación quienes publican estas incidencias en sus distintos canales.
Podemos observar cantidad de personas fallecidas, lugar donde se registraron los eventos, colonia y calle así como un comparativo con el mismo periodo pero del año anterior.
Edades y género de las víctimas es parte de la información que incluye el reporte.
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
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
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?
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