Looking at MongoDB for Content Management

We went to see our good friends Nuxeo and ask them what’s the best way to manage content at enterprise scale. They told us about how customers use MongoDB and their content services platform to deliver business applications with high scalability. Let’s hear about Thierry Delprat, Nuxeo CTO.

Please tell us a bit about Nuxeo. What does your company offer its customers?
Nuxeo provides purpose built digital content applications focused on business outcomes. Created on the industries most modern content services platform, leveraging the latest innovation in Machine Learning and Artificial Intelligence to deliver unparalleled insight across the content spread throughout the enterprise.

How would you describe your specific use case for MongoDB?
Nuxeo uses MongoDB because it is the best storage option for scalability and speed and it allows developers to build content intensive applications that have:

  1. Complex data structures
  2. A requirement for massive scalability
  3. The need for rapid retrieval for content
  4. A requirement for heavy write access

Nuxeo provides the infrastructure and the tools for efficiently addressing these requirements.

Did you start with MongoDB or migrate from a different database?
Initially Nuxeo only provided a SQL binding. However, we started seeing the limitations of the SQL model:

  • Difficulty to scale to very large volume
  • Performance issues when having a lot of Write operations
  • Complex architecture to be able to leverage Read replicas

These were the main reasons for us to start the work on a MongoDB Connector and indeed leveraging MongoDB allows us to:

  • Improve the performance and scalability of the application
  • Simplify the deployment architecture since we no longer need complex SQL replicas and distributed caching

More details can be found here: http://slides.com/thierrydelprat/mongodb-impact

Can you describe your application architecture and design approach?
Nuxeo is a software platform that was designed to be very modular and pluggable. This architecture allows us to choose what storage backend can be used. We use this pluggable mechanism to leverage MongoDB for scalable meta-data storage, Search or Blob storage.

How has MongoDB Atlas allowed you to scale your app as well as the business?
When deploying our application on AWS, MongoDB Atlas allows us to use MongoDB as a service. Nuxeo can then focus on delivering the Content Services Platform and let MongoDB provide the data safety and SLA required.

What programming languages are you using to build your app?
The server side is mainly built using Java but some extensions can be contributed using JavaScript. The client side use HTML5 / JS (Web Components & Polymer)

What are your thoughts about the current database trend of moving to the cloud?
Looks like all our customers are indeed moving to the Cloud, both private and public. In making this move, it is essential for the database also to be hosted in the Cloud.

This is one of the reasons why we use MongoDB Atlas to delivery content applications at scale.

Using MongoDB allowed us to simplify our deployment architecture, and to offer to our customer a big improvement in terms of scalability. We’re now exploring MongoDB Atlas for new ways for our customers to deliver their ECM applications.