MongoDB World 2016: Do What Matters: Migrating to Self-Managed Infrastructure
Brian Scanlan
Engineering Manager at Intercom
@brian_scanlan
What is Intercom?
Intercom is one place for every team in an internet
business to communicate with customers, personally, at
scale—on your website, inside web and mobile apps, and
by email.
MongoDB World 2016: Do What Matters: Migrating to Self-Managed Infrastructure
Do What Matters:
Migrating to Self-
Managed
Infrastructure
MongoDB World 2016: Do What Matters: Migrating to Self-Managed Infrastructure
Things that actually matter
🔒Security🔒
Making 💰💰💰
MongoDB World 2016: Do What Matters: Migrating to Self-Managed Infrastructure
MongoDB World 2016: Do What Matters: Migrating to Self-Managed Infrastructure
MongoDB World 2016: Do What Matters: Migrating to Self-Managed Infrastructure
MongoDB World 2016: Do What Matters: Migrating to Self-Managed Infrastructure
💩👖
Team Infrastructure core values
1. Security, Availability, Performance,
Scalability, Cost, Efficiency - prioritize
for maximum impact
2. Faster, Safer, Easier, Shipping
3. Zero Touch Ops
4. Run Less Software
“Let’s run more software”
MongoDB World 2016: Do What Matters: Migrating to Self-Managed Infrastructure
(Mostly) downtime-
free migration 👍
MongoDB World 2016: Do What Matters: Migrating to Self-Managed Infrastructure
MongoDB World 2016: Do What Matters: Migrating to Self-Managed Infrastructure
Intercom App and Intercom tags required a custom migration:
1. Create “DMZ” hosts with identically named replica-sets
2. Ask nicely for the keyfile from third party, install on DMZ hosts
3. Using rs.add(), add DMZ hosts to MongoHQ replica-sets and sync data over
4. Restart DMZ replica set hosts with MMS replica set key, detach from MongoHQ
replica set
5. Low level hackery to make replica-set as MMS expects: db.system.replset.update()
to manipulate replica-set member IDs, and quickly removing/inserting admin users
(Almost) downtime-free migration 👍
“We were paying $x a month, now we’re paying
AWS/MongoDB $y a month for our MongoDB
hosting, a cost saving of 62%”
MongoDB World 2016: Do What Matters: Migrating to Self-Managed Infrastructure
Interesting discoveries at scale
Ruby MongoDB driver defaults
/etc/security/limits.d/999-intercom.conf:
mongod - nofile 640000
mongod - nproc 640000
/etc/sysctl.conf
kernel.pid_max = 655360
net.ipv4.tcp_max_syn_backlog = 204800
Wrote a document identifying problem
Cost estimates
Operations estimates
Started playing around with MMS
Wrote “Intermission”
Benchmarked available host types
Moved test accounts to AWS hosted
MongoDB
Tuned drivers, hosts
Verified backups work well
Verified rollback plan
Pointed canary monitoring at new infrastructure
Setup new alarming
Broke a server to see what happened
Moved real customers over
More even more customers over
Finished moving customers over
Changed host type to i2.8xlarge
Rotated credentials
More host tuning
…
🙀 problems are worth solving
when the impact matters
dvara
(proxying MongoDB
FTW)
MongoDB World 2016: Do What Matters: Migrating to Self-Managed Infrastructure
MongoDB World 2016: Do What Matters: Migrating to Self-Managed Infrastructure
MongoDB World 2016: Do What Matters: Migrating to Self-Managed Infrastructure
MongoDB World 2016: Do What Matters: Migrating to Self-Managed Infrastructure
🙀 problems are worth
solving when the impact
matters
Thanks
@brian_scanlan

More Related Content

PPT
How Hard Is It To Hack A Pc
PDF
BreakingPoint & McAfee RSA Conference 2011 Presentation: Data Sheets Lie
PDF
Umbrella roaming-customer-facing
PDF
BreakingPoint & Crossbeam RSA Conference 2011 Presentation: Evaluating High P...
PPTX
CIS Control Solution Guide
PDF
BreakingPoint & Juniper RSA Conference 2011 Presentation: Evaluating The Juni...
PPTX
How to Test High-Performance Next-Generation Firewalls
PDF
BreakingPoint & Juniper RSA Conference 2011 Presentation: Securing the High P...
How Hard Is It To Hack A Pc
BreakingPoint & McAfee RSA Conference 2011 Presentation: Data Sheets Lie
Umbrella roaming-customer-facing
BreakingPoint & Crossbeam RSA Conference 2011 Presentation: Evaluating High P...
CIS Control Solution Guide
BreakingPoint & Juniper RSA Conference 2011 Presentation: Evaluating The Juni...
How to Test High-Performance Next-Generation Firewalls
BreakingPoint & Juniper RSA Conference 2011 Presentation: Securing the High P...

Viewers also liked (20)

PPTX
MongoDB World 2016: Building Infrastructure to Enable Giant ideas
PPTX
Re-Architecting with MongoDB 
PDF
Creating a Modern Data Architecture for Digital Transformation
PPT
Bonnaroo
PPTX
1.10 Variations
PPT
Vietnameplan
PDF
MongoDB World 2016: Smart Strategies for Resilient Applications
PPTX
Webinar: Navigate Your Way through a MongoDB Collection with Compass
PPT
Vietnamese Ndt
PDF
Di Wsp Ppt
PPT
My Baba
PDF
Krassimir fotev if-the-internet-tracks-you-why-dont-you-track-yourself-2
PPT
比手画脚
PPTX
Retour aux fondamentaux : Penser en termes de documents
PPTX
MongoDB World 2016: Lunch & Learn: Google Cloud for the Enterprise
PDF
Webinar: MongoDB Connector for Spark
PDF
Intro To MongoDB
PPTX
MongoDB World 2016: Keynote
PDF
MongoDB Launchpad 2016: MongoDB 3.4: Your Database Evolved
PDF
MongoDB World 2016: Scaling MongoDB with Docker and cGroups
MongoDB World 2016: Building Infrastructure to Enable Giant ideas
Re-Architecting with MongoDB 
Creating a Modern Data Architecture for Digital Transformation
Bonnaroo
1.10 Variations
Vietnameplan
MongoDB World 2016: Smart Strategies for Resilient Applications
Webinar: Navigate Your Way through a MongoDB Collection with Compass
Vietnamese Ndt
Di Wsp Ppt
My Baba
Krassimir fotev if-the-internet-tracks-you-why-dont-you-track-yourself-2
比手画脚
Retour aux fondamentaux : Penser en termes de documents
MongoDB World 2016: Lunch & Learn: Google Cloud for the Enterprise
Webinar: MongoDB Connector for Spark
Intro To MongoDB
MongoDB World 2016: Keynote
MongoDB Launchpad 2016: MongoDB 3.4: Your Database Evolved
MongoDB World 2016: Scaling MongoDB with Docker and cGroups
Ad

Similar to MongoDB World 2016: Do What Matters: Migrating to Self-Managed Infrastructure (20)

PDF
High performance Infrastructure Oct 2013
PDF
AI-Driven Observability: Proactive DBA Support from MyDBOps
PPTX
Commissioning, Managing & Troubleshooting Industrial Networks
PPTX
Black Friday and Cyber Monday- Best Practices for Your E-Commerce Database
PPTX
A Year in Google - Percona Live Europe 2018
PDF
Cyberoam-Techsheet
PPTX
Industrial Internet of Things and (Machine to Machine) M2M Overview
PPTX
Production deployment
PPTX
Webinar: Deploying MongoDB to Production in Data Centers and the Cloud
PPTX
Console park
PPTX
Keynote - Speaker: Grigori Melnik
PDF
Agile and compliant firewall ACL configuration management for DevOps
PPTX
Automate MongoDB with MongoDB Management Service
PDF
Webinar slides: 9 DevOps Tips for Going in Production with Galera Cluster for...
PDF
From scheduled downtime to self-healing
PDF
From the Internet of Things to Intelligent Systems A Developer's Primer - Gar...
PPTX
consolepark
PDF
Leveraging the Cloud: Getting the more bang for your buck
KEY
Cloud tools
KEY
Dibi Conference 2012
High performance Infrastructure Oct 2013
AI-Driven Observability: Proactive DBA Support from MyDBOps
Commissioning, Managing & Troubleshooting Industrial Networks
Black Friday and Cyber Monday- Best Practices for Your E-Commerce Database
A Year in Google - Percona Live Europe 2018
Cyberoam-Techsheet
Industrial Internet of Things and (Machine to Machine) M2M Overview
Production deployment
Webinar: Deploying MongoDB to Production in Data Centers and the Cloud
Console park
Keynote - Speaker: Grigori Melnik
Agile and compliant firewall ACL configuration management for DevOps
Automate MongoDB with MongoDB Management Service
Webinar slides: 9 DevOps Tips for Going in Production with Galera Cluster for...
From scheduled downtime to self-healing
From the Internet of Things to Intelligent Systems A Developer's Primer - Gar...
consolepark
Leveraging the Cloud: Getting the more bang for your buck
Cloud tools
Dibi Conference 2012
Ad

More from MongoDB (20)

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

Recently uploaded (20)

PPT
Geologic Time for studying geology for geologist
PPTX
Web Crawler for Trend Tracking Gen Z Insights.pptx
PPTX
Benefits of Physical activity for teenagers.pptx
PDF
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
PDF
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
PDF
Getting started with AI Agents and Multi-Agent Systems
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
A review of recent deep learning applications in wood surface defect identifi...
PDF
Getting Started with Data Integration: FME Form 101
PPTX
observCloud-Native Containerability and monitoring.pptx
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
DP Operators-handbook-extract for the Mautical Institute
PDF
Taming the Chaos: How to Turn Unstructured Data into Decisions
PDF
Hybrid model detection and classification of lung cancer
PDF
Architecture types and enterprise applications.pdf
PDF
WOOl fibre morphology and structure.pdf for textiles
PDF
NewMind AI Weekly Chronicles – August ’25 Week III
PDF
STKI Israel Market Study 2025 version august
DOCX
search engine optimization ppt fir known well about this
PDF
A comparative study of natural language inference in Swahili using monolingua...
Geologic Time for studying geology for geologist
Web Crawler for Trend Tracking Gen Z Insights.pptx
Benefits of Physical activity for teenagers.pptx
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
Getting started with AI Agents and Multi-Agent Systems
Assigned Numbers - 2025 - Bluetooth® Document
A review of recent deep learning applications in wood surface defect identifi...
Getting Started with Data Integration: FME Form 101
observCloud-Native Containerability and monitoring.pptx
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
DP Operators-handbook-extract for the Mautical Institute
Taming the Chaos: How to Turn Unstructured Data into Decisions
Hybrid model detection and classification of lung cancer
Architecture types and enterprise applications.pdf
WOOl fibre morphology and structure.pdf for textiles
NewMind AI Weekly Chronicles – August ’25 Week III
STKI Israel Market Study 2025 version august
search engine optimization ppt fir known well about this
A comparative study of natural language inference in Swahili using monolingua...

MongoDB World 2016: Do What Matters: Migrating to Self-Managed Infrastructure

  • 2. Brian Scanlan Engineering Manager at Intercom @brian_scanlan
  • 3. What is Intercom? Intercom is one place for every team in an internet business to communicate with customers, personally, at scale—on your website, inside web and mobile apps, and by email.
  • 5. Do What Matters: Migrating to Self- Managed Infrastructure
  • 7. Things that actually matter 🔒Security🔒 Making 💰💰💰
  • 13. Team Infrastructure core values 1. Security, Availability, Performance, Scalability, Cost, Efficiency - prioritize for maximum impact 2. Faster, Safer, Easier, Shipping 3. Zero Touch Ops 4. Run Less Software
  • 14. “Let’s run more software”
  • 19. Intercom App and Intercom tags required a custom migration: 1. Create “DMZ” hosts with identically named replica-sets 2. Ask nicely for the keyfile from third party, install on DMZ hosts 3. Using rs.add(), add DMZ hosts to MongoHQ replica-sets and sync data over 4. Restart DMZ replica set hosts with MMS replica set key, detach from MongoHQ replica set 5. Low level hackery to make replica-set as MMS expects: db.system.replset.update() to manipulate replica-set member IDs, and quickly removing/inserting admin users (Almost) downtime-free migration 👍
  • 20. “We were paying $x a month, now we’re paying AWS/MongoDB $y a month for our MongoDB hosting, a cost saving of 62%”
  • 22. Interesting discoveries at scale Ruby MongoDB driver defaults /etc/security/limits.d/999-intercom.conf: mongod - nofile 640000 mongod - nproc 640000 /etc/sysctl.conf kernel.pid_max = 655360 net.ipv4.tcp_max_syn_backlog = 204800
  • 23. Wrote a document identifying problem Cost estimates Operations estimates Started playing around with MMS Wrote “Intermission” Benchmarked available host types Moved test accounts to AWS hosted MongoDB Tuned drivers, hosts Verified backups work well Verified rollback plan Pointed canary monitoring at new infrastructure Setup new alarming Broke a server to see what happened Moved real customers over More even more customers over Finished moving customers over Changed host type to i2.8xlarge Rotated credentials More host tuning …
  • 24. 🙀 problems are worth solving when the impact matters
  • 30. 🙀 problems are worth solving when the impact matters