Pearson / OpenClass Uses MongoDB for Social Learning Platform
We recently spoke with Brian Carpio of Pearson about OpenClass, a new project from Pearson with deep Google integration.
What is OpenClass?
OpenClass is a dynamic, scalable, fully cloud-based learning environment that goes beyond the LMS. OpenClass stimulates social learning and the exchange of content, coursework, and ideas Ã¢â‚¬â€ù all from one integrated platform. OpenClass has all the LMS functionality needed to manage courses, but that's just the beginning.
Why did you decide to adopt MongoDB for OpenClass?
OpenClass leverages MongoDB as one of its primary databases because it offers serious scalability and improved productivity for our developers. With MongoDB, our developers can start working on applications immediately, rather than slogging through the upfront planning and DBA time that relational database systems require.
Also, given that a big part of the OpenClass story will be how we integrate with both public and private cloud technologies, MongoDB support for scale-out, commodity hardware is a better fit than traditional scale-up relational database systems that generally must run on big iron hardware.
Can you tell us about how you’ve deployed MongoDB?
Currently we deploy MongoDB in our world-class datacenters and in Amazon's EC2 cloud environment with future plans to go to a private cloud technologies such as OpenStack. We leverage both Puppet and Fabric for deployment automation and rolling upgrades. We also leverage Zabbix and the mikoomi plugin for monitoring our MongoDB production servers.
Currently each OpenClass feature / application leverages its own MongoDB replica set, and we expect to need MongoDB’s sharding features given the expected growth trajectory for OpenClass.
What recommendations would you give to other operations teams deploying MongoDB for the first time?
Automate everything! Also, work closely with your development teams as they begin to design an application that leverages MongoDB, which is good advice for any new application that will be rolled into production.
I would also say to look at Zabbix as it has some amazing features related to monitoring MongoDB in a single replica set or in a sharded configuration that can help you easily identify bottlenecks and identify when it’s time to scale out your MongoDB deployment.
Finally, I would suggest subscribing to the #mongodb irc channel, as well as the MongoDB Google Group, and don't be afraid to ask questions. I personally ask a lot of questions in the MongoDB Google Group and receive great answers not only from 10gen CTO Eliot Horowitz, although he does seem to answer a lot of my questions, but from a many other 10gen folks.
What is in store for the future with MongoDB at Pearson?
Our MongoDB footprint is only going to continue to grow. More and more development teams are playing with MongoDB as the foundation of their new application or OpenClass feature. We are working on migrating functionality out of both Oracle and Microsoft SQL Server to MongoDB where it makes sense to relieve the current stress on those incumbent database technologies.
Thanks to Brian for telling us about OpenClass! Brian also blogs at www.briancarpio.com — be sure to check out his posts on MongoDB here and here and here and here and here.