SlideShare ist ein Scribd-Unternehmen logo
1 von 39
Downloaden Sie, um offline zu lesen
Why NBC Universal Migrated to MongoDB Atlas
Charleste King,
MongoDB Practice Lead, Datavail
Trinh Nguyen,
Sr. Director of Technology, NBCUniversal
MongoDB Practice Lead, Datavail
Charleste King
§ Over 20 years in the IT industry
§ Expertise in software development to data
analysis, architecture, and administration
§ Industry experience includes aerospace,
agriculture, medicine, education, and more.
§ Specializes in developing solutions for unique
client problems ranging from multi-level
upgrades to forecasting problem areas to
tuning and performance monitoring
§ Has a Master of Science from Georgia Institute
of Technology
Datavail Overview
Databases, Analytics, and
Application Development
We are data specialists
15+ years delivering
data services
Projects, Managed
Services and staffing
500+ customers
7 years average retention
§ All major platforms including
MongoDB and MongoDB Atlas
§ AWS, Azure and Google Cloud
§ Comprehensive development &
operational services
§ US & Global delivery models
§ Health checks & performance
tuning
§ Upgrades
Database Operations
Sr. Director of Technology,
NBCUniversal
Trinh Nguyen
§ 12 years with E!’s Interactive Technology team
§ Oversees three teams: Software engineers, Web
Developers, & DevOps
§ Expertise in Lambda, EC2, ECS, Redis, GraphQL, Chef
to build Spring-based applications as well as React
apps with NodeJS.
§ Works primarily in Java/Javascript, using MongoDB
and MySQL for data storage
§ Migrated E! to the cloud completely in March 2017 -
first Cable brand at NBCU to move its entire
infrastructure to the cloud
§ Has a dog named Professor, a son named Maverick,
and a wife who let him come to this conference
§ Bachelor’s in Computer Engineering from the
University of California, Irvine
www.nbcuniversal.com
E! is the only global, multi-platform brand
for all things pop culture. The network is
currently available to 91 million cable and
satellite subscribers in the U.S and 161
countries globally.
E! is a network of NBCUniversal Entertainment & Lifestyle
Group, a division of NBCUniversal, one of the world's
leading media and entertainment companies
NBC Universal
E! Entertainment
Agenda
• NBC Universal – Business drivers & technical needs
• Top pain points driving move to MongoDB Atlas
• Technical needs to be overcome before migration
• Migration
• Post migration observations and benefits
• Lessons learned
• Q&A
The Journey to Atlas
NBCUniversal Business Drivers For Atlas Migration
§ Ability to build digital products and features quickly
§ Highly available and secure database
§ Streamline operational costs – Licensing and Infrastructure
§ Self Service provisioning and management
§ Intuitive metrics and visualizations
Technical Needs for E! Digital to Migrate to Atlas
Cost and Ease of Management
§ Ongoing/Repeated tasks:
§ Daily health checks
§ Storage issues – constantly checking storage
§ Manual deletion of snapshots
§ Upgrading/Patching
§ Performance tuning
E! Digital – Prior Architecture
NBCUniversal
Top Pain Points Driving Move to MongoDB Atlas
Top Pain Points Driving Move to MongoDB Atlas
Prior Challenge
• Provisioning Instances
• Access to Ops Manager
• Downtime / Patching
• Storage / Data Retention
• Alerts Lagged in Getting to
Right Individuals and Teams
Benefits of Atlas Migration
• Self Service
• Access Atlas Portal from Anywhere
• Auto patching and one click
upgrades w/o downtime
• Storage Auto Expand and
Automated Backups
• Streamlined and Targeted Alerts
NBCUniversal
Technical Challenges
Engineering Prerequisites
In our network we have a proxy appliance, which all
connections to the internet must route through.
Normally this is fine with web browsing, however when
trying to connect from our desktops to mongo atlas
instances connection is denied. Is there a way to setup
connectivity to include the proxy settings?
Arbi Begian,
DevOps Lead
First Challenge
Developers were not able to
connect from our corporate office to
Mongo Atlas since our corporate
network egress is restricted to go
out through a proxy firewall device,
which blocks all ports except for
HTTP and HTTPS.
Connectivity to Atlas is established using the
MongoDB wire protocol, which is not HTTP-based.
Unless the proxy appliance that you mention has
explicit support for the wire protocol or port
forwarding, then it is unlikely that the appliance will
function in the manner you intend.
Mongo Support
How E! Online Overcame Connectivity Restriction
To overcome connectivity limitation from our corporate network to hosted Mongo Atlas we
had to reconfigure our network and routing setup:
§ Instead of using corporate internet egress to connect to Atlas we decided to route through our
AWS VPC.
§ By VPC peering the two networks, E! was able to establish communication to MongoDB clusters
within the network .
§ To abide with our AWS environment security we had to peer according to each of our specific
VPCs (Dev/Shared/Staging/Prod).
§ We reconfigured our internal routing to pass the MongoDB communication internally rather than
going through the public interface.
/etc/hosts
#Using Dev or Shared Open VPN
172.22.64.XXX dev-pub-shard-00-XX-abcde.mongodb.net
172.22.64.XX dev-pub-shard-00-XX-abcde.mongodb.net
172.22.64.XX dev-pub-shard-00-XX-abcde.mongodb.net
#MongoDB Atlas Properties
### Dev env Atlas ###
atlasConnectionUrl=mongodb://webclient:USER@dev-pub-shard-00-XX-
abcde.mongodb.net:27017,
dev-pub-shard-00-XX-abcde.mongodb.net:27017,
dev-pub-shard-00-XX-
abcde.mongodb.net:27017/{database}?authSource=admin&retryWrites=true
&ssl=true&replicaSet=dev-pub-shard-0
atlasBudConnectionUrl=mongodb://
atlasEnable=true
Developer Setup
VPC Peering Developers’ communication issues
were solved since we did not have to
go through the proxy device.
By going this route it also made our
connection to the Atlas cluster much
faster, even faster than accessing our
EC2 instances that were running
MongoDB Enterprise.
Unexpected Performance
Gains
Setting up Your Subnets
§ When we setup our subnets we tried to keep the address spaces similar
§ Dev-Test subnet before: 172.21.68.0
§ Atlas Dev-Test Cluster after: 172.22.68.0
§ During Cluster Setup we did not use default subnet, this has to be explicitly defined if you
want to use your own
§ Easy/Helps know your database IPs when scanning, setting up firewall rules, inspecting
logs, etc.
Route 53
§ We ran into problems configuring SRV within
Route53
§ SRV service call in Atlas already has logic to
figure out which is node is primary
§ Keeping the DNS in sync wasn’t worth it just for
cleaner/shorter names when new nodes were
brought up for maintenance or under load
(cluster nodes increasing/decreasing)
§ In our case we weren’t able to leverage Route53
to abstract the cluster’s configuration
parameters to be stored in DNS but many of you
will be able to leverage SRV and TXT records as
a solution
Solution and Learnings
§ Long Mongo hostnames
§ Setting up Simple to read CNAMES
§ Namespace “mongodb.net”
Challenge
Updating Application Drivers
§ Almost all of our applications have a centralized back-end service called “commons client
interface” (CCI).
§ Previously CCI was configured with Spring Data MongoDB Core » 2.0.7.RELEASE, packaged
with mongodb-driver-async v3.5.0.
§ Upgraded to 3.6.1 and leveraged the retryWrites=true parameter.
§ Cutover timing.
Migration
Why we used
Mongomirror § Luckily, MongoDB provides
mongomirror which works in this
situation
Solution
If you have VPC Peering with
MongoDB 3.6, Live Migration
requires extra network configuration
that we wanted to avoid.
Challenge
How We Leveraged mongomirror to Help with the
Migration
§ Helps to perform live migration without downtime.
§ mongomirror is a utility for migrating data from an existing MongoDB replica
set to a MongoDB Atlas replica set
§ Does not require to shut down existing replica sets or applications.
§ Drawback: it does not import the user/role data, thus we had do manually
create the users in MongoDB Atlas after the migration of the data.
7 Steps to Use Mongomirror
1. Download mongomirror on secondary node
2. Configuration changes and prerequisites in place for mongomirror to work
3. Setup MongoDB User in the AWS and run getParameter command
4. Setup MongoDB User in the target MongoDB Atlas Cluster with Atlas admin role.
5. Add IP(s) to whitelist
6. Mongomirror sync and tailing of OpLog
7. Switch application and stop mongomirror
use admin
db.createUser(
{
user: "AtlasMigrationUser",
pwd: "passwordxxxxx",
roles: [ "clusterMonitor", "readAnyDatabase" ]
}
)
We used a command similar to the following:
mongomirror --host "rs-pub-
dev/mongo.dev.eol.inbcu.com:27017" --username
"datavail_user" --password "passwordxxxxx" --
authenticationDatabase "admin" --destination "dev-
pub-shard-0/dev-pub-shard-00-00-
uwwl2.mongodb.net:27017,dev-pub-shard-00-01-
uwwl2.mongodb.net:27017,dev-pub-shard-00-02-
uwwl2.mongodb.net:27017" --destinationUsername
"admin" --destinationPassword "passwordxxxxxxxx”
Step 6
6. Started mongomirror process. We executed using a statement that looks like the following:
Show sample screen shot of progress bar
Post Migration
Observation and
Benefits
Benefits of Mongo
Hosted Cloud
Eliminated: EC2 instances
reserved to run OpsManager
and its replica set.
Additional Gains
Benefits of Mongo
Hosted Cloud
Productivity: no double VPN
needed to access Atlas since
it is publicly accessible.
Additional Gains
Benefits of Mongo
Hosted Cloud
Secure: 2FA required to
access Atlas.
Additional Gains
Benefits of Mongo
Hosted Cloud
Self Service: Developers can
spin up clusters for
project/prototype-based
microservice work.
Additional Gains
Benefits of Mongo
Hosted Cloud
Roles & Permissions are
Transparent and don’t
necessarily need a DBA for
setup.
Additional Gains
Benefits of Mongo
Hosted Cloud
Maintenance patching
requires no downtime and
easy one-click.
Additional Gains
Lessons Learned
§ If you’re part of a large corporation
that uses a proxy… be ready for:
§ Know about the port restrictions
§ Or have a plan on who can accommodate
your testing/migration and how
§ If you are running in the cloud, VPC
peering helps, but test routing
§ Allocate time in your migration plan to
update your applications’ drivers
§ Talk openly about your gains to the
organization:
§ Rapid Prototyping
§ Decreased Downtime
§ Accessibility
§ Alerting
§ Storage/Backup
§ Autopatching
Q&A
MongoDB World 2019: Why NBCUniversal Migrated to MongoDB Atlas

Weitere ähnliche Inhalte

Was ist angesagt?

Open source applied: Real-world uses
Open source applied: Real-world usesOpen source applied: Real-world uses
Open source applied: Real-world usesRogue Wave Software
 
Java EE 7 for WebLogic 12c Developers
Java EE 7 for WebLogic 12c DevelopersJava EE 7 for WebLogic 12c Developers
Java EE 7 for WebLogic 12c DevelopersBruno Borges
 
Shopzilla - Performance By Design
Shopzilla - Performance By DesignShopzilla - Performance By Design
Shopzilla - Performance By DesignTim Morrow
 
Database Provisioning in EM12c: Provision me a Database Now!
Database Provisioning in EM12c: Provision me a Database Now!Database Provisioning in EM12c: Provision me a Database Now!
Database Provisioning in EM12c: Provision me a Database Now!Maaz Anjum
 
Hazelcast 3.6 Roadmap Preview
Hazelcast 3.6 Roadmap PreviewHazelcast 3.6 Roadmap Preview
Hazelcast 3.6 Roadmap PreviewHazelcast
 
Oracle Drivers configuration for High Availability, is it a developer's job?
Oracle Drivers configuration for High Availability, is it a developer's job?Oracle Drivers configuration for High Availability, is it a developer's job?
Oracle Drivers configuration for High Availability, is it a developer's job?Ludovico Caldara
 
Open source: Top issues in the top enterprise packages
Open source: Top issues in the top enterprise packagesOpen source: Top issues in the top enterprise packages
Open source: Top issues in the top enterprise packagesRogue Wave Software
 
What is App Engine? O
What is App Engine? OWhat is App Engine? O
What is App Engine? Oikailan
 
Oracle Coherence Strategy and Roadmap (OpenWorld, September 2014)
Oracle Coherence Strategy and Roadmap (OpenWorld, September 2014)Oracle Coherence Strategy and Roadmap (OpenWorld, September 2014)
Oracle Coherence Strategy and Roadmap (OpenWorld, September 2014)jeckels
 
New life inside monolithic application
New life inside monolithic applicationNew life inside monolithic application
New life inside monolithic applicationTaras Matyashovsky
 
Tripit Ajaxworld V5
Tripit Ajaxworld V5Tripit Ajaxworld V5
Tripit Ajaxworld V5rajivmordani
 
Database-as-a-Service with Oracle Enterprise Manager Cloud Control 12c and Or...
Database-as-a-Service with Oracle Enterprise Manager Cloud Control 12c and Or...Database-as-a-Service with Oracle Enterprise Manager Cloud Control 12c and Or...
Database-as-a-Service with Oracle Enterprise Manager Cloud Control 12c and Or...Leighton Nelson
 
Scalable Integration with JBoss Fuse
Scalable Integration with JBoss FuseScalable Integration with JBoss Fuse
Scalable Integration with JBoss FuseChristina Lin
 
Web Speed And Scalability
Web Speed And ScalabilityWeb Speed And Scalability
Web Speed And ScalabilityJason Ragsdale
 
Microsoft SQL Server Query Tuning
Microsoft SQL Server Query TuningMicrosoft SQL Server Query Tuning
Microsoft SQL Server Query TuningMark Ginnebaugh
 
Application Scalability in Server Farms - NCache
Application Scalability in Server Farms - NCacheApplication Scalability in Server Farms - NCache
Application Scalability in Server Farms - NCacheAlachisoft
 
HTTP Session Replication with Oracle Coherence, GlassFish, WebLogic
HTTP Session Replication with Oracle Coherence, GlassFish, WebLogicHTTP Session Replication with Oracle Coherence, GlassFish, WebLogic
HTTP Session Replication with Oracle Coherence, GlassFish, WebLogicOracle
 
Drupal commerce performance profiling and tunning using loadstorm experiments...
Drupal commerce performance profiling and tunning using loadstorm experiments...Drupal commerce performance profiling and tunning using loadstorm experiments...
Drupal commerce performance profiling and tunning using loadstorm experiments...Andy Kucharski
 
X Aware Ajax World V1
X Aware Ajax World V1X Aware Ajax World V1
X Aware Ajax World V1rajivmordani
 
AUSPC 2013 - Understanding the Five Layers of SharePoint Security
AUSPC 2013 - Understanding the Five Layers of SharePoint SecurityAUSPC 2013 - Understanding the Five Layers of SharePoint Security
AUSPC 2013 - Understanding the Five Layers of SharePoint SecurityMichael Noel
 

Was ist angesagt? (20)

Open source applied: Real-world uses
Open source applied: Real-world usesOpen source applied: Real-world uses
Open source applied: Real-world uses
 
Java EE 7 for WebLogic 12c Developers
Java EE 7 for WebLogic 12c DevelopersJava EE 7 for WebLogic 12c Developers
Java EE 7 for WebLogic 12c Developers
 
Shopzilla - Performance By Design
Shopzilla - Performance By DesignShopzilla - Performance By Design
Shopzilla - Performance By Design
 
Database Provisioning in EM12c: Provision me a Database Now!
Database Provisioning in EM12c: Provision me a Database Now!Database Provisioning in EM12c: Provision me a Database Now!
Database Provisioning in EM12c: Provision me a Database Now!
 
Hazelcast 3.6 Roadmap Preview
Hazelcast 3.6 Roadmap PreviewHazelcast 3.6 Roadmap Preview
Hazelcast 3.6 Roadmap Preview
 
Oracle Drivers configuration for High Availability, is it a developer's job?
Oracle Drivers configuration for High Availability, is it a developer's job?Oracle Drivers configuration for High Availability, is it a developer's job?
Oracle Drivers configuration for High Availability, is it a developer's job?
 
Open source: Top issues in the top enterprise packages
Open source: Top issues in the top enterprise packagesOpen source: Top issues in the top enterprise packages
Open source: Top issues in the top enterprise packages
 
What is App Engine? O
What is App Engine? OWhat is App Engine? O
What is App Engine? O
 
Oracle Coherence Strategy and Roadmap (OpenWorld, September 2014)
Oracle Coherence Strategy and Roadmap (OpenWorld, September 2014)Oracle Coherence Strategy and Roadmap (OpenWorld, September 2014)
Oracle Coherence Strategy and Roadmap (OpenWorld, September 2014)
 
New life inside monolithic application
New life inside monolithic applicationNew life inside monolithic application
New life inside monolithic application
 
Tripit Ajaxworld V5
Tripit Ajaxworld V5Tripit Ajaxworld V5
Tripit Ajaxworld V5
 
Database-as-a-Service with Oracle Enterprise Manager Cloud Control 12c and Or...
Database-as-a-Service with Oracle Enterprise Manager Cloud Control 12c and Or...Database-as-a-Service with Oracle Enterprise Manager Cloud Control 12c and Or...
Database-as-a-Service with Oracle Enterprise Manager Cloud Control 12c and Or...
 
Scalable Integration with JBoss Fuse
Scalable Integration with JBoss FuseScalable Integration with JBoss Fuse
Scalable Integration with JBoss Fuse
 
Web Speed And Scalability
Web Speed And ScalabilityWeb Speed And Scalability
Web Speed And Scalability
 
Microsoft SQL Server Query Tuning
Microsoft SQL Server Query TuningMicrosoft SQL Server Query Tuning
Microsoft SQL Server Query Tuning
 
Application Scalability in Server Farms - NCache
Application Scalability in Server Farms - NCacheApplication Scalability in Server Farms - NCache
Application Scalability in Server Farms - NCache
 
HTTP Session Replication with Oracle Coherence, GlassFish, WebLogic
HTTP Session Replication with Oracle Coherence, GlassFish, WebLogicHTTP Session Replication with Oracle Coherence, GlassFish, WebLogic
HTTP Session Replication with Oracle Coherence, GlassFish, WebLogic
 
Drupal commerce performance profiling and tunning using loadstorm experiments...
Drupal commerce performance profiling and tunning using loadstorm experiments...Drupal commerce performance profiling and tunning using loadstorm experiments...
Drupal commerce performance profiling and tunning using loadstorm experiments...
 
X Aware Ajax World V1
X Aware Ajax World V1X Aware Ajax World V1
X Aware Ajax World V1
 
AUSPC 2013 - Understanding the Five Layers of SharePoint Security
AUSPC 2013 - Understanding the Five Layers of SharePoint SecurityAUSPC 2013 - Understanding the Five Layers of SharePoint Security
AUSPC 2013 - Understanding the Five Layers of SharePoint Security
 

Ähnlich wie MongoDB World 2019: Why NBCUniversal Migrated to MongoDB Atlas

AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...Amazon Web Services
 
Lessons from Building Large-Scale, Multi-Cloud, SaaS Software at Databricks
Lessons from Building Large-Scale, Multi-Cloud, SaaS Software at DatabricksLessons from Building Large-Scale, Multi-Cloud, SaaS Software at Databricks
Lessons from Building Large-Scale, Multi-Cloud, SaaS Software at DatabricksDatabricks
 
Cloud Readiness : CAST & Microsoft Azure Partnership Overview
Cloud Readiness : CAST & Microsoft Azure Partnership OverviewCloud Readiness : CAST & Microsoft Azure Partnership Overview
Cloud Readiness : CAST & Microsoft Azure Partnership OverviewCAST
 
Build on AWS: Migrating and Platforming
Build on AWS: Migrating and PlatformingBuild on AWS: Migrating and Platforming
Build on AWS: Migrating and PlatformingAmazon Web Services
 
在-MongoDB-Cloud-上構建無服務器化應用
在-MongoDB-Cloud-上構建無服務器化應用在-MongoDB-Cloud-上構建無服務器化應用
在-MongoDB-Cloud-上構建無服務器化應用Amazon Web Services
 
Blue Green Sitecore Deployments on Azure
Blue Green Sitecore Deployments on AzureBlue Green Sitecore Deployments on Azure
Blue Green Sitecore Deployments on AzureRob Habraken
 
AWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for GovernmentAWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for GovernmentAmazon Web Services
 
Build on AWS: Migrating And Platforming
Build on AWS: Migrating And PlatformingBuild on AWS: Migrating And Platforming
Build on AWS: Migrating And PlatformingAmazon Web Services
 
Deep Dive - Usage of on premises data gateway for hybrid integration scenarios
Deep Dive - Usage of on premises data gateway for hybrid integration scenariosDeep Dive - Usage of on premises data gateway for hybrid integration scenarios
Deep Dive - Usage of on premises data gateway for hybrid integration scenariosSajith C P Nair
 
Stay productive_while_slicing_up_the_monolith
Stay productive_while_slicing_up_the_monolithStay productive_while_slicing_up_the_monolith
Stay productive_while_slicing_up_the_monolithMarkus Eisele
 
AWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for GovernmentAWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for GovernmentAmazon Web Services
 
PartnerSkillUp_Enable a Streaming CDC Solution
PartnerSkillUp_Enable a Streaming CDC SolutionPartnerSkillUp_Enable a Streaming CDC Solution
PartnerSkillUp_Enable a Streaming CDC SolutionTimothy Spann
 
Tips for Installing Cognos Analytics: Configuring and Installing the Server
Tips for Installing Cognos Analytics: Configuring and Installing the ServerTips for Installing Cognos Analytics: Configuring and Installing the Server
Tips for Installing Cognos Analytics: Configuring and Installing the ServerSenturus
 
Azure from scratch part 3 By Girish Kalamati
Azure from scratch part 3 By Girish KalamatiAzure from scratch part 3 By Girish Kalamati
Azure from scratch part 3 By Girish KalamatiGirish Kalamati
 
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...Emerson Eduardo Rodrigues Von Staffen
 
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...Amazon Web Services
 

Ähnlich wie MongoDB World 2019: Why NBCUniversal Migrated to MongoDB Atlas (20)

Serverless_with_MongoDB
Serverless_with_MongoDBServerless_with_MongoDB
Serverless_with_MongoDB
 
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
AWS re:Invent 2016: Amazon CloudFront Flash Talks: Best Practices on Configur...
 
Lessons from Building Large-Scale, Multi-Cloud, SaaS Software at Databricks
Lessons from Building Large-Scale, Multi-Cloud, SaaS Software at DatabricksLessons from Building Large-Scale, Multi-Cloud, SaaS Software at Databricks
Lessons from Building Large-Scale, Multi-Cloud, SaaS Software at Databricks
 
DevOps Case Studies
DevOps Case StudiesDevOps Case Studies
DevOps Case Studies
 
Cloud Readiness : CAST & Microsoft Azure Partnership Overview
Cloud Readiness : CAST & Microsoft Azure Partnership OverviewCloud Readiness : CAST & Microsoft Azure Partnership Overview
Cloud Readiness : CAST & Microsoft Azure Partnership Overview
 
Build on AWS: Migrating and Platforming
Build on AWS: Migrating and PlatformingBuild on AWS: Migrating and Platforming
Build on AWS: Migrating and Platforming
 
在-MongoDB-Cloud-上構建無服務器化應用
在-MongoDB-Cloud-上構建無服務器化應用在-MongoDB-Cloud-上構建無服務器化應用
在-MongoDB-Cloud-上構建無服務器化應用
 
Blue Green Sitecore Deployments on Azure
Blue Green Sitecore Deployments on AzureBlue Green Sitecore Deployments on Azure
Blue Green Sitecore Deployments on Azure
 
56k.cloud training
56k.cloud training56k.cloud training
56k.cloud training
 
AWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for GovernmentAWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for Government
 
Build on AWS: Migrating And Platforming
Build on AWS: Migrating And PlatformingBuild on AWS: Migrating And Platforming
Build on AWS: Migrating And Platforming
 
Deep Dive - Usage of on premises data gateway for hybrid integration scenarios
Deep Dive - Usage of on premises data gateway for hybrid integration scenariosDeep Dive - Usage of on premises data gateway for hybrid integration scenarios
Deep Dive - Usage of on premises data gateway for hybrid integration scenarios
 
Stay productive_while_slicing_up_the_monolith
Stay productive_while_slicing_up_the_monolithStay productive_while_slicing_up_the_monolith
Stay productive_while_slicing_up_the_monolith
 
AWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for GovernmentAWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for Government
 
PartnerSkillUp_Enable a Streaming CDC Solution
PartnerSkillUp_Enable a Streaming CDC SolutionPartnerSkillUp_Enable a Streaming CDC Solution
PartnerSkillUp_Enable a Streaming CDC Solution
 
Tips for Installing Cognos Analytics: Configuring and Installing the Server
Tips for Installing Cognos Analytics: Configuring and Installing the ServerTips for Installing Cognos Analytics: Configuring and Installing the Server
Tips for Installing Cognos Analytics: Configuring and Installing the Server
 
Azure from scratch part 3 By Girish Kalamati
Azure from scratch part 3 By Girish KalamatiAzure from scratch part 3 By Girish Kalamati
Azure from scratch part 3 By Girish Kalamati
 
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
 
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
 
Percona presentation v2
Percona presentation v2Percona presentation v2
Percona presentation v2
 

Mehr von 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
 

Mehr von 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...
 

Kürzlich hochgeladen

Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
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
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
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
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 

Kürzlich hochgeladen (20)

Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
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
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
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
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 

MongoDB World 2019: Why NBCUniversal Migrated to MongoDB Atlas

  • 1. Why NBC Universal Migrated to MongoDB Atlas Charleste King, MongoDB Practice Lead, Datavail Trinh Nguyen, Sr. Director of Technology, NBCUniversal
  • 2. MongoDB Practice Lead, Datavail Charleste King § Over 20 years in the IT industry § Expertise in software development to data analysis, architecture, and administration § Industry experience includes aerospace, agriculture, medicine, education, and more. § Specializes in developing solutions for unique client problems ranging from multi-level upgrades to forecasting problem areas to tuning and performance monitoring § Has a Master of Science from Georgia Institute of Technology
  • 3. Datavail Overview Databases, Analytics, and Application Development We are data specialists 15+ years delivering data services Projects, Managed Services and staffing 500+ customers 7 years average retention § All major platforms including MongoDB and MongoDB Atlas § AWS, Azure and Google Cloud § Comprehensive development & operational services § US & Global delivery models § Health checks & performance tuning § Upgrades Database Operations
  • 4. Sr. Director of Technology, NBCUniversal Trinh Nguyen § 12 years with E!’s Interactive Technology team § Oversees three teams: Software engineers, Web Developers, & DevOps § Expertise in Lambda, EC2, ECS, Redis, GraphQL, Chef to build Spring-based applications as well as React apps with NodeJS. § Works primarily in Java/Javascript, using MongoDB and MySQL for data storage § Migrated E! to the cloud completely in March 2017 - first Cable brand at NBCU to move its entire infrastructure to the cloud § Has a dog named Professor, a son named Maverick, and a wife who let him come to this conference § Bachelor’s in Computer Engineering from the University of California, Irvine
  • 5. www.nbcuniversal.com E! is the only global, multi-platform brand for all things pop culture. The network is currently available to 91 million cable and satellite subscribers in the U.S and 161 countries globally. E! is a network of NBCUniversal Entertainment & Lifestyle Group, a division of NBCUniversal, one of the world's leading media and entertainment companies NBC Universal E! Entertainment
  • 6. Agenda • NBC Universal – Business drivers & technical needs • Top pain points driving move to MongoDB Atlas • Technical needs to be overcome before migration • Migration • Post migration observations and benefits • Lessons learned • Q&A
  • 8. NBCUniversal Business Drivers For Atlas Migration § Ability to build digital products and features quickly § Highly available and secure database § Streamline operational costs – Licensing and Infrastructure § Self Service provisioning and management § Intuitive metrics and visualizations
  • 9. Technical Needs for E! Digital to Migrate to Atlas Cost and Ease of Management § Ongoing/Repeated tasks: § Daily health checks § Storage issues – constantly checking storage § Manual deletion of snapshots § Upgrading/Patching § Performance tuning
  • 10. E! Digital – Prior Architecture
  • 11. NBCUniversal Top Pain Points Driving Move to MongoDB Atlas
  • 12. Top Pain Points Driving Move to MongoDB Atlas Prior Challenge • Provisioning Instances • Access to Ops Manager • Downtime / Patching • Storage / Data Retention • Alerts Lagged in Getting to Right Individuals and Teams Benefits of Atlas Migration • Self Service • Access Atlas Portal from Anywhere • Auto patching and one click upgrades w/o downtime • Storage Auto Expand and Automated Backups • Streamlined and Targeted Alerts
  • 14. In our network we have a proxy appliance, which all connections to the internet must route through. Normally this is fine with web browsing, however when trying to connect from our desktops to mongo atlas instances connection is denied. Is there a way to setup connectivity to include the proxy settings? Arbi Begian, DevOps Lead
  • 15. First Challenge Developers were not able to connect from our corporate office to Mongo Atlas since our corporate network egress is restricted to go out through a proxy firewall device, which blocks all ports except for HTTP and HTTPS.
  • 16. Connectivity to Atlas is established using the MongoDB wire protocol, which is not HTTP-based. Unless the proxy appliance that you mention has explicit support for the wire protocol or port forwarding, then it is unlikely that the appliance will function in the manner you intend. Mongo Support
  • 17. How E! Online Overcame Connectivity Restriction To overcome connectivity limitation from our corporate network to hosted Mongo Atlas we had to reconfigure our network and routing setup: § Instead of using corporate internet egress to connect to Atlas we decided to route through our AWS VPC. § By VPC peering the two networks, E! was able to establish communication to MongoDB clusters within the network . § To abide with our AWS environment security we had to peer according to each of our specific VPCs (Dev/Shared/Staging/Prod). § We reconfigured our internal routing to pass the MongoDB communication internally rather than going through the public interface.
  • 18. /etc/hosts #Using Dev or Shared Open VPN 172.22.64.XXX dev-pub-shard-00-XX-abcde.mongodb.net 172.22.64.XX dev-pub-shard-00-XX-abcde.mongodb.net 172.22.64.XX dev-pub-shard-00-XX-abcde.mongodb.net #MongoDB Atlas Properties ### Dev env Atlas ### atlasConnectionUrl=mongodb://webclient:USER@dev-pub-shard-00-XX- abcde.mongodb.net:27017, dev-pub-shard-00-XX-abcde.mongodb.net:27017, dev-pub-shard-00-XX- abcde.mongodb.net:27017/{database}?authSource=admin&retryWrites=true &ssl=true&replicaSet=dev-pub-shard-0 atlasBudConnectionUrl=mongodb:// atlasEnable=true Developer Setup
  • 19. VPC Peering Developers’ communication issues were solved since we did not have to go through the proxy device. By going this route it also made our connection to the Atlas cluster much faster, even faster than accessing our EC2 instances that were running MongoDB Enterprise. Unexpected Performance Gains
  • 20. Setting up Your Subnets § When we setup our subnets we tried to keep the address spaces similar § Dev-Test subnet before: 172.21.68.0 § Atlas Dev-Test Cluster after: 172.22.68.0 § During Cluster Setup we did not use default subnet, this has to be explicitly defined if you want to use your own § Easy/Helps know your database IPs when scanning, setting up firewall rules, inspecting logs, etc.
  • 21. Route 53 § We ran into problems configuring SRV within Route53 § SRV service call in Atlas already has logic to figure out which is node is primary § Keeping the DNS in sync wasn’t worth it just for cleaner/shorter names when new nodes were brought up for maintenance or under load (cluster nodes increasing/decreasing) § In our case we weren’t able to leverage Route53 to abstract the cluster’s configuration parameters to be stored in DNS but many of you will be able to leverage SRV and TXT records as a solution Solution and Learnings § Long Mongo hostnames § Setting up Simple to read CNAMES § Namespace “mongodb.net” Challenge
  • 22. Updating Application Drivers § Almost all of our applications have a centralized back-end service called “commons client interface” (CCI). § Previously CCI was configured with Spring Data MongoDB Core » 2.0.7.RELEASE, packaged with mongodb-driver-async v3.5.0. § Upgraded to 3.6.1 and leveraged the retryWrites=true parameter. § Cutover timing.
  • 24. Why we used Mongomirror § Luckily, MongoDB provides mongomirror which works in this situation Solution If you have VPC Peering with MongoDB 3.6, Live Migration requires extra network configuration that we wanted to avoid. Challenge
  • 25. How We Leveraged mongomirror to Help with the Migration § Helps to perform live migration without downtime. § mongomirror is a utility for migrating data from an existing MongoDB replica set to a MongoDB Atlas replica set § Does not require to shut down existing replica sets or applications. § Drawback: it does not import the user/role data, thus we had do manually create the users in MongoDB Atlas after the migration of the data.
  • 26. 7 Steps to Use Mongomirror 1. Download mongomirror on secondary node 2. Configuration changes and prerequisites in place for mongomirror to work 3. Setup MongoDB User in the AWS and run getParameter command 4. Setup MongoDB User in the target MongoDB Atlas Cluster with Atlas admin role. 5. Add IP(s) to whitelist 6. Mongomirror sync and tailing of OpLog 7. Switch application and stop mongomirror
  • 27. use admin db.createUser( { user: "AtlasMigrationUser", pwd: "passwordxxxxx", roles: [ "clusterMonitor", "readAnyDatabase" ] } ) We used a command similar to the following:
  • 28. mongomirror --host "rs-pub- dev/mongo.dev.eol.inbcu.com:27017" --username "datavail_user" --password "passwordxxxxx" -- authenticationDatabase "admin" --destination "dev- pub-shard-0/dev-pub-shard-00-00- uwwl2.mongodb.net:27017,dev-pub-shard-00-01- uwwl2.mongodb.net:27017,dev-pub-shard-00-02- uwwl2.mongodb.net:27017" --destinationUsername "admin" --destinationPassword "passwordxxxxxxxx” Step 6 6. Started mongomirror process. We executed using a statement that looks like the following:
  • 29. Show sample screen shot of progress bar
  • 31. Benefits of Mongo Hosted Cloud Eliminated: EC2 instances reserved to run OpsManager and its replica set. Additional Gains
  • 32. Benefits of Mongo Hosted Cloud Productivity: no double VPN needed to access Atlas since it is publicly accessible. Additional Gains
  • 33. Benefits of Mongo Hosted Cloud Secure: 2FA required to access Atlas. Additional Gains
  • 34. Benefits of Mongo Hosted Cloud Self Service: Developers can spin up clusters for project/prototype-based microservice work. Additional Gains
  • 35. Benefits of Mongo Hosted Cloud Roles & Permissions are Transparent and don’t necessarily need a DBA for setup. Additional Gains
  • 36. Benefits of Mongo Hosted Cloud Maintenance patching requires no downtime and easy one-click. Additional Gains
  • 37. Lessons Learned § If you’re part of a large corporation that uses a proxy… be ready for: § Know about the port restrictions § Or have a plan on who can accommodate your testing/migration and how § If you are running in the cloud, VPC peering helps, but test routing § Allocate time in your migration plan to update your applications’ drivers § Talk openly about your gains to the organization: § Rapid Prototyping § Decreased Downtime § Accessibility § Alerting § Storage/Backup § Autopatching
  • 38. Q&A