SlideShare a Scribd company logo
MONGODB, OPS MANAGER &
DOCKER @ SNCF
Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
MONGODB EUROPE 2016 - NOV 15th - LONDON
FEEDBACK ON HOW TO DEPLOY MONGODB REPLICASET IN LESS
THAN 5 MINUTES ! (PROOF OF CONCEPT)
MONGODB EUROPE 2016 - NOV 15th - LONDON
Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
AGENDA
01.
MONGODB , PRESENTATION OF THE CONTEXT @ SNCF :
Needs & Goals
02.
INGREDIENTS / PRE-REQUISITES
03.
RECIPES & ORCHESTRATION :
how to combine Docker & Ops Manager for mongodb replicaset ?
04.
CONCLUSION:
Next steps & Improvements
MONGODB EUROPE 2016 - NOV 15th - LONDON
Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
MONGODB EUROPE 2016 - NOV 15th - LONDON
Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
ABOUT SNCF
BUSINESS PROFILE
MONGODB EUROPE 2016 - NOV 15th - LONDON
Transport Group offering B to B and B to C services in several fields :
Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
MONGODB EUROPE 2016 - NOV 15th - LONDON
Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
ABOUT SNCF
IT @ SNCF
MONGODB EUROPE 2016 - NOV 15th - LONDON
“Production IT” is the operator serving the
IT System Departments of the group. DC #3
DC #1a
DC #1b
DC #2
Physical
servers
SmartphonesWorkstationsFixed
telephone
line
Operated
applications
Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
MONGODB EUROPE 2016 - NOV 15th - LONDON
Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
NEEDS WANTS
HIGH AVAILABILITY
DELIVERY TIME
INDUSTRIALIZE
OPERATIONS
SIMPLIFICATION
SHARED SERVICES
AFFORDABLE PRICE
GOALS
RESILIENT
FASTER
CHEAPER
NEEDS AND GOALSSERVICE OFFER
MONGODB EUROPE 2016 - NOV 15th - LONDON
Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
TRANSLATING THE REQUIREMENTS
MONGODB EUROPE 2016 - NOV 15th - LONDON
Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
CHEAPER
FASTER
MORE RESILIENT
SHARED INFRASTRUCTURE
AUTOMATED DEPLOYMENT
BACKUP, ALERTING POLICY
MONGODB EUROPE 2016 - NOV 15th - LONDON
Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
SELECTING INGREDIENTS
SHARED
INFRASTRUCTURE
HARDWARE CLUSTER DOCKER
3 large servers (256 GB/6 TB)
3 Data Center rooms
MONGODB EUROPE 2016 - NOV 15th - LONDON
Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
CHEAPER
Lightweight containers
Full autonomy
Very fast startup
FASTER AUTOMATION
MONGODB EUROPE 2016 - NOV 15th - LONDON
Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
DOCKER
MONGODB EUROPE 2016 - NOV 15th - LONDON
Type of container : Small/
Medium/Xlarge
Server details
Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
MONGODB EUROPE 2016 - NOV 15th - LONDON
Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
SELECTING INGREDIENTS
FASTER RESILIENTAUTOMATION
BACKUP,
ALERTS
OPS MANAGER
MongoDB’s
Management
Solution
MONGODB EUROPE 2016 - NOV 15th - LONDON
Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
OPS MANAGER
MANAGEMENT
•  MONITORING
•  BACKUP
•  AUTOMATION
•  FULLY API-
DRIVEABLE
MONGODB EUROPE 2016 - NOV 15th - LONDON
Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
INGREDIENTS
MONGODB EUROPE 2016 - NOV 15th - LONDON
1. OPS MANAGER
FASTER AND
MORE RELIABLE
DEPLOYMENTS
3 nodes for HA
2 MongoDB
Enterprise Replica
Sets
OPS 1
OPS Manager
HTTP
Service
Backup
database
(secondaire)
Application
database
(primaire)
Backup
Daemon
Head DB
Head DB
Backup
database
(primaire)
Application
database
(secondaire)
OPS 2
OPS Manager
HTTP
Service
Backup
Daemon
Head DB
Head DB
Application
database
(secondaire)
OPS 3
OPS Manager
HTTP
Service
Backup
Daemon
Head DB
Head DB
Backup
database
(secondaire)
Loadbalancer
VIP
Ops Manager
Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
MONGODB EUROPE 2016 - NOV 15th - LONDON
Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
INGREDIENTS
MONGODB EUROPE 2016 - NOV 15th - LONDON
2. HARDWARE
CLUSTER
CHEAPER
DEPLOYMENT OF
MONGODB
Linux Ubuntu 16.04
64bits /
256 GB RAM
Pool of 30 IPs pre-
allocated per server
(10Gb network interface)
Local SSD (6TB) storage
per server
And some basic orchestration : bash, python script ….
Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
MONGODB EUROPE 2016 - NOV 15th - LONDON
Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
INGREDIENTS
MONGODB EUROPE 2016 - NOV 15th - LONDON
3. DOCKER
ENGINE (V1.11)
CHEAPER, FASTER
DEPLOYMENTS
Standardised
MongoDB
deployment: 4
containers
And some basic orchestration : bash, python script ….
Mongodb replicaset
Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
MONGODB EUROPE 2016 - NOV 15th - LONDON
Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
PUTTING IT ALL TOGETHER
MONGODB EUROPE 2016 - NOV 15th - LONDON
1 2
3
Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
MONGODB EUROPE 2016 - NOV 15th - LONDON
Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
Our guideline: simple, simple, simple = only 2 commands
(maybe 3 !)
l  create_replicaset.py	-group	sncf-test	-size	small	–name	
sncf1	-nb	3	–file	passwdfile.csv	-backup	default	-alerting	
default	-env	prod	–version	3.4	-dryrun
l  remove_replicaset.py	-name	replicaset-name	
	
RECIPE & ORCHESTRATION
MONGODB EUROPE 2016 - NOV 15th - LONDON
In	the	future:		
upgrade_replicaset.py	–name	replicaset-name	–size	large	–nb	nb-
replicaset-member	–env	prod	
Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
MONGODB EUROPE 2016 - NOV 15th - LONDON
Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
create_replicaset.py	–help	
		
	-group	group_name	
	-size	container’s	size	S/M/XL	
	–name	replicaset-name		
	-nb	nodes	(3/3a/5/5a)	
	-file		passwordfile.csv	
	-backup	policy	
	-alerting	policy	
	-env	prod/preprod		
	-version	3.2.10		
	-dryrun	(reporting	only)	
	-help	This	help	message
	
MONGODB EUROPE 2016 - NOV 15th - LONDON
Ops Manager API – Create Group
Docker – Create Image
Capacity Planning
RECIPE & ORCHESTRATION
Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
MONGODB EUROPE 2016 - NOV 15th - LONDON
Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
MONGODB EUROPE 2016 - NOV 15th - LONDON
r	=	requests.post(host	+	
							"/api/public/v1.0/groups",	
				auth=HTTPDigestAuth(user,	key),	
				headers=headers,	
				data=json.dumps(payload))	
j	=	r.json()	
	
group_id	=	j["id"]	
agent_api_key	=	j["agentApiKey"]	
RECIPE & ORCHESTRATION
Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
Ops Manager API –
Create Group
Docker – Create Image
Capacity Planning
MONGODB EUROPE 2016 - NOV 15th - LONDON
Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
MONGODB EUROPE 2016 - NOV 15th - LONDON
RECIPE & ORCHESTRATION
Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
Ops Manager API – Create Group
Docker – Create Image
Capacity Planning
	
Dockerfile:	
	
FROM	ubuntu-sncf:16.04	
MAINTAINER	ext.osmozium.david.tsang-hin-
sun@sncf.fr	
RUN	apt-get	update	
RUN	apt-get	install	-y	net-tools	
RUN	apt-get	install	-y	vim-tiny	
RUN	apt-get	install	-y	aptitude	
RUN	apt-get	install	-y	libsasl2-2	
RUN	apt-get	install	-y	ssl-cert	ca-certificates	
openssl	
RUN	apt-get	install	-y	munin-node	
ADD	mongodb-mms-automation-agent-
manager_2.5.18.1647-1_amd64.deb	/tmp/mongodb-mms-
automation-agent-manager_2.5.18.1647-1_amd64.deb	
RUN	dpkg	-i	/tmp/mongodb-mms-automation-agent-
manager_2.5.18.1647-1_amd64.deb	
ADD	automation-agent.config	/etc/mongodb-mms/
automation-agent.config	
RUN	chown	mongodb:mongodb	/etc/mongodb-mms/
automation-agent.config	
RUN	chmod	600	/etc/mongodb-mms/automation-
agent.config	
RUN	mkdir	/data	&&	chown	-R	mongodb:mongodb	/data	
ADD	runautomationagent.sh	/runautomationagent.sh	
ENTRYPOINT	/runautomationagent.sh	&&	bash
MONGODB EUROPE 2016 - NOV 15th - LONDON
Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
MONGODB EUROPE 2016 - NOV 15th - LONDON
Start containers
Create and mount LVM
Volumes
Reserve IP addresses
RECIPE & ORCHESTRATION
Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
MONGODB EUROPE 2016 - NOV 15th - LONDON
Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
MONGODB EUROPE 2016 - NOV 15th - LONDON
Start containers
Create and mount LVM Volumes
Reserve IP addresses
RECIPE & ORCHESTRATION
Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
MONGODB EUROPE 2016 - NOV 15th - LONDON
Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
MONGODB EUROPE 2016 - NOV 15th - LONDON
Start containers
Create and mount LVM Volumes
Reserve IP addresses
RECIPE & ORCHESTRATION
Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
docker	run	--name	$replica-node-$n		
--restart=always	-d	-h	AAA.BBB.CCC.DDD	-m	2G		
--cpu-shares	1024	--blkio-weight=300		
	-p	AAA.BBB.CCC.DDD:27017:27017	-ti		
-v	/data/replicaset1/AAA.BBB.CCC.DDD:/data:rw	–v		
/home/docker/vol/replicaset1/AAA.BBB.CCC.DDD:/var/
lib/mongodb-mms-automation/:rw	sncf/ubuntu-
replicaset1:16.04	/bin/bash
MONGODB EUROPE 2016 - NOV 15th - LONDON
Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
MONGODB EUROPE 2016 - NOV 15th - LONDON
Ops Manager Backup API
Ops Manager Alerts API
create_replicaset.py	–help	
		
	-group	group_name	
	-size	container’s	size	S/M/XL	
	–name	replicaset-name		
	-nb	nodes	(3/3a/5/5a)	
	-file		passwordfile.csv	
	-backup	policy	
	-alerting	policy	
	-env	prod/preprod		
	-version	3.2.10		
	-dryrun	(reporting	only)	
	-help	This	help	message
	
	
	
	
"replicaSets":	[	
						{	
								"_id":	"testReplicaSet",	
								"members":	[	
												{	
																"_id":	0,	
																"arbiterOnly":	false,	
																"hidden":	false,	
																"host":	"testReplicaSet_0",	
																"priority":	10,	
																"slaveDelay":	0,	
																"votes":	1	
												},	
												{	
																"_id":	1,	
																"arbiterOnly":	false,	
																"hidden":	false,	
																"host":	"testReplicaSet_1",	
																"priority":	1,	
																"slaveDelay":	0,	
																"votes":	1	
												},	
												{	
																"_id":	2,	
																"arbiterOnly":	true,	
																"hidden":	false,	
																"host":	"testReplicaSet_2",	
																"priority":	1,	
																"slaveDelay":	0,	
																"votes":	1	
												}	
								]	
						}	
	
	
Ops Manager
Automation API
RECIPE & ORCHESTRATION
Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
MONGODB EUROPE 2016 - NOV 15th - LONDON
Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
MONGODB EUROPE 2016 - NOV 15th - LONDON
Ops Manager Backup
API
Ops Manager Alerts API
Ops Manager Automation API
	
	
	
	
{	
				"clusterId":	"CLUSTER-ID",		
				"dailySnapshotRetentionDays":	7,		
				"groupId":	"BACKUP-ID",		
				"monthlySnapshotRetentionMonths":	13,		
				"pointInTimeWindowHours":	24,		
				"snapshotIntervalHours":	6,		
				"snapshotRetentionDays":	2,		
				"weeklySnapshotRetentionWeeks":	4	
}	
	
RECIPE & ORCHESTRATION
Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
MONGODB EUROPE 2016 - NOV 15th - LONDON
Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
MONGODB EUROPE 2016 - NOV 15th - LONDON
Ops Manager Backup API
Ops Manager Alerts API
Ops Manager Automation API
	
	
	
	
	
{	
				"eventTypeName":	"MONITORING_AGENT_DOWN",	
				"groupId":	"GROUP-ID",	
				"notifications":	[	
								{	
												"delayMin":	0,	
												"emailEnabled":	true,	
												"intervalMin":	60,	
												"smsEnabled":	false,	
												"typeName":	"GROUP"	
								}	
				],	
				"typeName":	"AGENT",	
}	
	
	
RECIPE & ORCHESTRATION
Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
MONGODB EUROPE 2016 - NOV 15th - LONDON
Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
MONGODB EUROPE 2016 - NOV 15th - LONDON
Notify user
RECIPE & ORCHESTRATION
Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
MONGODB EUROPE 2016 - NOV 15th - LONDON
Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
MONGODB EUROPE 2016 - NOV 15th - LONDON
Scalability ?
- Add more physical hosts
Security?
- limit use of Global Owner role in Ops Manager API
Availability?
- Use of 3 Distinct DATACENTERS
Software upgrades?
- Docker 1.12 swarm enabled ? Docker API ?
- Graphical interface for true As A Service experience?
IMPROVEMENTS TO THE RECIPE
Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
MONGODB EUROPE 2016 - NOV 15th - LONDON
Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
CONCLUSION
MONGODB EUROPE 2016 - NOV 15th - LONDON
Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
CHEAPER
FASTER
MORE RESILIENT
Several applications hosted on
shared services
End to end industrialization
Streamline architectures
Availability rate
Recovery point objective
Less than one hour data loss
MONGODB EUROPE 2016 - NOV 15th - LONDON
Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
NEXT STEPS & IMPROVEMENTS
Integrate to a
software
factory
Integrate into
the internal
cloud
Create
a Disaster
Recovery Plan
MONGODB EUROPE 2016 - NOV 15th - LONDON
Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
Next steps ….
…. and improvements
THANKS
MERCI
MONGODB EUROPE 2016 - NOV 15th - LONDON
Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON

More Related Content

What's hot (20)

PPTX
Rolling Out Apache HBase for Mobile Offerings at Visa
HBaseCon
 
PDF
Next Generation Hadoop Operations
Owen O'Malley
 
PPTX
How to ensure Presto scalability 
in multi use case
Kai Sasaki
 
PPTX
Bigdata : Big picture
Zekeriya Besiroglu
 
PDF
ApacheCon 2020 - Flink SQL in 2020: Time to show off!
Timo Walther
 
PDF
23 LAMP Stack #burningkeyboards
Denis Ristic
 
PPTX
HBaseConAsia2018 Track2-4: HTAP DB-System: AsparaDB HBase, Phoenix, and Spark
Michael Stack
 
PDF
Hadoop Networking at Datasift
huguk
 
PPT
January 2011 HUG: Kafka Presentation
Yahoo Developer Network
 
PPTX
Time-Series Apache HBase
HBaseCon
 
PDF
Migrating pipelines into Docker
DataWorks Summit/Hadoop Summit
 
PDF
Mm.. FLaNK Stack (MiNiFi MXNet Flink NiFi Kudu Kafka)
Timothy Spann
 
PDF
HBaseConAsia2018 Track2-6: Scaling 30TB's of data lake with Apache HBase and ...
Michael Stack
 
PDF
Getting Started with Apache Cassandra and Apache Zeppelin (DuyHai DOAN, DataS...
DataStax
 
PDF
Brian Bulkowski. Aerospike
Volha Banadyseva
 
PPTX
Apache Phoenix: Use Cases and New Features
HBaseCon
 
PPTX
How to upgrade like a boss to my sql 8.0?
Alkin Tezuysal
 
PPTX
MongoDB Capacity Planning
Norberto Leite
 
PPT
Real-Time Video Analytics Using Hadoop and HBase (HBaseCon 2013)
Suman Srinivasan
 
PDF
Spark Summit EU talk by Ruben Pulido Behar Veliqi
Spark Summit
 
Rolling Out Apache HBase for Mobile Offerings at Visa
HBaseCon
 
Next Generation Hadoop Operations
Owen O'Malley
 
How to ensure Presto scalability 
in multi use case
Kai Sasaki
 
Bigdata : Big picture
Zekeriya Besiroglu
 
ApacheCon 2020 - Flink SQL in 2020: Time to show off!
Timo Walther
 
23 LAMP Stack #burningkeyboards
Denis Ristic
 
HBaseConAsia2018 Track2-4: HTAP DB-System: AsparaDB HBase, Phoenix, and Spark
Michael Stack
 
Hadoop Networking at Datasift
huguk
 
January 2011 HUG: Kafka Presentation
Yahoo Developer Network
 
Time-Series Apache HBase
HBaseCon
 
Migrating pipelines into Docker
DataWorks Summit/Hadoop Summit
 
Mm.. FLaNK Stack (MiNiFi MXNet Flink NiFi Kudu Kafka)
Timothy Spann
 
HBaseConAsia2018 Track2-6: Scaling 30TB's of data lake with Apache HBase and ...
Michael Stack
 
Getting Started with Apache Cassandra and Apache Zeppelin (DuyHai DOAN, DataS...
DataStax
 
Brian Bulkowski. Aerospike
Volha Banadyseva
 
Apache Phoenix: Use Cases and New Features
HBaseCon
 
How to upgrade like a boss to my sql 8.0?
Alkin Tezuysal
 
MongoDB Capacity Planning
Norberto Leite
 
Real-Time Video Analytics Using Hadoop and HBase (HBaseCon 2013)
Suman Srinivasan
 
Spark Summit EU talk by Ruben Pulido Behar Veliqi
Spark Summit
 

Viewers also liked (20)

PDF
MongoDB Europe 2016 - Using MongoDB to Build a Fast and Scalable Content Repo...
MongoDB
 
PDF
MongoDB Europe 2016 - Star in a Reasonably Priced Car - Which Driver is Best?
MongoDB
 
PDF
MongoDB Europe 2016 - Enabling the Internet of Things at Proximus - Belgium's...
MongoDB
 
PDF
MongoDB Europe 2016 - Advanced MongoDB Aggregation Pipelines
MongoDB
 
PDF
MongoDB Europe 2016 - Debugging MongoDB Performance
MongoDB
 
PDF
MongoDB Europe 2016 - MongoDB 3.4 preview and introduction to MongoDB Atlas
MongoDB
 
PDF
MongoDB Europe 2016 - Deploying MongoDB on NetApp storage
MongoDB
 
PDF
MongoDB Europe 2016 - Graph Operations with MongoDB
MongoDB
 
PDF
MongoDB Europe 2016 - Choosing Between 100 Billion Travel Options – Instant S...
MongoDB
 
PDF
MongoDB Europe 2016 - Welcome
MongoDB
 
PDF
James Tan (MongoDB) - Automate Production-Ready MongoDB Deployments
Outlyer
 
PDF
MongoDB-as-a-Service on Pivotal Cloud Foundry
VMware Tanzu
 
PDF
MongoDB Launchpad 2016: Moving Cybersecurity to the Cloud
MongoDB
 
PDF
MongoDB Europe 2016 - MongoDB Atlas
MongoDB
 
PPTX
L’architettura di Classe Enterprise di Nuova Generazione
MongoDB
 
PDF
MongoDB Europe 2016 - Building WiredTiger
MongoDB
 
PDF
MongoDB Europe 2016 - Who’s Helping Themselves To Your Data? Demystifying Mon...
MongoDB
 
PDF
MongoDB Europe 2016 - Big Data meets Big Compute
MongoDB
 
PDF
MongoDB Europe 2016 - ETL for Pros – Getting Data Into MongoDB The Right Way
MongoDB
 
PPTX
Webinar: Data Streaming with Apache Kafka & MongoDB
MongoDB
 
MongoDB Europe 2016 - Using MongoDB to Build a Fast and Scalable Content Repo...
MongoDB
 
MongoDB Europe 2016 - Star in a Reasonably Priced Car - Which Driver is Best?
MongoDB
 
MongoDB Europe 2016 - Enabling the Internet of Things at Proximus - Belgium's...
MongoDB
 
MongoDB Europe 2016 - Advanced MongoDB Aggregation Pipelines
MongoDB
 
MongoDB Europe 2016 - Debugging MongoDB Performance
MongoDB
 
MongoDB Europe 2016 - MongoDB 3.4 preview and introduction to MongoDB Atlas
MongoDB
 
MongoDB Europe 2016 - Deploying MongoDB on NetApp storage
MongoDB
 
MongoDB Europe 2016 - Graph Operations with MongoDB
MongoDB
 
MongoDB Europe 2016 - Choosing Between 100 Billion Travel Options – Instant S...
MongoDB
 
MongoDB Europe 2016 - Welcome
MongoDB
 
James Tan (MongoDB) - Automate Production-Ready MongoDB Deployments
Outlyer
 
MongoDB-as-a-Service on Pivotal Cloud Foundry
VMware Tanzu
 
MongoDB Launchpad 2016: Moving Cybersecurity to the Cloud
MongoDB
 
MongoDB Europe 2016 - MongoDB Atlas
MongoDB
 
L’architettura di Classe Enterprise di Nuova Generazione
MongoDB
 
MongoDB Europe 2016 - Building WiredTiger
MongoDB
 
MongoDB Europe 2016 - Who’s Helping Themselves To Your Data? Demystifying Mon...
MongoDB
 
MongoDB Europe 2016 - Big Data meets Big Compute
MongoDB
 
MongoDB Europe 2016 - ETL for Pros – Getting Data Into MongoDB The Right Way
MongoDB
 
Webinar: Data Streaming with Apache Kafka & MongoDB
MongoDB
 
Ad

Similar to MongoDB Europe 2016 - MongoDB, Ops Manager & Docker at SNCF (20)

PPTX
MongoDB and DigitalOcean Automation with Cloud Manager
Jay Gordon
 
PDF
Shaping the Future of Travel with MongoDB
MongoDB
 
PPTX
Conceptos básicos. Seminario web 6: Despliegue de producción
MongoDB
 
PPTX
SH 1 - SES 4 - Microservices - Andrew Morgan TLV.pptx
MongoDB
 
PPTX
Webinar: General Technical Overview of MongoDB for Ops Teams
MongoDB
 
PDF
MongoDB Administration 101
MongoDB
 
PDF
MongoDB World 2016: Scaling MongoDB with Docker and cGroups
MongoDB
 
PDF
Scaling MongoDB with Docker and cgroups
marcoita
 
DOCX
What is the significance of MongoDB and what are its usages.docx
kzayra69
 
PDF
MongoDB: Advantages of an Open Source NoSQL Database
FITC
 
PPTX
MongoDB Atlas
MongoDB
 
PPTX
Monitoring MongoDB’s Engines in the Wild
Tim Vaillancourt
 
PDF
Mongodb The Definitive Guide 3rd Edition 3rd Edition Kristina Chodorow Eoin B...
ikareugine
 
KEY
MongoDB vs Mysql. A devops point of view
Pierre Baillet
 
PPTX
Powering Microservices with Docker, Kubernetes, Kafka, and MongoDB
MongoDB
 
PPTX
MongoDB Deployment Checklist
MongoDB
 
KEY
Discover MongoDB - Israel
Michael Fiedler
 
PPTX
mongoDB for sysadmins
Jordi Soucheiron
 
PDF
Python and MongoDB
Norberto Leite
 
PPTX
Powering Microservices with Docker, Kubernetes, Kafka, & MongoDB
MongoDB
 
MongoDB and DigitalOcean Automation with Cloud Manager
Jay Gordon
 
Shaping the Future of Travel with MongoDB
MongoDB
 
Conceptos básicos. Seminario web 6: Despliegue de producción
MongoDB
 
SH 1 - SES 4 - Microservices - Andrew Morgan TLV.pptx
MongoDB
 
Webinar: General Technical Overview of MongoDB for Ops Teams
MongoDB
 
MongoDB Administration 101
MongoDB
 
MongoDB World 2016: Scaling MongoDB with Docker and cGroups
MongoDB
 
Scaling MongoDB with Docker and cgroups
marcoita
 
What is the significance of MongoDB and what are its usages.docx
kzayra69
 
MongoDB: Advantages of an Open Source NoSQL Database
FITC
 
MongoDB Atlas
MongoDB
 
Monitoring MongoDB’s Engines in the Wild
Tim Vaillancourt
 
Mongodb The Definitive Guide 3rd Edition 3rd Edition Kristina Chodorow Eoin B...
ikareugine
 
MongoDB vs Mysql. A devops point of view
Pierre Baillet
 
Powering Microservices with Docker, Kubernetes, Kafka, and MongoDB
MongoDB
 
MongoDB Deployment Checklist
MongoDB
 
Discover MongoDB - Israel
Michael Fiedler
 
mongoDB for sysadmins
Jordi Soucheiron
 
Python and MongoDB
Norberto Leite
 
Powering Microservices with Docker, Kubernetes, Kafka, & MongoDB
MongoDB
 
Ad

More from MongoDB (20)

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

Recently uploaded (20)

PDF
Research Methodology Overview Introduction
ayeshagul29594
 
PDF
Driving Employee Engagement in a Hybrid World.pdf
Mia scott
 
PPTX
b6057ea5-8e8c-4415-90c0-ed8e9666ffcd.pptx
Anees487379
 
PPTX
apidays Helsinki & North 2025 - APIs at Scale: Designing for Alignment, Trust...
apidays
 
PDF
Optimizing Large Language Models with vLLM and Related Tools.pdf
Tamanna36
 
PPTX
04_Tamás Marton_Intuitech .pptx_AI_Barometer_2025
FinTech Belgium
 
PPTX
big data eco system fundamentals of data science
arivukarasi
 
PDF
A GraphRAG approach for Energy Efficiency Q&A
Marco Brambilla
 
PDF
apidays Singapore 2025 - Trustworthy Generative AI: The Role of Observability...
apidays
 
PDF
apidays Singapore 2025 - The API Playbook for AI by Shin Wee Chuang (PAND AI)
apidays
 
PPTX
05_Jelle Baats_Tekst.pptx_AI_Barometer_Release_Event
FinTech Belgium
 
PDF
Technical-Report-GPS_GIS_RS-for-MSF-finalv2.pdf
KPycho
 
PPTX
apidays Helsinki & North 2025 - Running a Successful API Program: Best Practi...
apidays
 
PPTX
apidays Helsinki & North 2025 - From Chaos to Clarity: Designing (AI-Ready) A...
apidays
 
PPTX
Listify-Intelligent-Voice-to-Catalog-Agent.pptx
nareshkottees
 
PPTX
apidays Singapore 2025 - The Quest for the Greenest LLM , Jean Philippe Ehre...
apidays
 
PDF
InformaticsPractices-MS - Google Docs.pdf
seshuashwin0829
 
PPTX
SlideEgg_501298-Agentic AI.pptx agentic ai
530BYManoj
 
PPTX
Feb 2021 Ransomware Recovery presentation.pptx
enginsayin1
 
PPTX
thid ppt defines the ich guridlens and gives the information about the ICH gu...
shaistabegum14
 
Research Methodology Overview Introduction
ayeshagul29594
 
Driving Employee Engagement in a Hybrid World.pdf
Mia scott
 
b6057ea5-8e8c-4415-90c0-ed8e9666ffcd.pptx
Anees487379
 
apidays Helsinki & North 2025 - APIs at Scale: Designing for Alignment, Trust...
apidays
 
Optimizing Large Language Models with vLLM and Related Tools.pdf
Tamanna36
 
04_Tamás Marton_Intuitech .pptx_AI_Barometer_2025
FinTech Belgium
 
big data eco system fundamentals of data science
arivukarasi
 
A GraphRAG approach for Energy Efficiency Q&A
Marco Brambilla
 
apidays Singapore 2025 - Trustworthy Generative AI: The Role of Observability...
apidays
 
apidays Singapore 2025 - The API Playbook for AI by Shin Wee Chuang (PAND AI)
apidays
 
05_Jelle Baats_Tekst.pptx_AI_Barometer_Release_Event
FinTech Belgium
 
Technical-Report-GPS_GIS_RS-for-MSF-finalv2.pdf
KPycho
 
apidays Helsinki & North 2025 - Running a Successful API Program: Best Practi...
apidays
 
apidays Helsinki & North 2025 - From Chaos to Clarity: Designing (AI-Ready) A...
apidays
 
Listify-Intelligent-Voice-to-Catalog-Agent.pptx
nareshkottees
 
apidays Singapore 2025 - The Quest for the Greenest LLM , Jean Philippe Ehre...
apidays
 
InformaticsPractices-MS - Google Docs.pdf
seshuashwin0829
 
SlideEgg_501298-Agentic AI.pptx agentic ai
530BYManoj
 
Feb 2021 Ransomware Recovery presentation.pptx
enginsayin1
 
thid ppt defines the ich guridlens and gives the information about the ICH gu...
shaistabegum14
 

MongoDB Europe 2016 - MongoDB, Ops Manager & Docker at SNCF

  • 1. MONGODB, OPS MANAGER & DOCKER @ SNCF Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON MONGODB EUROPE 2016 - NOV 15th - LONDON FEEDBACK ON HOW TO DEPLOY MONGODB REPLICASET IN LESS THAN 5 MINUTES ! (PROOF OF CONCEPT)
  • 2. MONGODB EUROPE 2016 - NOV 15th - LONDON Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON AGENDA 01. MONGODB , PRESENTATION OF THE CONTEXT @ SNCF : Needs & Goals 02. INGREDIENTS / PRE-REQUISITES 03. RECIPES & ORCHESTRATION : how to combine Docker & Ops Manager for mongodb replicaset ? 04. CONCLUSION: Next steps & Improvements MONGODB EUROPE 2016 - NOV 15th - LONDON Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
  • 3. MONGODB EUROPE 2016 - NOV 15th - LONDON Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON ABOUT SNCF BUSINESS PROFILE MONGODB EUROPE 2016 - NOV 15th - LONDON Transport Group offering B to B and B to C services in several fields : Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
  • 4. MONGODB EUROPE 2016 - NOV 15th - LONDON Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON ABOUT SNCF IT @ SNCF MONGODB EUROPE 2016 - NOV 15th - LONDON “Production IT” is the operator serving the IT System Departments of the group. DC #3 DC #1a DC #1b DC #2 Physical servers SmartphonesWorkstationsFixed telephone line Operated applications Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
  • 5. MONGODB EUROPE 2016 - NOV 15th - LONDON Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON NEEDS WANTS HIGH AVAILABILITY DELIVERY TIME INDUSTRIALIZE OPERATIONS SIMPLIFICATION SHARED SERVICES AFFORDABLE PRICE GOALS RESILIENT FASTER CHEAPER NEEDS AND GOALSSERVICE OFFER
  • 6. MONGODB EUROPE 2016 - NOV 15th - LONDON Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON TRANSLATING THE REQUIREMENTS MONGODB EUROPE 2016 - NOV 15th - LONDON Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON CHEAPER FASTER MORE RESILIENT SHARED INFRASTRUCTURE AUTOMATED DEPLOYMENT BACKUP, ALERTING POLICY
  • 7. MONGODB EUROPE 2016 - NOV 15th - LONDON Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON SELECTING INGREDIENTS SHARED INFRASTRUCTURE HARDWARE CLUSTER DOCKER 3 large servers (256 GB/6 TB) 3 Data Center rooms MONGODB EUROPE 2016 - NOV 15th - LONDON Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON CHEAPER Lightweight containers Full autonomy Very fast startup FASTER AUTOMATION
  • 8. MONGODB EUROPE 2016 - NOV 15th - LONDON Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON DOCKER MONGODB EUROPE 2016 - NOV 15th - LONDON Type of container : Small/ Medium/Xlarge Server details Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
  • 9. MONGODB EUROPE 2016 - NOV 15th - LONDON Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON SELECTING INGREDIENTS FASTER RESILIENTAUTOMATION BACKUP, ALERTS OPS MANAGER MongoDB’s Management Solution
  • 10. MONGODB EUROPE 2016 - NOV 15th - LONDON Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON OPS MANAGER MANAGEMENT •  MONITORING •  BACKUP •  AUTOMATION •  FULLY API- DRIVEABLE
  • 11. MONGODB EUROPE 2016 - NOV 15th - LONDON Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON INGREDIENTS MONGODB EUROPE 2016 - NOV 15th - LONDON 1. OPS MANAGER FASTER AND MORE RELIABLE DEPLOYMENTS 3 nodes for HA 2 MongoDB Enterprise Replica Sets OPS 1 OPS Manager HTTP Service Backup database (secondaire) Application database (primaire) Backup Daemon Head DB Head DB Backup database (primaire) Application database (secondaire) OPS 2 OPS Manager HTTP Service Backup Daemon Head DB Head DB Application database (secondaire) OPS 3 OPS Manager HTTP Service Backup Daemon Head DB Head DB Backup database (secondaire) Loadbalancer VIP Ops Manager Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
  • 12. MONGODB EUROPE 2016 - NOV 15th - LONDON Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON INGREDIENTS MONGODB EUROPE 2016 - NOV 15th - LONDON 2. HARDWARE CLUSTER CHEAPER DEPLOYMENT OF MONGODB Linux Ubuntu 16.04 64bits / 256 GB RAM Pool of 30 IPs pre- allocated per server (10Gb network interface) Local SSD (6TB) storage per server And some basic orchestration : bash, python script …. Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
  • 13. MONGODB EUROPE 2016 - NOV 15th - LONDON Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON INGREDIENTS MONGODB EUROPE 2016 - NOV 15th - LONDON 3. DOCKER ENGINE (V1.11) CHEAPER, FASTER DEPLOYMENTS Standardised MongoDB deployment: 4 containers And some basic orchestration : bash, python script …. Mongodb replicaset Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
  • 14. MONGODB EUROPE 2016 - NOV 15th - LONDON Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON PUTTING IT ALL TOGETHER MONGODB EUROPE 2016 - NOV 15th - LONDON 1 2 3 Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
  • 15. MONGODB EUROPE 2016 - NOV 15th - LONDON Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON Our guideline: simple, simple, simple = only 2 commands (maybe 3 !) l  create_replicaset.py -group sncf-test -size small –name sncf1 -nb 3 –file passwdfile.csv -backup default -alerting default -env prod –version 3.4 -dryrun l  remove_replicaset.py -name replicaset-name RECIPE & ORCHESTRATION MONGODB EUROPE 2016 - NOV 15th - LONDON In the future: upgrade_replicaset.py –name replicaset-name –size large –nb nb- replicaset-member –env prod Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
  • 16. MONGODB EUROPE 2016 - NOV 15th - LONDON Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON create_replicaset.py –help -group group_name -size container’s size S/M/XL –name replicaset-name -nb nodes (3/3a/5/5a) -file passwordfile.csv -backup policy -alerting policy -env prod/preprod -version 3.2.10 -dryrun (reporting only) -help This help message MONGODB EUROPE 2016 - NOV 15th - LONDON Ops Manager API – Create Group Docker – Create Image Capacity Planning RECIPE & ORCHESTRATION Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
  • 17. MONGODB EUROPE 2016 - NOV 15th - LONDON Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON MONGODB EUROPE 2016 - NOV 15th - LONDON r = requests.post(host + "/api/public/v1.0/groups", auth=HTTPDigestAuth(user, key), headers=headers, data=json.dumps(payload)) j = r.json() group_id = j["id"] agent_api_key = j["agentApiKey"] RECIPE & ORCHESTRATION Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON Ops Manager API – Create Group Docker – Create Image Capacity Planning
  • 18. MONGODB EUROPE 2016 - NOV 15th - LONDON Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON MONGODB EUROPE 2016 - NOV 15th - LONDON RECIPE & ORCHESTRATION Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON Ops Manager API – Create Group Docker – Create Image Capacity Planning Dockerfile: FROM ubuntu-sncf:16.04 MAINTAINER ext.osmozium.david.tsang-hin- [email protected] RUN apt-get update RUN apt-get install -y net-tools RUN apt-get install -y vim-tiny RUN apt-get install -y aptitude RUN apt-get install -y libsasl2-2 RUN apt-get install -y ssl-cert ca-certificates openssl RUN apt-get install -y munin-node ADD mongodb-mms-automation-agent- manager_2.5.18.1647-1_amd64.deb /tmp/mongodb-mms- automation-agent-manager_2.5.18.1647-1_amd64.deb RUN dpkg -i /tmp/mongodb-mms-automation-agent- manager_2.5.18.1647-1_amd64.deb ADD automation-agent.config /etc/mongodb-mms/ automation-agent.config RUN chown mongodb:mongodb /etc/mongodb-mms/ automation-agent.config RUN chmod 600 /etc/mongodb-mms/automation- agent.config RUN mkdir /data && chown -R mongodb:mongodb /data ADD runautomationagent.sh /runautomationagent.sh ENTRYPOINT /runautomationagent.sh && bash
  • 19. MONGODB EUROPE 2016 - NOV 15th - LONDON Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON MONGODB EUROPE 2016 - NOV 15th - LONDON Start containers Create and mount LVM Volumes Reserve IP addresses RECIPE & ORCHESTRATION Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
  • 20. MONGODB EUROPE 2016 - NOV 15th - LONDON Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON MONGODB EUROPE 2016 - NOV 15th - LONDON Start containers Create and mount LVM Volumes Reserve IP addresses RECIPE & ORCHESTRATION Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
  • 21. MONGODB EUROPE 2016 - NOV 15th - LONDON Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON MONGODB EUROPE 2016 - NOV 15th - LONDON Start containers Create and mount LVM Volumes Reserve IP addresses RECIPE & ORCHESTRATION Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON docker run --name $replica-node-$n --restart=always -d -h AAA.BBB.CCC.DDD -m 2G --cpu-shares 1024 --blkio-weight=300 -p AAA.BBB.CCC.DDD:27017:27017 -ti -v /data/replicaset1/AAA.BBB.CCC.DDD:/data:rw –v /home/docker/vol/replicaset1/AAA.BBB.CCC.DDD:/var/ lib/mongodb-mms-automation/:rw sncf/ubuntu- replicaset1:16.04 /bin/bash
  • 22. MONGODB EUROPE 2016 - NOV 15th - LONDON Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON MONGODB EUROPE 2016 - NOV 15th - LONDON Ops Manager Backup API Ops Manager Alerts API create_replicaset.py –help -group group_name -size container’s size S/M/XL –name replicaset-name -nb nodes (3/3a/5/5a) -file passwordfile.csv -backup policy -alerting policy -env prod/preprod -version 3.2.10 -dryrun (reporting only) -help This help message "replicaSets": [ { "_id": "testReplicaSet", "members": [ { "_id": 0, "arbiterOnly": false, "hidden": false, "host": "testReplicaSet_0", "priority": 10, "slaveDelay": 0, "votes": 1 }, { "_id": 1, "arbiterOnly": false, "hidden": false, "host": "testReplicaSet_1", "priority": 1, "slaveDelay": 0, "votes": 1 }, { "_id": 2, "arbiterOnly": true, "hidden": false, "host": "testReplicaSet_2", "priority": 1, "slaveDelay": 0, "votes": 1 } ] } Ops Manager Automation API RECIPE & ORCHESTRATION Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
  • 23. MONGODB EUROPE 2016 - NOV 15th - LONDON Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON MONGODB EUROPE 2016 - NOV 15th - LONDON Ops Manager Backup API Ops Manager Alerts API Ops Manager Automation API { "clusterId": "CLUSTER-ID", "dailySnapshotRetentionDays": 7, "groupId": "BACKUP-ID", "monthlySnapshotRetentionMonths": 13, "pointInTimeWindowHours": 24, "snapshotIntervalHours": 6, "snapshotRetentionDays": 2, "weeklySnapshotRetentionWeeks": 4 } RECIPE & ORCHESTRATION Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
  • 24. MONGODB EUROPE 2016 - NOV 15th - LONDON Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON MONGODB EUROPE 2016 - NOV 15th - LONDON Ops Manager Backup API Ops Manager Alerts API Ops Manager Automation API { "eventTypeName": "MONITORING_AGENT_DOWN", "groupId": "GROUP-ID", "notifications": [ { "delayMin": 0, "emailEnabled": true, "intervalMin": 60, "smsEnabled": false, "typeName": "GROUP" } ], "typeName": "AGENT", } RECIPE & ORCHESTRATION Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
  • 25. MONGODB EUROPE 2016 - NOV 15th - LONDON Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON MONGODB EUROPE 2016 - NOV 15th - LONDON Notify user RECIPE & ORCHESTRATION Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
  • 26. MONGODB EUROPE 2016 - NOV 15th - LONDON Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON MONGODB EUROPE 2016 - NOV 15th - LONDON Scalability ? - Add more physical hosts Security? - limit use of Global Owner role in Ops Manager API Availability? - Use of 3 Distinct DATACENTERS Software upgrades? - Docker 1.12 swarm enabled ? Docker API ? - Graphical interface for true As A Service experience? IMPROVEMENTS TO THE RECIPE Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON
  • 27. MONGODB EUROPE 2016 - NOV 15th - LONDON Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON CONCLUSION MONGODB EUROPE 2016 - NOV 15th - LONDON Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON CHEAPER FASTER MORE RESILIENT Several applications hosted on shared services End to end industrialization Streamline architectures Availability rate Recovery point objective Less than one hour data loss
  • 28. MONGODB EUROPE 2016 - NOV 15th - LONDON Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON NEXT STEPS & IMPROVEMENTS Integrate to a software factory Integrate into the internal cloud Create a Disaster Recovery Plan MONGODB EUROPE 2016 - NOV 15th - LONDON Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON Next steps …. …. and improvements
  • 29. THANKS MERCI MONGODB EUROPE 2016 - NOV 15th - LONDON Christophe TRINCAL / David TSANG-HIN-SUN / Sylvain CHAMBON