SlideShare a Scribd company logo
1 of 68
Global Clusters Topologies
Sig Narvaez
Principal Solution Architect, MongoDB
3.15 Billion
new internet users
since the first MongoDB code commit
Every year a US-sized population
is coming online for the first time
You don’t have to be a household
name to meaningfully reach them
Yes, a CDN can reach
but users expect more
Your users want…
Interactive experiences
Personalization
Instant gratification
Global Operational Data
Your users want…
Interactive experiences
Personalization
Instant gratification
Global Operational Data
You want…
Happy users
To stay ahead of competition
Global awareness
What does 100ms equate to?
What does 100ms equate to?
1% drop in sales
Missed chance to engage a customer
meaningfully
Global Latencies from AWS US West
Americas US West – US East: 83ms
EMEA US West – Frankfurt: 163ms
LATAM US West – Sao Paulo: 190ms
APAC US West – Singapore: 225ms
Options
Global Multi-Region Replication
Secondary Secondary
Primary
Secondary Secondary
Primary
US West
Frankfurt Singapore
Secondary Primary
Frankfurt
Frankfurt
Application
Driver
US West
Application
Driver
Singapore
Application
Driver
EMEA Users Americas Users APAC Users
Global Load Balancer
Secondary
US West Singapore
Global Multi-Region Replication
Single connection string globally
Cross-region high availability
Advantages Disadvantages
All writes go to preferred region
⅔ of users experience > 100ms
Fast reads require secondary read preference
Asymmetrical deployment
Cluster Per Region
Frankfurt
Application
Driver
US West
Application
Driver
Singapore
Application
Driver
EMEA Users Americas Users APAC Users
Global Load Balancer
Secondary
Secondary
Primary
Frankfurt SingaporeUS West
Secondary
Secondary
Primary
Secondary
Secondary
Primary
Cluster Per Region
Easy today in MongoDB Atlas
Independently scalable
Advantages Disadvantages
No global aggregation
Application tier manages end user to connection string
affinity
Can we get the best of both worlds?
Global Clusters with Global Writes
How Global Writes work
Data includes location attribute
{
_id: 123,
firstName: "Johannes",
lastName: "Doe",
activities: [
{
title: "Skiing",
attributes: ["downhill", "jumps"]
},
{
title: "Coding",
attributes: ["mongodb", "python"]
}
]
}
{
_id: 123,
location: "DE",
firstName: "Johannes",
lastName: "Doe",
activities: [
{
title: "Skiing",
attributes: ["downhill", "jumps"]
},
{
title: "Coding",
attributes: ["mongodb", "python"]
}
]
}
Generally...
an ISO 3166-1 country code
e.g., US, DE, IN, or JP
Or optionally and more specifically...
an ISO-3166-2 subdivision code
e.g., US-CA or US-NY
Examples Description Potential Region Affinity
US United States US East
DE Germany Frankfurt
IN India Mumbai
JP Japan Tokyo
US-CA California US West
US-NY New York US East
What is a location attribute?
US West
Application
Driver
mongos mongos•••
z
Repl0
Repl1
Repl2
US West Zone
Shard
Frankfurt
Application
Driver
Singapore
Application
Driver
mongos
Americas Users EMEA Users APAC Users
Global Load Balancer
MongoDB Atlas Global Cluster
Repl0
Repl1
Repl2
Frankfurt Zone
Shard
Repl0
Repl1
Repl2
Singapore Zone
Shard
•••
z
Repl0
Repl1
Repl2
Config Servers
Data includes location attribute
{
_id: 123,
firstName: "Johannes",
lastName: "Doe",
activities: [
{
title: "Skiing",
attributes: ["downhill", "jumps"]
},
{
title: "Coding",
attributes: ["mongodb", "python"]
}
]
}
{
_id: 123,
location: "DE",
firstName: "Johannes",
lastName: "Doe",
activities: [
{
title: "Skiing",
attributes: ["downhill", "jumps"]
},
{
title: "Coding",
attributes: ["mongodb", "python"]
}
]
}
US West
Application
Driver
mongos mongos•••
z
Repl0
Repl1
Repl2
US West Zone
Shard
Frankfurt
Application
Driver
Singapore
Application
Driver
mongos
Americas Users EMEA Users APAC Users
Global Load Balancer
MongoDB Atlas Global Cluster
Repl0
Repl1
Repl2
Frankfurt Zone
Shard
Repl0
Repl1
Repl2
Singapore Zone
Shard
•••
z
Repl0
Repl1
Repl2
Config Servers
Repl0
Repl1
Repl2
Frankfurt Zone
Shard
Define Global Collections
MongoDB Atlas will be very opinionated...
In the Data Explorer, you’ll be guided to set a shard key like
{location : 1, <identifier> : 1}
You’ll receive global-targeting query examples
db.globalColl.findOne({ location : "XY", <identifier> : 123, ... })
For example location and _id
{
_id: 123,
location: "CA",
firstName: "Jane",
lastName: "Doe",
activities: [
{
title: "Mountaineering",
attributes: ["glaciers"]
},
{
title: "Coding",
attributes: ["java", "mongodb"]
}
]
}
How are locations mapped to zones?
Query routing without
LATAM zone
{
location:
{$in: [ 'BR-PE', 'BR-PA']}
}
Get ISO Country code from HTTP Request
AWS – Lambda & CloudFront
• headers['cloudfront-viewer-country’]
*Limited to country
https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/lambda-examples.html#lambda-examples-redirecting-examples
Google Cloud –Functions
• country: req.headers["x-appengine-country"]
• region: req.headers["x-appengine-region"]
https://cloud.google.com/appengine/docs/standard/go/reference/request-response-headers
https://medium.com/mop-developers/free-ip-based-geolocation-with-google-cloud-functions-f92e20d47651
CloudFlare – Enable IP Geolocation
• HTTP_CF_IPCOUNTRY header
Akamai – EdgeScape (CDN)
• country_code and region_code headers
Provide a better experience to
growing markets
When should I add a Zone?
If latency of complete request exceeds threshold?
Not really – There are many layers contributing to the latency outside of Atlas
Metrics in Atlas?
Maybe – performance metrics
Maybe – mongos logs – cross-reference IP against IP-GeoLocation DB / Service
It’s beyond Atlas - A combination of:
• Data Set growing from certain countries & sub-divisions
Use Aggregation Framework, BI Connector or Spark Connector for Analytics
• CDN / API Management Metrics: AWS CloudFront / API Gateway, Akamai, etc.
• Planned Expansion: New features targeting specific markets
Query routing with
LATAM zone
{
location:
{$in: [ 'BR-PE', 'BR-PA']}
}
Chunk Migration – adding LATAM zone
NA West
Application
Driver
•••
z
Repl0
Repl1
Repl2
NA West
Zone Shard
mongos
NA East EMEA
APAC
North
Global Load Balancer
MongoDB Atlas Global Cluster
NA West
South
America
APAC
South
NA East
Application
Driver
z
Repl0
Repl1
Repl2
NA East
Zone Shard
mongos
South America
Application
Driver
z
Repl0
Repl1
Repl2
South America
Zone Shard
mongos
EMEA
Application
Driver
z
Repl0
Repl1
Repl2
EMEA
Zone Shard
mongos
APAC North
Application
Driver
z
Repl0
Repl1
Repl2
APAC North
Zone Shard
mongos
APAC South
Application
Driver
z
Repl0
Repl1
Repl2
APAC South
Zone Shard
mongos••• ••• ••• •••
Simplified connectivity
Concise and global, it will look like
Your driver will use this address to discover every mongos in the cluster globally
Taking advantage of the MongoDB 3.6 driver support for SRV records
… so you can deploy the same application code everywhere - symmetrically
mongodb+srv://user:pass@globalCluster-rzeyq.mongodb.net
Resolving SRV record to mongos’s
Blog Post: https://www.mongodb.com/blog/post/mongodb-3-6-here-to-SRV-you-with-easier-replica-set-connections
$ python mongodb_srv_records.py globalcluster-twijg.mongodb.net
globalcluster-shard-00-00-twijg.mongodb.net:27016
globalcluster-shard-00-01-twijg.mongodb.net:27016
globalcluster-shard-00-02-twijg.mongodb.net:27016
globalcluster-shard-01-00-twijg.mongodb.net:27016
globalcluster-shard-01-01-twijg.mongodb.net:27016
globalcluster-shard-01-02-twijg.mongodb.net:27016
globalcluster-shard-02-00-twijg.mongodb.net:27016
globalcluster-shard-02-01-twijg.mongodb.net:27016
globalcluster-shard-02-02-twijg.mongodb.net:27016
globalcluster-shard-03-00-twijg.mongodb.net:27016
globalcluster-shard-03-01-twijg.mongodb.net:27016
globalcluster-shard-03-02-twijg.mongodb.net:27016
globalcluster-twijg.mongodb.net: "authSource=admin"
An even better user experience?
What if I want low latency global reads?
What if I want low latency global reads?
What if I want low latency global reads?
Where this is going and limits
Massive reach
MongoDB Atlas
• in-country regions for 27% of the world population
• with a much higher percent served by regions in nearby countries
Available in 56 global cloud regions
• AWS: 15 regions (38 availability zones)
• Azure: 26 regions (26 availability zones w/ 60 Fault Domains)
• GCP: 15 regions (38 Availability zones)
Africa
• S. Africa announced by Azure; a long way from
most of Africa’s population, however
• Biggest economies in Africa: Nigeria, South
Africa, Egypt; with Ethiopia now the fastest
growing
Middle East
• We’ll see
China
• It’s complicated...
There are gaps
Russia
• It’s also complicated…
• Frankfurt remains best bet but also Finland on
Google Cloud
Special / Government / Compliance contexts
But MongoDB runs everywhere
Over time the entire world will be well served by major cloud infrastructure
You can always run your own MongoDB outside of where the big public cloud
• MongoDB Ops Manager / MongoDB Cloud Manager
• Live Migrate to MongoDB Atlas when ready
So you can have a seamless development experience in any context
Imagine 2030
2030 Projection
GDP & relative position
compared with today
1 China ↑ 17 Spain ↓
2 United States ↓ 18 Canada ↓
3 India ↑↑↑↑ 19 Egypt ↑↑↑
4 Japan ↓ 20 Pakistan ↑↑↑
5 Indonesia ↑↑↑ 21 Nigeria ↑↑
6 Russia ↑ 22 Thailand ↑↑
7 Germany ↓ 23 Australia ↓
8 Brazil ↑ 24 Philippines ↑↑
9 Mexico ↑ 25 Malaysia ↑↑
10 United Kingdom ↓ 26 Poland ↓
11 France ↓ 27 Argentina ↓
12 Turkey ↑ 28 Bangladesh ↑↑↑
13 Saudi Arabia ↑↑ 29 Vietnam ↑↑↑
14 South Korea ↓ 30 South Africa ↑↑
15 Italy ↓ 31 Colombia ↑↑
16 Iran ↑↑ 32 Netherlands ↓
You can go global incrementally
Path to Global Over Time
1. Cluster – Single Region ← deploy today for free on Atlas
○ Focus on finding traction
○ Scale up when needed in a few minutes on Atlas
Path to Global Over Time
1. Cluster – Single Region ← deploy today for free on Atlas
○ Focus on finding traction
○ Scale up when needed in a few minutes on Atlas
2. Cluster – Multi Region HA
○ Get your application HA as well
○ Scale up when needed in a few minutes on Atlas
Path to Global Over Time
1. Cluster – Single Region ← deploy today for free on Atlas
○ Focus on finding traction
○ Scale up when needed in a few minutes on Atlas
2. Cluster – Multi Region HA
○ Get your application HA as well
○ Scale up when needed in a few minutes on Atlas
3. Cluster – add Global Read Regions
○ Route users to nearby application instance; use secondary reads
○ Scale up when needed in a few minutes on Atlas
Path to Global Over Time
1. Cluster – Single Region ← deploy today for free on Atlas
○ Focus on finding traction
○ Scale up when needed in a few minutes on Atlas
2. Cluster – Multi Region HA
○ Get your application HA as well
○ Scale up when needed in a few minutes on Atlas
3. Cluster – add Global Read Regions
○ Route users to nearby application instance; use secondary reads
○ Scale up when needed in a few minutes on Atlas
4. Enable Global Writes
○ Add a second write zone
○ Add location attribute to your data & shard your global collections in the Atlas UI
Path to Global Over Time
1. Cluster – Single Region ← deploy today for free on Atlas
○ Focus on finding traction
○ Scale up when needed in a few minutes on Atlas
2. Cluster – Multi Region HA
○ Get your application HA as well
○ Scale up when needed in a few minutes on Atlas
3. Cluster – add Global Read Regions
○ Route users to nearby application instance; use secondary reads
○ Scale up when needed in a few minutes on Atlas
4. Enable Global Writes
○ Add a second write zone
○ Add location attribute to your data & shard your global collections in the Atlas UI
5. Expand Reach of Global Cluster
○ Add more write zones
○ Or add shards to existing zones
○ Scale up any time
And you can follow your users...
Now go out and reach
those 4+ billion internet users
Thanks
Sigfrido “Sig” Narvaez
Principal Solution Architect, MongoDB
sig@mongodb.com
Ch-Ch-Ch-Ch-Changes: Taking Your MongoDB Stitch Application to the Next Level With Triggers

More Related Content

What's hot

Explore big data at speed of thought with Spark 2.0 and Snappydata
Explore big data at speed of thought with Spark 2.0 and SnappydataExplore big data at speed of thought with Spark 2.0 and Snappydata
Explore big data at speed of thought with Spark 2.0 and SnappydataData Con LA
 
Interactive Visualization of Streaming Data Powered by Spark by Ruhollah Farc...
Interactive Visualization of Streaming Data Powered by Spark by Ruhollah Farc...Interactive Visualization of Streaming Data Powered by Spark by Ruhollah Farc...
Interactive Visualization of Streaming Data Powered by Spark by Ruhollah Farc...Spark Summit
 
Building a Virtual Data Lake with Apache Arrow
Building a Virtual Data Lake with Apache ArrowBuilding a Virtual Data Lake with Apache Arrow
Building a Virtual Data Lake with Apache ArrowDremio Corporation
 
Apache Spark-Based Stratification Library for Machine Learning Use Cases at N...
Apache Spark-Based Stratification Library for Machine Learning Use Cases at N...Apache Spark-Based Stratification Library for Machine Learning Use Cases at N...
Apache Spark-Based Stratification Library for Machine Learning Use Cases at N...Databricks
 
Виталий Бондаренко "Fast Data Platform for Real-Time Analytics. Architecture ...
Виталий Бондаренко "Fast Data Platform for Real-Time Analytics. Architecture ...Виталий Бондаренко "Fast Data Platform for Real-Time Analytics. Architecture ...
Виталий Бондаренко "Fast Data Platform for Real-Time Analytics. Architecture ...Fwdays
 
HBaseConAsia2018 Track2-6: Scaling 30TB's of data lake with Apache HBase and ...
HBaseConAsia2018 Track2-6: Scaling 30TB's of data lake with Apache HBase and ...HBaseConAsia2018 Track2-6: Scaling 30TB's of data lake with Apache HBase and ...
HBaseConAsia2018 Track2-6: Scaling 30TB's of data lake with Apache HBase and ...Michael Stack
 
(DAT203) Building Graph Databases on AWS
(DAT203) Building Graph Databases on AWS(DAT203) Building Graph Databases on AWS
(DAT203) Building Graph Databases on AWSAmazon Web Services
 
Yelp Ad Targeting at Scale with Apache Spark with Inaz Alaei-Novin and Joe Ma...
Yelp Ad Targeting at Scale with Apache Spark with Inaz Alaei-Novin and Joe Ma...Yelp Ad Targeting at Scale with Apache Spark with Inaz Alaei-Novin and Joe Ma...
Yelp Ad Targeting at Scale with Apache Spark with Inaz Alaei-Novin and Joe Ma...Databricks
 
MLflow: Infrastructure for a Complete Machine Learning Life Cycle
MLflow: Infrastructure for a Complete Machine Learning Life CycleMLflow: Infrastructure for a Complete Machine Learning Life Cycle
MLflow: Infrastructure for a Complete Machine Learning Life CycleDatabricks
 
GCP Data Engineer cheatsheet
GCP Data Engineer cheatsheetGCP Data Engineer cheatsheet
GCP Data Engineer cheatsheetGuang Xu
 
Efficiently Building Machine Learning Models for Predictive Maintenance in th...
Efficiently Building Machine Learning Models for Predictive Maintenance in th...Efficiently Building Machine Learning Models for Predictive Maintenance in th...
Efficiently Building Machine Learning Models for Predictive Maintenance in th...Databricks
 
HBaseConAsia2018 Track3-3: HBase at China Life Insurance
HBaseConAsia2018 Track3-3: HBase at China Life InsuranceHBaseConAsia2018 Track3-3: HBase at China Life Insurance
HBaseConAsia2018 Track3-3: HBase at China Life InsuranceMichael Stack
 
Operationalizing Big Data Pipelines At Scale
Operationalizing Big Data Pipelines At ScaleOperationalizing Big Data Pipelines At Scale
Operationalizing Big Data Pipelines At ScaleDatabricks
 
Accelerating Machine Learning on Databricks Runtime
Accelerating Machine Learning on Databricks RuntimeAccelerating Machine Learning on Databricks Runtime
Accelerating Machine Learning on Databricks RuntimeDatabricks
 
On-boarding with JanusGraph Performance
On-boarding with JanusGraph PerformanceOn-boarding with JanusGraph Performance
On-boarding with JanusGraph PerformanceChin Huang
 
Spark meetup - Zoomdata Streaming
Spark meetup  - Zoomdata StreamingSpark meetup  - Zoomdata Streaming
Spark meetup - Zoomdata StreamingZoomdata
 

What's hot (20)

Explore big data at speed of thought with Spark 2.0 and Snappydata
Explore big data at speed of thought with Spark 2.0 and SnappydataExplore big data at speed of thought with Spark 2.0 and Snappydata
Explore big data at speed of thought with Spark 2.0 and Snappydata
 
Interactive Visualization of Streaming Data Powered by Spark by Ruhollah Farc...
Interactive Visualization of Streaming Data Powered by Spark by Ruhollah Farc...Interactive Visualization of Streaming Data Powered by Spark by Ruhollah Farc...
Interactive Visualization of Streaming Data Powered by Spark by Ruhollah Farc...
 
Building a Virtual Data Lake with Apache Arrow
Building a Virtual Data Lake with Apache ArrowBuilding a Virtual Data Lake with Apache Arrow
Building a Virtual Data Lake with Apache Arrow
 
Apache Spark-Based Stratification Library for Machine Learning Use Cases at N...
Apache Spark-Based Stratification Library for Machine Learning Use Cases at N...Apache Spark-Based Stratification Library for Machine Learning Use Cases at N...
Apache Spark-Based Stratification Library for Machine Learning Use Cases at N...
 
Виталий Бондаренко "Fast Data Platform for Real-Time Analytics. Architecture ...
Виталий Бондаренко "Fast Data Platform for Real-Time Analytics. Architecture ...Виталий Бондаренко "Fast Data Platform for Real-Time Analytics. Architecture ...
Виталий Бондаренко "Fast Data Platform for Real-Time Analytics. Architecture ...
 
HBaseConAsia2018 Track2-6: Scaling 30TB's of data lake with Apache HBase and ...
HBaseConAsia2018 Track2-6: Scaling 30TB's of data lake with Apache HBase and ...HBaseConAsia2018 Track2-6: Scaling 30TB's of data lake with Apache HBase and ...
HBaseConAsia2018 Track2-6: Scaling 30TB's of data lake with Apache HBase and ...
 
(DAT203) Building Graph Databases on AWS
(DAT203) Building Graph Databases on AWS(DAT203) Building Graph Databases on AWS
(DAT203) Building Graph Databases on AWS
 
Yelp Ad Targeting at Scale with Apache Spark with Inaz Alaei-Novin and Joe Ma...
Yelp Ad Targeting at Scale with Apache Spark with Inaz Alaei-Novin and Joe Ma...Yelp Ad Targeting at Scale with Apache Spark with Inaz Alaei-Novin and Joe Ma...
Yelp Ad Targeting at Scale with Apache Spark with Inaz Alaei-Novin and Joe Ma...
 
MLflow: Infrastructure for a Complete Machine Learning Life Cycle
MLflow: Infrastructure for a Complete Machine Learning Life CycleMLflow: Infrastructure for a Complete Machine Learning Life Cycle
MLflow: Infrastructure for a Complete Machine Learning Life Cycle
 
GCP Data Engineer cheatsheet
GCP Data Engineer cheatsheetGCP Data Engineer cheatsheet
GCP Data Engineer cheatsheet
 
Efficiently Building Machine Learning Models for Predictive Maintenance in th...
Efficiently Building Machine Learning Models for Predictive Maintenance in th...Efficiently Building Machine Learning Models for Predictive Maintenance in th...
Efficiently Building Machine Learning Models for Predictive Maintenance in th...
 
HBaseConAsia2018 Track3-3: HBase at China Life Insurance
HBaseConAsia2018 Track3-3: HBase at China Life InsuranceHBaseConAsia2018 Track3-3: HBase at China Life Insurance
HBaseConAsia2018 Track3-3: HBase at China Life Insurance
 
Operationalizing Big Data Pipelines At Scale
Operationalizing Big Data Pipelines At ScaleOperationalizing Big Data Pipelines At Scale
Operationalizing Big Data Pipelines At Scale
 
Accelerating Machine Learning on Databricks Runtime
Accelerating Machine Learning on Databricks RuntimeAccelerating Machine Learning on Databricks Runtime
Accelerating Machine Learning on Databricks Runtime
 
How and when to use NoSQL
How and when to use NoSQLHow and when to use NoSQL
How and when to use NoSQL
 
Time-oriented event search. A new level of scale
Time-oriented event search. A new level of scale Time-oriented event search. A new level of scale
Time-oriented event search. A new level of scale
 
On-boarding with JanusGraph Performance
On-boarding with JanusGraph PerformanceOn-boarding with JanusGraph Performance
On-boarding with JanusGraph Performance
 
Spark meetup - Zoomdata Streaming
Spark meetup  - Zoomdata StreamingSpark meetup  - Zoomdata Streaming
Spark meetup - Zoomdata Streaming
 
Microsoft cosmos
Microsoft cosmosMicrosoft cosmos
Microsoft cosmos
 
AWS DynamoDB
AWS DynamoDBAWS DynamoDB
AWS DynamoDB
 

Similar to Ch-Ch-Ch-Ch-Changes: Taking Your MongoDB Stitch Application to the Next Level With Triggers

MongoDB.local Seattle 2019: Global Cluster Topologies in MongoDB Atlas
MongoDB.local Seattle 2019: Global Cluster Topologies in MongoDB AtlasMongoDB.local Seattle 2019: Global Cluster Topologies in MongoDB Atlas
MongoDB.local Seattle 2019: Global Cluster Topologies in MongoDB AtlasMongoDB
 
MongoDB World 2018: Global Clusters for a Global World
MongoDB World 2018: Global Clusters for a Global WorldMongoDB World 2018: Global Clusters for a Global World
MongoDB World 2018: Global Clusters for a Global WorldMongoDB
 
Global Cluster Topologies in MongoDB Atlas
Global Cluster Topologies in MongoDB AtlasGlobal Cluster Topologies in MongoDB Atlas
Global Cluster Topologies in MongoDB AtlasMongoDB
 
Global Cluster Topologies in MongoDB Atlas - Andrew Davidson
Global Cluster Topologies in MongoDB Atlas - Andrew DavidsonGlobal Cluster Topologies in MongoDB Atlas - Andrew Davidson
Global Cluster Topologies in MongoDB Atlas - Andrew DavidsonMongoDB
 
Going Deep on Amazon Aurora Serverless (DAT427-R1) - AWS re:Invent 2018
Going Deep on Amazon Aurora Serverless (DAT427-R1) - AWS re:Invent 2018Going Deep on Amazon Aurora Serverless (DAT427-R1) - AWS re:Invent 2018
Going Deep on Amazon Aurora Serverless (DAT427-R1) - AWS re:Invent 2018Amazon Web Services
 
在-MongoDB-Cloud-上構建無服務器化應用
在-MongoDB-Cloud-上構建無服務器化應用在-MongoDB-Cloud-上構建無服務器化應用
在-MongoDB-Cloud-上構建無服務器化應用Amazon Web Services
 
Scaling MongoDB on Amazon Web Services (DAT209) | AWS re:Invent 2013
Scaling MongoDB on Amazon Web Services (DAT209) | AWS re:Invent 2013Scaling MongoDB on Amazon Web Services (DAT209) | AWS re:Invent 2013
Scaling MongoDB on Amazon Web Services (DAT209) | AWS re:Invent 2013Amazon Web Services
 
Scaling to millions of users with Amazon CloudFront - April 2017 AWS Online T...
Scaling to millions of users with Amazon CloudFront - April 2017 AWS Online T...Scaling to millions of users with Amazon CloudFront - April 2017 AWS Online T...
Scaling to millions of users with Amazon CloudFront - April 2017 AWS Online T...Amazon Web Services
 
Case Study: Sprinklr Uses Amazon EBS to Maximize Its NoSQL Deployment - DAT33...
Case Study: Sprinklr Uses Amazon EBS to Maximize Its NoSQL Deployment - DAT33...Case Study: Sprinklr Uses Amazon EBS to Maximize Its NoSQL Deployment - DAT33...
Case Study: Sprinklr Uses Amazon EBS to Maximize Its NoSQL Deployment - DAT33...Amazon Web Services
 
AWS re:Invent 2016: Moving Mission Critical Apps from One Region to Multi-Reg...
AWS re:Invent 2016: Moving Mission Critical Apps from One Region to Multi-Reg...AWS re:Invent 2016: Moving Mission Critical Apps from One Region to Multi-Reg...
AWS re:Invent 2016: Moving Mission Critical Apps from One Region to Multi-Reg...Amazon Web Services
 
Laskar: High-Velocity GraphQL & Lambda-based Software Development Model
Laskar: High-Velocity GraphQL & Lambda-based Software Development ModelLaskar: High-Velocity GraphQL & Lambda-based Software Development Model
Laskar: High-Velocity GraphQL & Lambda-based Software Development ModelGarindra Prahandono
 
Level up your SQL and Azure, by using Rubrik
Level up your SQL and Azure, by using RubrikLevel up your SQL and Azure, by using Rubrik
Level up your SQL and Azure, by using RubrikJaap Brasser
 
AWS Activate Webinar - Improving customer experience & growing addressable m...
AWS Activate Webinar  - Improving customer experience & growing addressable m...AWS Activate Webinar  - Improving customer experience & growing addressable m...
AWS Activate Webinar - Improving customer experience & growing addressable m...Amazon Web Services
 
AWS reInvent 2018 Recap - Solutions Updates Part 2
AWS reInvent 2018 Recap - Solutions Updates Part 2AWS reInvent 2018 Recap - Solutions Updates Part 2
AWS reInvent 2018 Recap - Solutions Updates Part 2Amazon Web Services
 
Improving Availability & Lowering Costs with Auto Scaling & Amazon EC2 (CPN20...
Improving Availability & Lowering Costs with Auto Scaling & Amazon EC2 (CPN20...Improving Availability & Lowering Costs with Auto Scaling & Amazon EC2 (CPN20...
Improving Availability & Lowering Costs with Auto Scaling & Amazon EC2 (CPN20...Amazon Web Services
 

Similar to Ch-Ch-Ch-Ch-Changes: Taking Your MongoDB Stitch Application to the Next Level With Triggers (20)

MongoDB.local Seattle 2019: Global Cluster Topologies in MongoDB Atlas
MongoDB.local Seattle 2019: Global Cluster Topologies in MongoDB AtlasMongoDB.local Seattle 2019: Global Cluster Topologies in MongoDB Atlas
MongoDB.local Seattle 2019: Global Cluster Topologies in MongoDB Atlas
 
MongoDB World 2018: Global Clusters for a Global World
MongoDB World 2018: Global Clusters for a Global WorldMongoDB World 2018: Global Clusters for a Global World
MongoDB World 2018: Global Clusters for a Global World
 
Global Cluster Topologies in MongoDB Atlas
Global Cluster Topologies in MongoDB AtlasGlobal Cluster Topologies in MongoDB Atlas
Global Cluster Topologies in MongoDB Atlas
 
Global Cluster Topologies in MongoDB Atlas - Andrew Davidson
Global Cluster Topologies in MongoDB Atlas - Andrew DavidsonGlobal Cluster Topologies in MongoDB Atlas - Andrew Davidson
Global Cluster Topologies in MongoDB Atlas - Andrew Davidson
 
Serverless_with_MongoDB
Serverless_with_MongoDBServerless_with_MongoDB
Serverless_with_MongoDB
 
Going Deep on Amazon Aurora Serverless (DAT427-R1) - AWS re:Invent 2018
Going Deep on Amazon Aurora Serverless (DAT427-R1) - AWS re:Invent 2018Going Deep on Amazon Aurora Serverless (DAT427-R1) - AWS re:Invent 2018
Going Deep on Amazon Aurora Serverless (DAT427-R1) - AWS re:Invent 2018
 
在-MongoDB-Cloud-上構建無服務器化應用
在-MongoDB-Cloud-上構建無服務器化應用在-MongoDB-Cloud-上構建無服務器化應用
在-MongoDB-Cloud-上構建無服務器化應用
 
Sitecore on Azure
Sitecore on AzureSitecore on Azure
Sitecore on Azure
 
DNS is Sexy
DNS is SexyDNS is Sexy
DNS is Sexy
 
DNS in the Cloud
DNS in the CloudDNS in the Cloud
DNS in the Cloud
 
KGC 2013 AWS Keynote
KGC 2013 AWS KeynoteKGC 2013 AWS Keynote
KGC 2013 AWS Keynote
 
Scaling MongoDB on Amazon Web Services (DAT209) | AWS re:Invent 2013
Scaling MongoDB on Amazon Web Services (DAT209) | AWS re:Invent 2013Scaling MongoDB on Amazon Web Services (DAT209) | AWS re:Invent 2013
Scaling MongoDB on Amazon Web Services (DAT209) | AWS re:Invent 2013
 
Scaling to millions of users with Amazon CloudFront - April 2017 AWS Online T...
Scaling to millions of users with Amazon CloudFront - April 2017 AWS Online T...Scaling to millions of users with Amazon CloudFront - April 2017 AWS Online T...
Scaling to millions of users with Amazon CloudFront - April 2017 AWS Online T...
 
Case Study: Sprinklr Uses Amazon EBS to Maximize Its NoSQL Deployment - DAT33...
Case Study: Sprinklr Uses Amazon EBS to Maximize Its NoSQL Deployment - DAT33...Case Study: Sprinklr Uses Amazon EBS to Maximize Its NoSQL Deployment - DAT33...
Case Study: Sprinklr Uses Amazon EBS to Maximize Its NoSQL Deployment - DAT33...
 
AWS re:Invent 2016: Moving Mission Critical Apps from One Region to Multi-Reg...
AWS re:Invent 2016: Moving Mission Critical Apps from One Region to Multi-Reg...AWS re:Invent 2016: Moving Mission Critical Apps from One Region to Multi-Reg...
AWS re:Invent 2016: Moving Mission Critical Apps from One Region to Multi-Reg...
 
Laskar: High-Velocity GraphQL & Lambda-based Software Development Model
Laskar: High-Velocity GraphQL & Lambda-based Software Development ModelLaskar: High-Velocity GraphQL & Lambda-based Software Development Model
Laskar: High-Velocity GraphQL & Lambda-based Software Development Model
 
Level up your SQL and Azure, by using Rubrik
Level up your SQL and Azure, by using RubrikLevel up your SQL and Azure, by using Rubrik
Level up your SQL and Azure, by using Rubrik
 
AWS Activate Webinar - Improving customer experience & growing addressable m...
AWS Activate Webinar  - Improving customer experience & growing addressable m...AWS Activate Webinar  - Improving customer experience & growing addressable m...
AWS Activate Webinar - Improving customer experience & growing addressable m...
 
AWS reInvent 2018 Recap - Solutions Updates Part 2
AWS reInvent 2018 Recap - Solutions Updates Part 2AWS reInvent 2018 Recap - Solutions Updates Part 2
AWS reInvent 2018 Recap - Solutions Updates Part 2
 
Improving Availability & Lowering Costs with Auto Scaling & Amazon EC2 (CPN20...
Improving Availability & Lowering Costs with Auto Scaling & Amazon EC2 (CPN20...Improving Availability & Lowering Costs with Auto Scaling & Amazon EC2 (CPN20...
Improving Availability & Lowering Costs with Auto Scaling & Amazon EC2 (CPN20...
 

More from 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
 

More from 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...
 

Recently uploaded

"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 

Recently uploaded (20)

"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 

Ch-Ch-Ch-Ch-Changes: Taking Your MongoDB Stitch Application to the Next Level With Triggers

  • 1.
  • 2. Global Clusters Topologies Sig Narvaez Principal Solution Architect, MongoDB
  • 3. 3.15 Billion new internet users since the first MongoDB code commit
  • 4. Every year a US-sized population is coming online for the first time
  • 5. You don’t have to be a household name to meaningfully reach them
  • 6. Yes, a CDN can reach but users expect more
  • 7. Your users want… Interactive experiences Personalization Instant gratification Global Operational Data
  • 8. Your users want… Interactive experiences Personalization Instant gratification Global Operational Data You want… Happy users To stay ahead of competition Global awareness
  • 9. What does 100ms equate to?
  • 10. What does 100ms equate to? 1% drop in sales Missed chance to engage a customer meaningfully
  • 11. Global Latencies from AWS US West Americas US West – US East: 83ms EMEA US West – Frankfurt: 163ms LATAM US West – Sao Paulo: 190ms APAC US West – Singapore: 225ms
  • 16. Secondary Primary Frankfurt Frankfurt Application Driver US West Application Driver Singapore Application Driver EMEA Users Americas Users APAC Users Global Load Balancer Secondary US West Singapore
  • 17. Global Multi-Region Replication Single connection string globally Cross-region high availability Advantages Disadvantages All writes go to preferred region ⅔ of users experience > 100ms Fast reads require secondary read preference Asymmetrical deployment
  • 19. Frankfurt Application Driver US West Application Driver Singapore Application Driver EMEA Users Americas Users APAC Users Global Load Balancer Secondary Secondary Primary Frankfurt SingaporeUS West Secondary Secondary Primary Secondary Secondary Primary
  • 20. Cluster Per Region Easy today in MongoDB Atlas Independently scalable Advantages Disadvantages No global aggregation Application tier manages end user to connection string affinity
  • 21. Can we get the best of both worlds?
  • 22. Global Clusters with Global Writes
  • 23.
  • 24.
  • 26. Data includes location attribute { _id: 123, firstName: "Johannes", lastName: "Doe", activities: [ { title: "Skiing", attributes: ["downhill", "jumps"] }, { title: "Coding", attributes: ["mongodb", "python"] } ] } { _id: 123, location: "DE", firstName: "Johannes", lastName: "Doe", activities: [ { title: "Skiing", attributes: ["downhill", "jumps"] }, { title: "Coding", attributes: ["mongodb", "python"] } ] }
  • 27. Generally... an ISO 3166-1 country code e.g., US, DE, IN, or JP Or optionally and more specifically... an ISO-3166-2 subdivision code e.g., US-CA or US-NY Examples Description Potential Region Affinity US United States US East DE Germany Frankfurt IN India Mumbai JP Japan Tokyo US-CA California US West US-NY New York US East What is a location attribute?
  • 28. US West Application Driver mongos mongos••• z Repl0 Repl1 Repl2 US West Zone Shard Frankfurt Application Driver Singapore Application Driver mongos Americas Users EMEA Users APAC Users Global Load Balancer MongoDB Atlas Global Cluster Repl0 Repl1 Repl2 Frankfurt Zone Shard Repl0 Repl1 Repl2 Singapore Zone Shard ••• z Repl0 Repl1 Repl2 Config Servers
  • 29. Data includes location attribute { _id: 123, firstName: "Johannes", lastName: "Doe", activities: [ { title: "Skiing", attributes: ["downhill", "jumps"] }, { title: "Coding", attributes: ["mongodb", "python"] } ] } { _id: 123, location: "DE", firstName: "Johannes", lastName: "Doe", activities: [ { title: "Skiing", attributes: ["downhill", "jumps"] }, { title: "Coding", attributes: ["mongodb", "python"] } ] }
  • 30. US West Application Driver mongos mongos••• z Repl0 Repl1 Repl2 US West Zone Shard Frankfurt Application Driver Singapore Application Driver mongos Americas Users EMEA Users APAC Users Global Load Balancer MongoDB Atlas Global Cluster Repl0 Repl1 Repl2 Frankfurt Zone Shard Repl0 Repl1 Repl2 Singapore Zone Shard ••• z Repl0 Repl1 Repl2 Config Servers Repl0 Repl1 Repl2 Frankfurt Zone Shard
  • 32. MongoDB Atlas will be very opinionated... In the Data Explorer, you’ll be guided to set a shard key like {location : 1, <identifier> : 1} You’ll receive global-targeting query examples db.globalColl.findOne({ location : "XY", <identifier> : 123, ... })
  • 33. For example location and _id { _id: 123, location: "CA", firstName: "Jane", lastName: "Doe", activities: [ { title: "Mountaineering", attributes: ["glaciers"] }, { title: "Coding", attributes: ["java", "mongodb"] } ] }
  • 34. How are locations mapped to zones?
  • 35. Query routing without LATAM zone { location: {$in: [ 'BR-PE', 'BR-PA']} }
  • 36. Get ISO Country code from HTTP Request AWS – Lambda & CloudFront • headers['cloudfront-viewer-country’] *Limited to country https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/lambda-examples.html#lambda-examples-redirecting-examples Google Cloud –Functions • country: req.headers["x-appengine-country"] • region: req.headers["x-appengine-region"] https://cloud.google.com/appengine/docs/standard/go/reference/request-response-headers https://medium.com/mop-developers/free-ip-based-geolocation-with-google-cloud-functions-f92e20d47651 CloudFlare – Enable IP Geolocation • HTTP_CF_IPCOUNTRY header Akamai – EdgeScape (CDN) • country_code and region_code headers
  • 37. Provide a better experience to growing markets
  • 38.
  • 39. When should I add a Zone? If latency of complete request exceeds threshold? Not really – There are many layers contributing to the latency outside of Atlas Metrics in Atlas? Maybe – performance metrics Maybe – mongos logs – cross-reference IP against IP-GeoLocation DB / Service It’s beyond Atlas - A combination of: • Data Set growing from certain countries & sub-divisions Use Aggregation Framework, BI Connector or Spark Connector for Analytics • CDN / API Management Metrics: AWS CloudFront / API Gateway, Akamai, etc. • Planned Expansion: New features targeting specific markets
  • 40.
  • 41. Query routing with LATAM zone { location: {$in: [ 'BR-PE', 'BR-PA']} }
  • 42. Chunk Migration – adding LATAM zone
  • 43.
  • 44. NA West Application Driver ••• z Repl0 Repl1 Repl2 NA West Zone Shard mongos NA East EMEA APAC North Global Load Balancer MongoDB Atlas Global Cluster NA West South America APAC South NA East Application Driver z Repl0 Repl1 Repl2 NA East Zone Shard mongos South America Application Driver z Repl0 Repl1 Repl2 South America Zone Shard mongos EMEA Application Driver z Repl0 Repl1 Repl2 EMEA Zone Shard mongos APAC North Application Driver z Repl0 Repl1 Repl2 APAC North Zone Shard mongos APAC South Application Driver z Repl0 Repl1 Repl2 APAC South Zone Shard mongos••• ••• ••• •••
  • 46. Concise and global, it will look like Your driver will use this address to discover every mongos in the cluster globally Taking advantage of the MongoDB 3.6 driver support for SRV records … so you can deploy the same application code everywhere - symmetrically mongodb+srv://user:pass@globalCluster-rzeyq.mongodb.net
  • 47. Resolving SRV record to mongos’s Blog Post: https://www.mongodb.com/blog/post/mongodb-3-6-here-to-SRV-you-with-easier-replica-set-connections $ python mongodb_srv_records.py globalcluster-twijg.mongodb.net globalcluster-shard-00-00-twijg.mongodb.net:27016 globalcluster-shard-00-01-twijg.mongodb.net:27016 globalcluster-shard-00-02-twijg.mongodb.net:27016 globalcluster-shard-01-00-twijg.mongodb.net:27016 globalcluster-shard-01-01-twijg.mongodb.net:27016 globalcluster-shard-01-02-twijg.mongodb.net:27016 globalcluster-shard-02-00-twijg.mongodb.net:27016 globalcluster-shard-02-01-twijg.mongodb.net:27016 globalcluster-shard-02-02-twijg.mongodb.net:27016 globalcluster-shard-03-00-twijg.mongodb.net:27016 globalcluster-shard-03-01-twijg.mongodb.net:27016 globalcluster-shard-03-02-twijg.mongodb.net:27016 globalcluster-twijg.mongodb.net: "authSource=admin"
  • 48. An even better user experience?
  • 49. What if I want low latency global reads?
  • 50. What if I want low latency global reads?
  • 51. What if I want low latency global reads?
  • 52. Where this is going and limits
  • 53. Massive reach MongoDB Atlas • in-country regions for 27% of the world population • with a much higher percent served by regions in nearby countries Available in 56 global cloud regions • AWS: 15 regions (38 availability zones) • Azure: 26 regions (26 availability zones w/ 60 Fault Domains) • GCP: 15 regions (38 Availability zones)
  • 54. Africa • S. Africa announced by Azure; a long way from most of Africa’s population, however • Biggest economies in Africa: Nigeria, South Africa, Egypt; with Ethiopia now the fastest growing Middle East • We’ll see China • It’s complicated... There are gaps Russia • It’s also complicated… • Frankfurt remains best bet but also Finland on Google Cloud Special / Government / Compliance contexts
  • 55. But MongoDB runs everywhere Over time the entire world will be well served by major cloud infrastructure You can always run your own MongoDB outside of where the big public cloud • MongoDB Ops Manager / MongoDB Cloud Manager • Live Migrate to MongoDB Atlas when ready So you can have a seamless development experience in any context
  • 57. 2030 Projection GDP & relative position compared with today 1 China ↑ 17 Spain ↓ 2 United States ↓ 18 Canada ↓ 3 India ↑↑↑↑ 19 Egypt ↑↑↑ 4 Japan ↓ 20 Pakistan ↑↑↑ 5 Indonesia ↑↑↑ 21 Nigeria ↑↑ 6 Russia ↑ 22 Thailand ↑↑ 7 Germany ↓ 23 Australia ↓ 8 Brazil ↑ 24 Philippines ↑↑ 9 Mexico ↑ 25 Malaysia ↑↑ 10 United Kingdom ↓ 26 Poland ↓ 11 France ↓ 27 Argentina ↓ 12 Turkey ↑ 28 Bangladesh ↑↑↑ 13 Saudi Arabia ↑↑ 29 Vietnam ↑↑↑ 14 South Korea ↓ 30 South Africa ↑↑ 15 Italy ↓ 31 Colombia ↑↑ 16 Iran ↑↑ 32 Netherlands ↓
  • 58. You can go global incrementally
  • 59. Path to Global Over Time 1. Cluster – Single Region ← deploy today for free on Atlas ○ Focus on finding traction ○ Scale up when needed in a few minutes on Atlas
  • 60. Path to Global Over Time 1. Cluster – Single Region ← deploy today for free on Atlas ○ Focus on finding traction ○ Scale up when needed in a few minutes on Atlas 2. Cluster – Multi Region HA ○ Get your application HA as well ○ Scale up when needed in a few minutes on Atlas
  • 61. Path to Global Over Time 1. Cluster – Single Region ← deploy today for free on Atlas ○ Focus on finding traction ○ Scale up when needed in a few minutes on Atlas 2. Cluster – Multi Region HA ○ Get your application HA as well ○ Scale up when needed in a few minutes on Atlas 3. Cluster – add Global Read Regions ○ Route users to nearby application instance; use secondary reads ○ Scale up when needed in a few minutes on Atlas
  • 62. Path to Global Over Time 1. Cluster – Single Region ← deploy today for free on Atlas ○ Focus on finding traction ○ Scale up when needed in a few minutes on Atlas 2. Cluster – Multi Region HA ○ Get your application HA as well ○ Scale up when needed in a few minutes on Atlas 3. Cluster – add Global Read Regions ○ Route users to nearby application instance; use secondary reads ○ Scale up when needed in a few minutes on Atlas 4. Enable Global Writes ○ Add a second write zone ○ Add location attribute to your data & shard your global collections in the Atlas UI
  • 63. Path to Global Over Time 1. Cluster – Single Region ← deploy today for free on Atlas ○ Focus on finding traction ○ Scale up when needed in a few minutes on Atlas 2. Cluster – Multi Region HA ○ Get your application HA as well ○ Scale up when needed in a few minutes on Atlas 3. Cluster – add Global Read Regions ○ Route users to nearby application instance; use secondary reads ○ Scale up when needed in a few minutes on Atlas 4. Enable Global Writes ○ Add a second write zone ○ Add location attribute to your data & shard your global collections in the Atlas UI 5. Expand Reach of Global Cluster ○ Add more write zones ○ Or add shards to existing zones ○ Scale up any time
  • 64. And you can follow your users...
  • 65. Now go out and reach those 4+ billion internet users
  • 67. Sigfrido “Sig” Narvaez Principal Solution Architect, MongoDB sig@mongodb.com