A provider of innovative solutions to Investor Relations professionals, Q4 Inc. uses MongoDB to boost developer productivity and out-innovate their competition. By migrating to MongoDB Atlas, Q4 reduced costs and consolidated the management of its growing microservices architecture.
Investor relations (IR) teams integrate information from finance, communications, compliance, and marketing to drive the conversation between a company, their shareholders and investors, and the larger financial community. Knowing the positive effect that a sophisticated web presence would have on investor sentiment, in 2006, Q4 Inc. (Q4) set out to provide multi-functional website solutions for IR teams. Q4 has since expanded their offerings to include capital markets intelligence, and Q4 Desktop – the industry’s first fully-integrated IR platform, which combines communications tools, surveillance, and analytics into a fully featured IR workflow and Customer Relationship Management (CRM) application.
Now with over 1,000 global clients, including many of the Fortune 500, Toronto-based Q4 is the fastest-growing provider of cloud-based IR solutions in the industry. We sat down with Alex Corotchi, VP of Technology, to learn more about their company and how they use MongoDB Atlas across their product portfolio.
Tell us about Q4 and how it’s unique in your industry.
Our goal is to provide best-in-class products for every aspect of IR so that our customers can engage with the right investors, at the right time, with the right message. We started with corporate websites, then moved into investor sites and mobile solutions. As we realized the need for a great, digital-first experience in IR, we added webcasting and teleconferencing to form a complete line of communications solutions. In 2015, we expanded into stock surveillance and capital markets intelligence. Today, we provide a full suite of IR products, many of which are integrated into Q4 Desktop.
We are unique in that we typically adopt new technologies earlier than our competition, are always pushing the boundaries, and are helping to make our customers leaders in IR.
How were you introduced to MongoDB? What problem were you trying to solve at the time?
We were introduced to MongoDB a number of years ago when we were building a small application that integrated streams from multiple social media sources. Our relational database at the time, SQL Server, made it difficult to effectively work with different data formats and data types. Instead we turned to MongoDB, which didn’t force us to define schemas upfront.
At around the same time, we were rapidly scaling the company and needed to onboard many new developers. By using MongoDB in our technology stack, and taking advantage of its ease of use and the quality of the online documentation, we were able to significantly decrease the amount of time it took to ramp new hires and make them productive. This was another main driver behind our adoption of the technology.
Today with MongoDB, I can ramp up a new developer in less than a week. I can’t say that about any other database. This is important for the business because it’s our developers that drive our products. Every day is important and we save a significant amount of money by using our time more effectively.
What applications within your product portfolio use MongoDB?
Today, three out of our four main products are supported by MongoDB in some way. Those products are: Websites, which includes corporate websites, investor websites, online reports, and newsrooms; Intelligence, which helps our clients convert capital markets information into actionable intelligence; and Q4 Desktop, our integrated IR CRM and workflow platform.
MongoDB is used for a wide variety of datasets, including news, press releases, user data, stock and market data, and social media. We run an equally wide range of queries against our data – everything from simple find operations to complex aggregations.
What other databases do you use? How do you decide when to use MongoDB versus another technology?
MongoDB is one of a few databases we use in our company. For relational data, we use either SQL Server or PostgreSQL. We also use DynamoDB for a very specific set of use cases. DynamoDB is a good service but as a database, it’s not nearly as powerful as MongoDB. There are no aggregations, the query language isn’t as elegant, and we don’t use it to store anything complex.
The majority of our products are composed of specialized microservices and for us, MongoDB is a great fit for working within this paradigm. In general, MongoDB is our go-to database for data that doesn’t map neatly into rows and columns, anytime we can benefit from not having a predefined schema, or when we need to combine multiple data structures. We’ve also found that MongoDB queries are typically more transparent than the long, complex SQL queries most of us have grown accustomed to. This can save us up to an hour a day during debugging.
How do you currently run MongoDB?
When it comes to running MongoDB, we rely on the fully managed database service, MongoDB Atlas. In our experience, it is the best automated service for running MongoDB in the cloud. Atlas provides more functionality, more customization options, and better tools than the third party MongoDB as a service providers we’ve used in the past.
What alternatives did you evaluate?
When we were first looking at MongoDB services, MongoDB Atlas had not yet been released. We started our development on Heroku where some of the third party MongoDB service providers are available as Heroku Elements (add-ons). While Heroku was great at keeping our overhead low at the start, costs grew significantly when our products began taking off.
The pricing model of the first third-party MongoDB service provider we tried (Compose) quickly became untenable. We also found that the latest versions of the database were not supported.
We migrated to another MongoDB service (mLab) but again, we encountered issues with the pricing model. Their pricing was strictly tier-based with little flexibility to tweak our deployment configuration.
Lastly, we deployed a few MongoDB clusters using a service associated with Rackspace Cloud (ObjectRocket). Once again, we found the service to be behind in delivering the latest database features and updates.
Most recently, we migrated to MongoDB Atlas because of the cost savings, and because managing a growing microservices architecture leveraging multiple MongoDB service providers with Heroku was becoming increasingly difficult. By moving to Atlas, we’re able to save money and consolidate the management of all of our MongoDB clusters.
Tell us about your migration to MongoDB Atlas.
During the migration, the Atlas team helped us ensure that everything went seamlessly. Anytime you migrate data from one place to another, it’s a big risk to the business. However, we found the Atlas live migration service to be amazing. We originally tested it with pre-production and staging environments. When all went well, we completed a rapid production migration process and didn’t even need a maintenance window. I was pleasantly surprised with how smooth our move to MongoDB Atlas was.
Which public cloud do you use?
We’re about 70-80% on AWS and the rest is on Rackspace. We don’t just use AWS as a hosting provider, but also for Alexa, Lambda, and their streaming offering.
For example, we were able to quickly use MongoDB Stitch, MongoDB’s backend as a service, to integrate Alexa Voice Server, AWS Lambda, and our data in MongoDB Atlas to deliver a voice-driven demo at one of the largest investor relations conferences.
How has your experience been with MongoDB Atlas?
We have over a dozen MongoDB clusters currently running in MongoDB Atlas across different projects, all on AWS. We are planning to migrate even more over in the next couple of months.
I like the fully managed backup service that Atlas provides as it has more functionality than anything I’ve used with other providers. The ability to restore to any point in time, restore to different projects in MongoDB Atlas, and query snapshots in place, allows us to meet our disaster recovery objectives and easily spin up new environments for testing.
Additionally, the ongoing support from the MongoDB Atlas team has been very helpful. Even the simple chat in the application UI has been very responsive. Having quick and easy access to an expert support line is like having a life preserver. We don’t want to use it much, but when it’s needed, we need to know that it will work.
Alex – I’d like to thank you for taking the time to share your insights with the MongoDB community.
Available on AWS, Azure, and GCP, MongoDB Atlas is the best way to deploy, operate, and scale MongoDB in the cloud. Get started in minutes with a 512MB database for free.