SlideShare una empresa de Scribd logo
1 de 41
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
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
Provisioning Instances
Access to Ops Manager
Downtime / Patching
Storage / Data Retention
Alerts Lagged in Getting to
Right Individuals and
Teams
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
Prior Challenge Benefits of Atlas Migration
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:
mongomirror
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
Trinh Nguyen
Trinh.Nguyen@nbcuni.com
Charleste King
Charleste.King@datavail.com
Fill out the
session evaluation
form for a chance
to win our
Datavail
headphones!
Stop by our booth for a
chance to win: Datavailopoly
Our GRAND PRIZE:
Oculus Go Standalone Virtual
Reality Headset - 64GB
OR
Why NBC Universal Migrated to MongoDB Atlas

Más contenido relacionado

La actualidad más candente

Introducing WebLogic 12c OTN Tour 2012
Introducing WebLogic 12c OTN Tour 2012Introducing WebLogic 12c OTN Tour 2012
Introducing WebLogic 12c OTN Tour 2012Bruno Borges
 
Scalable Web Architectures: Common Patterns and Approaches - Web 2.0 Expo NYC
Scalable Web Architectures: Common Patterns and Approaches - Web 2.0 Expo NYCScalable Web Architectures: Common Patterns and Approaches - Web 2.0 Expo NYC
Scalable Web Architectures: Common Patterns and Approaches - Web 2.0 Expo NYCCal Henderson
 
Java on Windows Azure
Java on Windows AzureJava on Windows Azure
Java on Windows AzureDavid Chou
 
Gregor Hohpe Track Intro The Cloud As Middle Ware
Gregor Hohpe Track Intro The Cloud As Middle WareGregor Hohpe Track Intro The Cloud As Middle Ware
Gregor Hohpe Track Intro The Cloud As Middle Waredeimos
 
Cloudfoundry architecture
Cloudfoundry architectureCloudfoundry architecture
Cloudfoundry architectureRamnivas Laddad
 
Enterprise manager 13c -let's connect to the Oracle Cloud
Enterprise manager 13c -let's connect to the Oracle CloudEnterprise manager 13c -let's connect to the Oracle Cloud
Enterprise manager 13c -let's connect to the Oracle CloudTrivadis
 
SharePoint on Microsoft Azure
SharePoint on Microsoft AzureSharePoint on Microsoft Azure
SharePoint on Microsoft AzureK.Mohamed Faizal
 
Tomcat and MySQL in Windows Azure
Tomcat and MySQL in Windows Azure Tomcat and MySQL in Windows Azure
Tomcat and MySQL in Windows Azure Guada Casuso
 
Data Streaming with Apache Kafka & MongoDB - EMEA
Data Streaming with Apache Kafka & MongoDB - EMEAData Streaming with Apache Kafka & MongoDB - EMEA
Data Streaming with Apache Kafka & MongoDB - EMEAAndrew Morgan
 
Voldemort & Hadoop @ Linkedin, Hadoop User Group Jan 2010
Voldemort & Hadoop @ Linkedin, Hadoop User Group Jan 2010Voldemort & Hadoop @ Linkedin, Hadoop User Group Jan 2010
Voldemort & Hadoop @ Linkedin, Hadoop User Group Jan 2010Bhupesh Bansal
 
Top10waystointegratewithoracleecmbezzo 1222791433931452 9
Top10waystointegratewithoracleecmbezzo 1222791433931452 9Top10waystointegratewithoracleecmbezzo 1222791433931452 9
Top10waystointegratewithoracleecmbezzo 1222791433931452 9MrLynnRClemons
 
Exadata MAA Best Practices
Exadata MAA Best PracticesExadata MAA Best Practices
Exadata MAA Best PracticesRui Sousa
 
Akka-intro-training-public.pdf
Akka-intro-training-public.pdfAkka-intro-training-public.pdf
Akka-intro-training-public.pdfBernardDeffarges
 
Shopzilla - Performance By Design
Shopzilla - Performance By DesignShopzilla - Performance By Design
Shopzilla - Performance By DesignTim Morrow
 
MySQL Group Replication - an Overview
MySQL Group Replication - an OverviewMySQL Group Replication - an Overview
MySQL Group Replication - an OverviewMatt Lord
 
Oracle UCM: Web Site Performance Tuning
Oracle UCM: Web Site Performance TuningOracle UCM: Web Site Performance Tuning
Oracle UCM: Web Site Performance TuningBrian Huff
 
Aioug connection poolsizingconcepts
Aioug connection poolsizingconceptsAioug connection poolsizingconcepts
Aioug connection poolsizingconceptsToon Koppelaars
 
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
 
The rise of microservices - containers and orchestration
The rise of microservices - containers and orchestrationThe rise of microservices - containers and orchestration
The rise of microservices - containers and orchestrationAndrew Morgan
 

La actualidad más candente (20)

Introducing WebLogic 12c OTN Tour 2012
Introducing WebLogic 12c OTN Tour 2012Introducing WebLogic 12c OTN Tour 2012
Introducing WebLogic 12c OTN Tour 2012
 
Scalable Web Architectures: Common Patterns and Approaches - Web 2.0 Expo NYC
Scalable Web Architectures: Common Patterns and Approaches - Web 2.0 Expo NYCScalable Web Architectures: Common Patterns and Approaches - Web 2.0 Expo NYC
Scalable Web Architectures: Common Patterns and Approaches - Web 2.0 Expo NYC
 
Java on Windows Azure
Java on Windows AzureJava on Windows Azure
Java on Windows Azure
 
Gregor Hohpe Track Intro The Cloud As Middle Ware
Gregor Hohpe Track Intro The Cloud As Middle WareGregor Hohpe Track Intro The Cloud As Middle Ware
Gregor Hohpe Track Intro The Cloud As Middle Ware
 
Cloudfoundry architecture
Cloudfoundry architectureCloudfoundry architecture
Cloudfoundry architecture
 
Enterprise manager 13c -let's connect to the Oracle Cloud
Enterprise manager 13c -let's connect to the Oracle CloudEnterprise manager 13c -let's connect to the Oracle Cloud
Enterprise manager 13c -let's connect to the Oracle Cloud
 
SharePoint on Microsoft Azure
SharePoint on Microsoft AzureSharePoint on Microsoft Azure
SharePoint on Microsoft Azure
 
Tomcat and MySQL in Windows Azure
Tomcat and MySQL in Windows Azure Tomcat and MySQL in Windows Azure
Tomcat and MySQL in Windows Azure
 
Data Streaming with Apache Kafka & MongoDB - EMEA
Data Streaming with Apache Kafka & MongoDB - EMEAData Streaming with Apache Kafka & MongoDB - EMEA
Data Streaming with Apache Kafka & MongoDB - EMEA
 
Voldemort & Hadoop @ Linkedin, Hadoop User Group Jan 2010
Voldemort & Hadoop @ Linkedin, Hadoop User Group Jan 2010Voldemort & Hadoop @ Linkedin, Hadoop User Group Jan 2010
Voldemort & Hadoop @ Linkedin, Hadoop User Group Jan 2010
 
Top10waystointegratewithoracleecmbezzo 1222791433931452 9
Top10waystointegratewithoracleecmbezzo 1222791433931452 9Top10waystointegratewithoracleecmbezzo 1222791433931452 9
Top10waystointegratewithoracleecmbezzo 1222791433931452 9
 
Exadata MAA Best Practices
Exadata MAA Best PracticesExadata MAA Best Practices
Exadata MAA Best Practices
 
Azure Websites
Azure WebsitesAzure Websites
Azure Websites
 
Akka-intro-training-public.pdf
Akka-intro-training-public.pdfAkka-intro-training-public.pdf
Akka-intro-training-public.pdf
 
Shopzilla - Performance By Design
Shopzilla - Performance By DesignShopzilla - Performance By Design
Shopzilla - Performance By Design
 
MySQL Group Replication - an Overview
MySQL Group Replication - an OverviewMySQL Group Replication - an Overview
MySQL Group Replication - an Overview
 
Oracle UCM: Web Site Performance Tuning
Oracle UCM: Web Site Performance TuningOracle UCM: Web Site Performance Tuning
Oracle UCM: Web Site Performance Tuning
 
Aioug connection poolsizingconcepts
Aioug connection poolsizingconceptsAioug connection poolsizingconcepts
Aioug connection poolsizingconcepts
 
Open source applied: Real-world uses
Open source applied: Real-world usesOpen source applied: Real-world uses
Open source applied: Real-world uses
 
The rise of microservices - containers and orchestration
The rise of microservices - containers and orchestrationThe rise of microservices - containers and orchestration
The rise of microservices - containers and orchestration
 

Similar a Why NBC Universal Migrated to MongoDB Atlas

Making your Life Easier with MongoDB and Kafka (Robert Walters, MongoDB) Kafk...
Making your Life Easier with MongoDB and Kafka (Robert Walters, MongoDB) Kafk...Making your Life Easier with MongoDB and Kafka (Robert Walters, MongoDB) Kafk...
Making your Life Easier with MongoDB and Kafka (Robert Walters, MongoDB) Kafk...HostedbyConfluent
 
在-MongoDB-Cloud-上構建無服務器化應用
在-MongoDB-Cloud-上構建無服務器化應用在-MongoDB-Cloud-上構建無服務器化應用
在-MongoDB-Cloud-上構建無服務器化應用Amazon 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
 
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
 
Surekha_haoop_exp
Surekha_haoop_expSurekha_haoop_exp
Surekha_haoop_expsurekhakadi
 
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
 
PartnerSkillUp_Enable a Streaming CDC Solution
PartnerSkillUp_Enable a Streaming CDC SolutionPartnerSkillUp_Enable a Streaming CDC Solution
PartnerSkillUp_Enable a Streaming CDC SolutionTimothy Spann
 
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
 
Azure presentation nnug dec 2010
Azure presentation nnug  dec 2010Azure presentation nnug  dec 2010
Azure presentation nnug dec 2010Ethos Technologies
 
Privacy Preservation in cloud Environment using AES Algorithm
Privacy Preservation in cloud Environment using AES AlgorithmPrivacy Preservation in cloud Environment using AES Algorithm
Privacy Preservation in cloud Environment using AES AlgorithmIRJET Journal
 
Using Grid Technologies in the Cloud for High Scalability
Using Grid Technologies in the Cloud for High ScalabilityUsing Grid Technologies in the Cloud for High Scalability
Using Grid Technologies in the Cloud for High Scalabilitymabuhr
 
How leading financial services organisations are winning with tech
How leading financial services organisations are winning with techHow leading financial services organisations are winning with tech
How leading financial services organisations are winning with techMongoDB
 
Deploying DC/OS on Premises with Juju
Deploying DC/OS on Premises with JujuDeploying DC/OS on Premises with Juju
Deploying DC/OS on Premises with JujuTom Barber
 
Node.js and the MEAN Stack Building Full-Stack Web Applications.pdf
Node.js and the MEAN Stack Building Full-Stack Web Applications.pdfNode.js and the MEAN Stack Building Full-Stack Web Applications.pdf
Node.js and the MEAN Stack Building Full-Stack Web Applications.pdflubnayasminsebl
 
Cloudify workshop at CCCEU 2014
Cloudify workshop at CCCEU 2014 Cloudify workshop at CCCEU 2014
Cloudify workshop at CCCEU 2014 Uri Cohen
 
Refactoring Web Services on AWS cloud (PaaS & SaaS)
Refactoring Web Services on AWS cloud (PaaS & SaaS)Refactoring Web Services on AWS cloud (PaaS & SaaS)
Refactoring Web Services on AWS cloud (PaaS & SaaS)IRJET Journal
 

Similar a Why NBC Universal Migrated to MongoDB Atlas (20)

Serverless_with_MongoDB
Serverless_with_MongoDBServerless_with_MongoDB
Serverless_with_MongoDB
 
Making your Life Easier with MongoDB and Kafka (Robert Walters, MongoDB) Kafk...
Making your Life Easier with MongoDB and Kafka (Robert Walters, MongoDB) Kafk...Making your Life Easier with MongoDB and Kafka (Robert Walters, MongoDB) Kafk...
Making your Life Easier with MongoDB and Kafka (Robert Walters, MongoDB) Kafk...
 
在-MongoDB-Cloud-上構建無服務器化應用
在-MongoDB-Cloud-上構建無服務器化應用在-MongoDB-Cloud-上構建無服務器化應用
在-MongoDB-Cloud-上構建無服務器化應用
 
Build on AWS: Migrating and Platforming
Build on AWS: Migrating and PlatformingBuild on AWS: Migrating and Platforming
Build on AWS: Migrating and Platforming
 
Build on AWS: Migrating And Platforming
Build on AWS: Migrating And PlatformingBuild on AWS: Migrating And Platforming
Build on AWS: Migrating And Platforming
 
Surekha_haoop_exp
Surekha_haoop_expSurekha_haoop_exp
Surekha_haoop_exp
 
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
 
PartnerSkillUp_Enable a Streaming CDC Solution
PartnerSkillUp_Enable a Streaming CDC SolutionPartnerSkillUp_Enable a Streaming CDC Solution
PartnerSkillUp_Enable a Streaming CDC Solution
 
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
 
Azure presentation nnug dec 2010
Azure presentation nnug  dec 2010Azure presentation nnug  dec 2010
Azure presentation nnug dec 2010
 
Privacy Preservation in cloud Environment using AES Algorithm
Privacy Preservation in cloud Environment using AES AlgorithmPrivacy Preservation in cloud Environment using AES Algorithm
Privacy Preservation in cloud Environment using AES Algorithm
 
Using Grid Technologies in the Cloud for High Scalability
Using Grid Technologies in the Cloud for High ScalabilityUsing Grid Technologies in the Cloud for High Scalability
Using Grid Technologies in the Cloud for High Scalability
 
How leading financial services organisations are winning with tech
How leading financial services organisations are winning with techHow leading financial services organisations are winning with tech
How leading financial services organisations are winning with tech
 
56k.cloud training
56k.cloud training56k.cloud training
56k.cloud training
 
Vinothkumar
VinothkumarVinothkumar
Vinothkumar
 
Deploying DC/OS on Premises with Juju
Deploying DC/OS on Premises with JujuDeploying DC/OS on Premises with Juju
Deploying DC/OS on Premises with Juju
 
Node.js and the MEAN Stack Building Full-Stack Web Applications.pdf
Node.js and the MEAN Stack Building Full-Stack Web Applications.pdfNode.js and the MEAN Stack Building Full-Stack Web Applications.pdf
Node.js and the MEAN Stack Building Full-Stack Web Applications.pdf
 
Cloudify workshop at CCCEU 2014
Cloudify workshop at CCCEU 2014 Cloudify workshop at CCCEU 2014
Cloudify workshop at CCCEU 2014
 
Refactoring Web Services on AWS cloud (PaaS & SaaS)
Refactoring Web Services on AWS cloud (PaaS & SaaS)Refactoring Web Services on AWS cloud (PaaS & SaaS)
Refactoring Web Services on AWS cloud (PaaS & SaaS)
 

Más de Datavail

Journey to Cloud Analytics
Journey to Cloud Analytics Journey to Cloud Analytics
Journey to Cloud Analytics Datavail
 
Accelerate SQL Server Migration to the AWS Cloud
Accelerate SQL Server Migration to the AWS Cloud Accelerate SQL Server Migration to the AWS Cloud
Accelerate SQL Server Migration to the AWS Cloud Datavail
 
MOUS 2020 - Hyperion 11.2 vs. Cloud: Should I Stay or Should I Go?
MOUS 2020 - Hyperion 11.2 vs. Cloud: Should I Stay or Should I Go?MOUS 2020 - Hyperion 11.2 vs. Cloud: Should I Stay or Should I Go?
MOUS 2020 - Hyperion 11.2 vs. Cloud: Should I Stay or Should I Go?Datavail
 
Oracle Enterprise Manager Seven Robust Features to Put in Action final
Oracle Enterprise Manager Seven Robust Features to Put in Action finalOracle Enterprise Manager Seven Robust Features to Put in Action final
Oracle Enterprise Manager Seven Robust Features to Put in Action finalDatavail
 
Lessons from Migrating Oracle Databases to Amazon RDS or Amazon Aurora
Lessons from Migrating Oracle Databases to Amazon RDS or Amazon Aurora Lessons from Migrating Oracle Databases to Amazon RDS or Amazon Aurora
Lessons from Migrating Oracle Databases to Amazon RDS or Amazon Aurora Datavail
 
EPM 11.2: Lessons Learned and 2021 Preparedness
EPM 11.2: Lessons Learned and 2021 PreparednessEPM 11.2: Lessons Learned and 2021 Preparedness
EPM 11.2: Lessons Learned and 2021 PreparednessDatavail
 
Optimizing Oracle Databases & Applications Gives Fast Food Giant Major Gains
Optimizing Oracle Databases & Applications Gives Fast Food Giant Major GainsOptimizing Oracle Databases & Applications Gives Fast Food Giant Major Gains
Optimizing Oracle Databases & Applications Gives Fast Food Giant Major GainsDatavail
 
RMOUG 2020: Keeping Pace with Change
RMOUG 2020: Keeping Pace with Change RMOUG 2020: Keeping Pace with Change
RMOUG 2020: Keeping Pace with Change Datavail
 
Upcoming Extended Support Deadlines & What They Mean for You
Upcoming Extended Support Deadlines & What They Mean for YouUpcoming Extended Support Deadlines & What They Mean for You
Upcoming Extended Support Deadlines & What They Mean for YouDatavail
 
SQL on Linux
SQL on LinuxSQL on Linux
SQL on LinuxDatavail
 
Reduce Cost by Tuning Queries on Azure DBaaS
Reduce Cost by Tuning Queries on Azure DBaaSReduce Cost by Tuning Queries on Azure DBaaS
Reduce Cost by Tuning Queries on Azure DBaaSDatavail
 
MOUS 2019 - Keeping Pace with Change: Prepare for Tomorrow & Advance Your Car...
MOUS 2019 - Keeping Pace with Change: Prepare for Tomorrow & Advance Your Car...MOUS 2019 - Keeping Pace with Change: Prepare for Tomorrow & Advance Your Car...
MOUS 2019 - Keeping Pace with Change: Prepare for Tomorrow & Advance Your Car...Datavail
 
Essbase On-Prem to Oracle Analytics Cloud - How, When, and Why
Essbase On-Prem to Oracle Analytics Cloud - How, When, and WhyEssbase On-Prem to Oracle Analytics Cloud - How, When, and Why
Essbase On-Prem to Oracle Analytics Cloud - How, When, and WhyDatavail
 
Is "Free" Good Enough for Your MySQL Environment?
Is "Free" Good Enough for Your MySQL Environment?Is "Free" Good Enough for Your MySQL Environment?
Is "Free" Good Enough for Your MySQL Environment?Datavail
 
Critical Preflight Checks for Your EPM Applications
Critical Preflight Checks for Your EPM ApplicationsCritical Preflight Checks for Your EPM Applications
Critical Preflight Checks for Your EPM ApplicationsDatavail
 
SQL to Azure Migrations
SQL to Azure MigrationsSQL to Azure Migrations
SQL to Azure MigrationsDatavail
 
Essbase On-Prem to Oracle Analytics Cloud - How, When, and Why
Essbase On-Prem to Oracle Analytics Cloud - How, When, and WhyEssbase On-Prem to Oracle Analytics Cloud - How, When, and Why
Essbase On-Prem to Oracle Analytics Cloud - How, When, and WhyDatavail
 
3 Ways to Lead an Accidental DBA
3 Ways to Lead an Accidental DBA3 Ways to Lead an Accidental DBA
3 Ways to Lead an Accidental DBADatavail
 
Creating a Solid EPM Punch List
Creating a Solid EPM Punch ListCreating a Solid EPM Punch List
Creating a Solid EPM Punch ListDatavail
 
SQL on Linux
SQL on LinuxSQL on Linux
SQL on LinuxDatavail
 

Más de Datavail (20)

Journey to Cloud Analytics
Journey to Cloud Analytics Journey to Cloud Analytics
Journey to Cloud Analytics
 
Accelerate SQL Server Migration to the AWS Cloud
Accelerate SQL Server Migration to the AWS Cloud Accelerate SQL Server Migration to the AWS Cloud
Accelerate SQL Server Migration to the AWS Cloud
 
MOUS 2020 - Hyperion 11.2 vs. Cloud: Should I Stay or Should I Go?
MOUS 2020 - Hyperion 11.2 vs. Cloud: Should I Stay or Should I Go?MOUS 2020 - Hyperion 11.2 vs. Cloud: Should I Stay or Should I Go?
MOUS 2020 - Hyperion 11.2 vs. Cloud: Should I Stay or Should I Go?
 
Oracle Enterprise Manager Seven Robust Features to Put in Action final
Oracle Enterprise Manager Seven Robust Features to Put in Action finalOracle Enterprise Manager Seven Robust Features to Put in Action final
Oracle Enterprise Manager Seven Robust Features to Put in Action final
 
Lessons from Migrating Oracle Databases to Amazon RDS or Amazon Aurora
Lessons from Migrating Oracle Databases to Amazon RDS or Amazon Aurora Lessons from Migrating Oracle Databases to Amazon RDS or Amazon Aurora
Lessons from Migrating Oracle Databases to Amazon RDS or Amazon Aurora
 
EPM 11.2: Lessons Learned and 2021 Preparedness
EPM 11.2: Lessons Learned and 2021 PreparednessEPM 11.2: Lessons Learned and 2021 Preparedness
EPM 11.2: Lessons Learned and 2021 Preparedness
 
Optimizing Oracle Databases & Applications Gives Fast Food Giant Major Gains
Optimizing Oracle Databases & Applications Gives Fast Food Giant Major GainsOptimizing Oracle Databases & Applications Gives Fast Food Giant Major Gains
Optimizing Oracle Databases & Applications Gives Fast Food Giant Major Gains
 
RMOUG 2020: Keeping Pace with Change
RMOUG 2020: Keeping Pace with Change RMOUG 2020: Keeping Pace with Change
RMOUG 2020: Keeping Pace with Change
 
Upcoming Extended Support Deadlines & What They Mean for You
Upcoming Extended Support Deadlines & What They Mean for YouUpcoming Extended Support Deadlines & What They Mean for You
Upcoming Extended Support Deadlines & What They Mean for You
 
SQL on Linux
SQL on LinuxSQL on Linux
SQL on Linux
 
Reduce Cost by Tuning Queries on Azure DBaaS
Reduce Cost by Tuning Queries on Azure DBaaSReduce Cost by Tuning Queries on Azure DBaaS
Reduce Cost by Tuning Queries on Azure DBaaS
 
MOUS 2019 - Keeping Pace with Change: Prepare for Tomorrow & Advance Your Car...
MOUS 2019 - Keeping Pace with Change: Prepare for Tomorrow & Advance Your Car...MOUS 2019 - Keeping Pace with Change: Prepare for Tomorrow & Advance Your Car...
MOUS 2019 - Keeping Pace with Change: Prepare for Tomorrow & Advance Your Car...
 
Essbase On-Prem to Oracle Analytics Cloud - How, When, and Why
Essbase On-Prem to Oracle Analytics Cloud - How, When, and WhyEssbase On-Prem to Oracle Analytics Cloud - How, When, and Why
Essbase On-Prem to Oracle Analytics Cloud - How, When, and Why
 
Is "Free" Good Enough for Your MySQL Environment?
Is "Free" Good Enough for Your MySQL Environment?Is "Free" Good Enough for Your MySQL Environment?
Is "Free" Good Enough for Your MySQL Environment?
 
Critical Preflight Checks for Your EPM Applications
Critical Preflight Checks for Your EPM ApplicationsCritical Preflight Checks for Your EPM Applications
Critical Preflight Checks for Your EPM Applications
 
SQL to Azure Migrations
SQL to Azure MigrationsSQL to Azure Migrations
SQL to Azure Migrations
 
Essbase On-Prem to Oracle Analytics Cloud - How, When, and Why
Essbase On-Prem to Oracle Analytics Cloud - How, When, and WhyEssbase On-Prem to Oracle Analytics Cloud - How, When, and Why
Essbase On-Prem to Oracle Analytics Cloud - How, When, and Why
 
3 Ways to Lead an Accidental DBA
3 Ways to Lead an Accidental DBA3 Ways to Lead an Accidental DBA
3 Ways to Lead an Accidental DBA
 
Creating a Solid EPM Punch List
Creating a Solid EPM Punch ListCreating a Solid EPM Punch List
Creating a Solid EPM Punch List
 
SQL on Linux
SQL on LinuxSQL on Linux
SQL on Linux
 

Último

INTRODUCTION TO Natural language processing
INTRODUCTION TO Natural language processingINTRODUCTION TO Natural language processing
INTRODUCTION TO Natural language processingsocarem879
 
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024thyngster
 
办美国加州大学伯克利分校毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
办美国加州大学伯克利分校毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree办美国加州大学伯克利分校毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
办美国加州大学伯克利分校毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degreeyuu sss
 
Easter Eggs From Star Wars and in cars 1 and 2
Easter Eggs From Star Wars and in cars 1 and 2Easter Eggs From Star Wars and in cars 1 and 2
Easter Eggs From Star Wars and in cars 1 and 217djon017
 
Defining Constituents, Data Vizzes and Telling a Data Story
Defining Constituents, Data Vizzes and Telling a Data StoryDefining Constituents, Data Vizzes and Telling a Data Story
Defining Constituents, Data Vizzes and Telling a Data StoryJeremy Anderson
 
RS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝Delhi
RS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝DelhiRS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝Delhi
RS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝Delhijennyeacort
 
Student Profile Sample report on improving academic performance by uniting gr...
Student Profile Sample report on improving academic performance by uniting gr...Student Profile Sample report on improving academic performance by uniting gr...
Student Profile Sample report on improving academic performance by uniting gr...Seán Kennedy
 
Real-Time AI Streaming - AI Max Princeton
Real-Time AI  Streaming - AI Max PrincetonReal-Time AI  Streaming - AI Max Princeton
Real-Time AI Streaming - AI Max PrincetonTimothy Spann
 
SWOT Analysis Slides Powerpoint Template.pptx
SWOT Analysis Slides Powerpoint Template.pptxSWOT Analysis Slides Powerpoint Template.pptx
SWOT Analysis Slides Powerpoint Template.pptxviniciusperissetr
 
Student profile product demonstration on grades, ability, well-being and mind...
Student profile product demonstration on grades, ability, well-being and mind...Student profile product demonstration on grades, ability, well-being and mind...
Student profile product demonstration on grades, ability, well-being and mind...Seán Kennedy
 
办理(Vancouver毕业证书)加拿大温哥华岛大学毕业证成绩单原版一比一
办理(Vancouver毕业证书)加拿大温哥华岛大学毕业证成绩单原版一比一办理(Vancouver毕业证书)加拿大温哥华岛大学毕业证成绩单原版一比一
办理(Vancouver毕业证书)加拿大温哥华岛大学毕业证成绩单原版一比一F La
 
NO1 Certified Black Magic Specialist Expert Amil baba in Lahore Islamabad Raw...
NO1 Certified Black Magic Specialist Expert Amil baba in Lahore Islamabad Raw...NO1 Certified Black Magic Specialist Expert Amil baba in Lahore Islamabad Raw...
NO1 Certified Black Magic Specialist Expert Amil baba in Lahore Islamabad Raw...Amil Baba Dawood bangali
 
Identifying Appropriate Test Statistics Involving Population Mean
Identifying Appropriate Test Statistics Involving Population MeanIdentifying Appropriate Test Statistics Involving Population Mean
Identifying Appropriate Test Statistics Involving Population MeanMYRABACSAFRA2
 
How we prevented account sharing with MFA
How we prevented account sharing with MFAHow we prevented account sharing with MFA
How we prevented account sharing with MFAAndrei Kaleshka
 
RABBIT: A CLI tool for identifying bots based on their GitHub events.
RABBIT: A CLI tool for identifying bots based on their GitHub events.RABBIT: A CLI tool for identifying bots based on their GitHub events.
RABBIT: A CLI tool for identifying bots based on their GitHub events.natarajan8993
 
Advanced Machine Learning for Business Professionals
Advanced Machine Learning for Business ProfessionalsAdvanced Machine Learning for Business Professionals
Advanced Machine Learning for Business ProfessionalsVICTOR MAESTRE RAMIREZ
 
Generative AI for Social Good at Open Data Science East 2024
Generative AI for Social Good at Open Data Science East 2024Generative AI for Social Good at Open Data Science East 2024
Generative AI for Social Good at Open Data Science East 2024Colleen Farrelly
 
办理(UWIC毕业证书)英国卡迪夫城市大学毕业证成绩单原版一比一
办理(UWIC毕业证书)英国卡迪夫城市大学毕业证成绩单原版一比一办理(UWIC毕业证书)英国卡迪夫城市大学毕业证成绩单原版一比一
办理(UWIC毕业证书)英国卡迪夫城市大学毕业证成绩单原版一比一F La
 
Predicting Salary Using Data Science: A Comprehensive Analysis.pdf
Predicting Salary Using Data Science: A Comprehensive Analysis.pdfPredicting Salary Using Data Science: A Comprehensive Analysis.pdf
Predicting Salary Using Data Science: A Comprehensive Analysis.pdfBoston Institute of Analytics
 
办理(UC毕业证书)堪培拉大学毕业证成绩单原版一比一
办理(UC毕业证书)堪培拉大学毕业证成绩单原版一比一办理(UC毕业证书)堪培拉大学毕业证成绩单原版一比一
办理(UC毕业证书)堪培拉大学毕业证成绩单原版一比一z xss
 

Último (20)

INTRODUCTION TO Natural language processing
INTRODUCTION TO Natural language processingINTRODUCTION TO Natural language processing
INTRODUCTION TO Natural language processing
 
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024
 
办美国加州大学伯克利分校毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
办美国加州大学伯克利分校毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree办美国加州大学伯克利分校毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
办美国加州大学伯克利分校毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
 
Easter Eggs From Star Wars and in cars 1 and 2
Easter Eggs From Star Wars and in cars 1 and 2Easter Eggs From Star Wars and in cars 1 and 2
Easter Eggs From Star Wars and in cars 1 and 2
 
Defining Constituents, Data Vizzes and Telling a Data Story
Defining Constituents, Data Vizzes and Telling a Data StoryDefining Constituents, Data Vizzes and Telling a Data Story
Defining Constituents, Data Vizzes and Telling a Data Story
 
RS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝Delhi
RS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝DelhiRS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝Delhi
RS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝Delhi
 
Student Profile Sample report on improving academic performance by uniting gr...
Student Profile Sample report on improving academic performance by uniting gr...Student Profile Sample report on improving academic performance by uniting gr...
Student Profile Sample report on improving academic performance by uniting gr...
 
Real-Time AI Streaming - AI Max Princeton
Real-Time AI  Streaming - AI Max PrincetonReal-Time AI  Streaming - AI Max Princeton
Real-Time AI Streaming - AI Max Princeton
 
SWOT Analysis Slides Powerpoint Template.pptx
SWOT Analysis Slides Powerpoint Template.pptxSWOT Analysis Slides Powerpoint Template.pptx
SWOT Analysis Slides Powerpoint Template.pptx
 
Student profile product demonstration on grades, ability, well-being and mind...
Student profile product demonstration on grades, ability, well-being and mind...Student profile product demonstration on grades, ability, well-being and mind...
Student profile product demonstration on grades, ability, well-being and mind...
 
办理(Vancouver毕业证书)加拿大温哥华岛大学毕业证成绩单原版一比一
办理(Vancouver毕业证书)加拿大温哥华岛大学毕业证成绩单原版一比一办理(Vancouver毕业证书)加拿大温哥华岛大学毕业证成绩单原版一比一
办理(Vancouver毕业证书)加拿大温哥华岛大学毕业证成绩单原版一比一
 
NO1 Certified Black Magic Specialist Expert Amil baba in Lahore Islamabad Raw...
NO1 Certified Black Magic Specialist Expert Amil baba in Lahore Islamabad Raw...NO1 Certified Black Magic Specialist Expert Amil baba in Lahore Islamabad Raw...
NO1 Certified Black Magic Specialist Expert Amil baba in Lahore Islamabad Raw...
 
Identifying Appropriate Test Statistics Involving Population Mean
Identifying Appropriate Test Statistics Involving Population MeanIdentifying Appropriate Test Statistics Involving Population Mean
Identifying Appropriate Test Statistics Involving Population Mean
 
How we prevented account sharing with MFA
How we prevented account sharing with MFAHow we prevented account sharing with MFA
How we prevented account sharing with MFA
 
RABBIT: A CLI tool for identifying bots based on their GitHub events.
RABBIT: A CLI tool for identifying bots based on their GitHub events.RABBIT: A CLI tool for identifying bots based on their GitHub events.
RABBIT: A CLI tool for identifying bots based on their GitHub events.
 
Advanced Machine Learning for Business Professionals
Advanced Machine Learning for Business ProfessionalsAdvanced Machine Learning for Business Professionals
Advanced Machine Learning for Business Professionals
 
Generative AI for Social Good at Open Data Science East 2024
Generative AI for Social Good at Open Data Science East 2024Generative AI for Social Good at Open Data Science East 2024
Generative AI for Social Good at Open Data Science East 2024
 
办理(UWIC毕业证书)英国卡迪夫城市大学毕业证成绩单原版一比一
办理(UWIC毕业证书)英国卡迪夫城市大学毕业证成绩单原版一比一办理(UWIC毕业证书)英国卡迪夫城市大学毕业证成绩单原版一比一
办理(UWIC毕业证书)英国卡迪夫城市大学毕业证成绩单原版一比一
 
Predicting Salary Using Data Science: A Comprehensive Analysis.pdf
Predicting Salary Using Data Science: A Comprehensive Analysis.pdfPredicting Salary Using Data Science: A Comprehensive Analysis.pdf
Predicting Salary Using Data Science: A Comprehensive Analysis.pdf
 
办理(UC毕业证书)堪培拉大学毕业证成绩单原版一比一
办理(UC毕业证书)堪培拉大学毕业证成绩单原版一比一办理(UC毕业证书)堪培拉大学毕业证成绩单原版一比一
办理(UC毕业证书)堪培拉大学毕业证成绩单原版一比一
 

Why NBC Universal 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
  • 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 Provisioning Instances Access to Ops Manager Downtime / Patching Storage / Data Retention Alerts Lagged in Getting to Right Individuals and Teams 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 Prior Challenge Benefits of Atlas Migration
  • 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:
  • 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
  • 39. Fill out the session evaluation form for a chance to win our Datavail headphones!
  • 40. Stop by our booth for a chance to win: Datavailopoly Our GRAND PRIZE: Oculus Go Standalone Virtual Reality Headset - 64GB OR

Notas del editor

  1. Determine if Dan will play moderator role for the breakout session. If so should we include his name on the title slide. Charleste Will own this slide and open up the event Thank everyone for joining!
  2. Charleste will own this slide
  3. Need to validate metrics to be consistent with other Datavail messaging If Dan moderates then he will present this slide. If not then Charleste will present this slide The audience is here to learn. So make sure this is not a sales pitch, but background on the experience Datavail has working with many customers to address their business and technical needs which enables us to share what we have learned so others can benefit
  4. Trinh will own this slide “Nuwin” or “n-Win”
  5. This slide is wordy. Is it ok if the formal company message at the bottom is trimmed down? Trinh will own this slide Thank Charlese for the Intro and talk about E!’s as a linear TV network that also maintains a strong digital presence due to its global news operations (Celebrity & Entertainment News) Bread and butter is Red Carpet and Live Events Also we run our own awards show with last year being the first People’s Choice Awards owned by E! I’m going to throw It back to Charleste to talk about some of our pain points and why we decided to move to Atlas, and then come back and recap some of the technical challenges that NBCUniversal and my development team had to deal with directly.
  6. Agenda to set the stage for what the Audience will see and learn
  7. Trinh will own this slide Talk about where E! was: Originally when we moved from Datacenter to AWS, we figured just running Databases on EC2 would be enough. Set it up and forget it. Running the underlying infrastructure for OpsManager, the Replica sets power OpsManager, and the databases themselves (including patching the CentOS operating systems) became time consuming for my sys-admin (2) who were trying to lean into DevOps practices Managing a support ticket in our JIRA and then a Service Now ticket with Datavail, and coordinate back and forth between infra, engineering, and Datavail was slow for new projects as well as maintenance – It ate up time that my small team needed for more product development.
  8. Potentially pull some of thoughts from Trinh’s (slide notes on the NBC Universal overview slide) Build Digital Products Quickly = to compete in the digital publishing spaced = singular location to store our structured, semi-structured, and unstructured data for various applications HA and SSL encrypted - Databases designed to be distributed in the cloud Streamline Operational costs = allow Mongo to manage the underlying infrastructure & software updates + allow my developers to do more configuration and tuning outside of the application (reduce people dependency/communication back and forth) Keep our databases updated consistently in order to leverage new features as they present themselves Intuitive metrics = Database health and performance, easily reconfigurable, straight forward billing viewability/estimations, & Dashboard/chart creation
  9. Trinh will own this slide Talk about the amount of time and logistics needed to interface with the engineering team and the Datavail team, anywhere from 8-20hrs per week for the team just for maintenance items. Upgrading/Patching was more reactive then proactive and needing to communicate downtime across teams was time consuming Developers were always focused on application performance but we needed to give additional value to database performance tuning
  10. Trinh will own this slide Environment  We were running MongoDB Opsmanager 3.6 & MongoDB 3.6 Databases The DEV and TEST environments had one cluster The PROD cluster had two clusters – emongo and eolbud (We consolidated into one emongo cluster post migration) PROD clusters had three node replica set (One Primary and two secondary) Opsmanager HTTP Serivce (UI) and backup agent were running on one EC2 instance. This agent was also used to store HeadDB and snapshots Opsmanager application database and Oplog store database were stored in 3 EC2 instances where one EC2 instance was running two mongod processes on different ports. NEW Environment (MongoDB Atlas)  ·         We are running MongoDB 3.6.12 ·         Environments are DEV, TEST and PROD (DEV and TEST are on the same project and PROD is on a separate project in MongoDB Atlas)
  11. Charleste will own this slide Talk how Datavail supported the E! account and what were the problems or inefficiencies?
  12. Trinh will own this slide Even with a well planned migration, we ran into some precursory issues we needed to address before using the Atlas product. Let me talk you through what one of our technical challenges (not software or workflow) to adoption was… These are the top challenges that Sig suggest Trinh covers Network Connection / Connectivity Restrictions VPC Peering & Setting Up Subnets Configuring SRV within Route 53 Updating Application Drivers
  13. Trinh will own this slide
  14. Trinh will own this slide The biggest issue was the developer experience and access
  15. Trinh will own this slide There are always nuances
  16. Trinh will own this slide VPC peering between Atlas and internal environment Put records of Atlas cluster nodes in route 53 in AWS Mapping was done and they were able to connect
  17. Trinh will own this slide
  18. Trinh will own this slide Application hosts-to-Atlas cluster were showing better performance response times then Application host-to-MongoEnterprise on EC2
  19. Trinh will own this slide
  20. Trinh will own this slide The use of SRV records eliminates the requirement for every client to pass in a complete set of state information for the cluster. Instead, a single SRV record identifies all the nodes associated with the cluster (and their port numbers) and an associated TXT record defines the options for the URI. Normally SRV would have gained us  the complexity of the cluster and its configuration parameters are stored in the DNS server and hidden from the end user. If a node's IP address or name changes or we want to change the replica set name, this can all now be done completely transparently from the client’s perspective. We can also add and remove nodes from a cluster without impacting clients.
  21. Trinh will own this slide Check your driver version when it is packaged with SpringData Cutover Timing - While many of our applications have a singular driver configuration location, we still have some legacy applications ~5 that need their drivers updated manually. Therefore cutover timing is important depending on if an application is focused more on read only vs read/write. Regression testing on new drivers just like you would new features or new database versions – what in your application is relying on deprecated features?
  22. Charleste – The Actual Migration
  23. Charleste will own this slide
  24. Charleste will own this slide
  25. Charleste will own this slide
  26. Charleste will own this slide
  27. Charleste will own this slide
  28. Charleste will own this slide
  29. Charleste will own this slide
  30. Charleste will own this slide
  31. Trinh will own this slide
  32. Charleste will own this slide
  33. Charleste will own this slide
  34. Charleste will own this slide