Advances in software development have increased exponentially over the past few decades. To think that it wasn’t more than a decade ago when software applications were sold as physical, shrink-wrapped products by mail order or through high-street retailers is a bit astounding. Thankfully, today’s applications have grown and developed from these physical products to become more flexible, web-based software solutions that can meet the growing demands of today’s developers and companies. Developers now have a plethora of tools at their disposal to build and create solutions and products thanks to the advent (and popularity) of the cloud, open source, and mobile technologies, all of which have significantly changed the business landscape.
But selecting the right tools for software development isn’t something easy that can be taken lightly. The tools used in the development process can easily make or break the outcome of a project. That’s because the fast and rapid delivery of high-quality software is crucial to today’s teams because it directly correlates with better customer engagement and higher satisfaction. Therefore, it’s important for developers to be aware of the types of tools that are available for use, the benefits they can deliver, and the implications of using them.
MongoDB is the parent company behind MongoDB, the leading modern, general purpose database platform. The company is committed to providing solutions that allow developers unleash the power of both software and data. The company also strives to give developers more freedom not only in deploying, managing, and scaling MongoDB, but also to quickly build modern applications with ease. To help meet this goal, the company unveiled a new offering designed for the modern application development paradigm: the MongoDB Stitch.
SourceForge recently caught up with Mat Keep, the Director for Product and Market Analysis at MongoDB, to discuss the opportunities and challenges in software development, as well as how MongoDB Stitch is helping developers simplify application development.
Q: Can you share with our readers a brief company overview of MongoDB? What services does MongoDB offer to its customers?

Mat Keep, Director for Product and Market Analysis at MongoDB
A: MongoDB is the leading modern, general purpose database platform, designed to help developers build apps faster, using its natural and intuitive data model, rich querying and indexing and distributed architecture for horizontal scale-out and always-on availability. We are headquartered in New York and have more than 4,900 customers in over 90 countries. The MongoDB database platform has been downloaded over 30 million times and there have been more than 730,000 MongoDB University registrations–which offers free online courses to teach developers how to build and deploy applications on MongoDB.
The company was founded in 2007 and went public last year on the 10 year anniversary of the first MongoDB code released on GitHub. MongoDB has more than 900 employees, offices all over the world and serves customers ranging from the most agile startups to the Fortune 100.
MongoDB has a number of offerings, including:
MongoDB Community Server – A free, open source version of MongoDB that is a great fit for building your first project on MongoDB.
MongoDB Atlas – a database as a service offering fully-managed MongoDB for customers in the public cloud–AWS, Azure or GCP. Atlas also has a free tier that is perfect for developers that want to get familiar with MongoDB,
MongoDB Enterprise Advanced – MongoDB’s primary subscription package with 24×7 support, advanced tools for operational management and security, BI connectivity for SQL access to popular analytics tools like Tableau.
MongoDB Stitch – A new backend as a service offering that we’ll discuss further on in our discussion.
We also offer training, consulting and a number of other services that can be found on our website.
Q: What are some of the most notable changes in the software development market over the course of the last few years? And what perks and/or challenges have these changes brought to developers?
A: Every industry is being transformed by data and digital technologies. As organizations build or remake themselves for a digital world, speed matters – measured by how fast they build and evolve apps, how fast they scale them, and how fast they can gain insights from the data they generate.
These are the keys to applications that provide better customer experiences, enable deeper, data-driven insights or make new products or business models possible. If organizations can’t do this, they’ll get supplanted by competitors that can. Developers are at the heart of this – they have become one of the most important parts of any company, and they have the opportunity to drive technology selection, because it doesn’t make business sense to have developer teams working with technology that they don’t like, that slows them down or that makes their jobs more difficult.
From a database-specific perspective, developers have been struggling to overcome the constraints of 40-plus-year-old relational databases in meeting the demands of modern applications:
This could mean a number of things, such as:
The need to manage massive increases in new, rapidly changing data types such as structured, semi-structured and polymorphic data generated by new classes of web, mobile, social and IoT applications.
Demands for faster time to market, with traditional waterfall development of monolithic applications giving way to agile methodologies, microservices and DevOps, shortening release cycles from years to weeks and months.
The wholesale shift to cloud computing, enabling developers to exploit on-demand, highly scalable compute and storage infrastructure, with the ability to serve audiences anywhere around the globe.
Q: How does MongoDB keep up with today’s developers? And how has the company’s open source approach benefited the company as well as its customers?
A: MongoDB was built for developers, by developers, and we invest a lot of resources in staying active in the community. We host events in cities across the world that we call MongoDB.local in order to connect directly with the community. Our developer advocacy teams regularly host meetups (MongoDB User Groups, or MUGs) at many of our offices across the globe. Based on the more than 30M downloads of MongoDB, we like to think we’re doing a good job of giving devs what they need to truly take advantage of the MongoDB platform.
The primary benefit of the open-source approach for MongoDB has been driving adoption and convenience for developers. By giving developers a frictionless way to use MongoDB they have no barriers to try it out and start to build apps that just weren’t possible with older database technologies. And they get access to the code base to better learn about the technology, to optimize their own apps, and to provide feedback on how we can keep making MongoDB better for them.
Q: In June of last year, the company unveiled MongoDB Stitch. What inspired the company to create this solution, and what is the story behind the name ‘Stitch?’
A: At MongoDB, we are committed to making developers’ lives easier by making sure data works for them, rather than making them fight with the database and the technology around it. As developers ourselves, we recognize that web, mobile, and IoT apps today almost always include a combination of managed services like integrations with authentication systems, payment apps, messaging platforms, or internal microservices. Stitch lets developers focus on building applications rather than on managing data manipulation code, service integration, or backend infrastructure. Whether you’re just starting up and want a fully managed backend as a service, or you’re part of an enterprise and want to expose existing MongoDB data to new applications, Stitch lets you focus on building the app users want, not on writing boilerplate backend logic.
Stitch gives developers full access to MongoDB, the ability to declare fine-grained data access controls, and composability with other services. Its name is derived from its role – it stitches together all the backend services so developers don’t have to.
Q: What problems does Stitch seek to solve? Who was Stitch created for?
A: MongoDB Stitch is for developers of all breeds: web, Android, iOS. Stitch is designed to work with a broad set of applications. It is especially suitable if you plan on implementing most of your application’s logic in the frontend – with the backend focussed on accessing the database and other public or internal services.
If a developer is working with an existing MongoDB database, then Stitch can be used to safely and selectively expose existing data to new applications.
Q: MongoDB Stitch has three main components: functions, services, and rules. Can you please tell us a bit more about each of these?
A: Services are how Stitch applications can interact with your MongoDB database and other external services such as Twilio, AWS S3, and GitHub. For any external service without an existing Stitch service integration (or your own microservices), you can use the generic HTTP service. The HTTP services also provide Webhooks, allowing your application to react to external events.
Stitch rules are used to control access to Stitch services and MongoDB data. Once the end-user has authenticated (using Facebook, Google, username-password, or any OAuth provider), your rules are applied to check precisely what the user is authorized to access.
For example, for the MongoDB database service, by default, users are authorized to read and write their own data. You can change the rules so that, for example, doctors can access all patient data, nurses can record test results, the patient can see but not modify their own records, and researchers can only view pre-approved, anonymous aggregations.
Stitch functions allow you to provide your own business logic which is executed in the Stitch backend, in addition to interacting with external services. These functions can be invoked from your application frontend, from other functions, from your Stitch rules, or from your Webhooks. You write Functions in JavaScript. The functions have access to your database, services, and contextual information such as the current user’s credentials.
With functions, you implement your logic once, and then invoke it from multiple frontend locations (e.g., from numerous places in a web app, as well as from iOS and Android apps, and also from your Stitch rules and Webhooks). Functions also provide enhanced security, gating access to secret resources, such as API keys.
Q: How does Stitch compare to other Backend as a Service (BaaS) tools on the market today? What makes it special?
A: MongoDB Stitch is the easiest and safest way for apps to use MongoDB and other backend services. Stitch works with your existing or new MongoDB Atlas clusters, retaining the full power and scalability of the database. In contrast, other BaaS solutions expose a small subset of MongoDB’s database functionality and have scalability issues.
But while Stitch obviously works best with MongoDB databases, one difference is the flexibility that Stitch provides. MongoDB Stitch works with services from any provider (or your internal microservices), while others backend as a service tools tend to only play within their ecosystems.
Q: Cybersecurity threats are rife these days. What measures has MongoDB put in place to enforce security and data privacy?
A: MongoDB offers among the most extensive and mature security capabilities of any modern database by providing robust access control, end-to-end encryption and complete database auditing. Some of the most demanding organizations in the most regulated industries, such as Barclays, HSBC, Morgan Stanley and AstraZeneca, use MongoDB for mission-critical use cases.
MongoDB provides extensive documentation on how to take advantage of security features in all versions of MongoDB–online training, security manual, security best practice checklist and more. However, as with any database, if users do not take advantage of the security features, then exposures are possible.
The most popular installer for MongoDB already limited network access by binding to localhost by default. With MongoDB 3.6, this default behavior is extended to all MongoDB packages across all
platforms, so all MongoDB instances refuse all external connections to the database unless otherwise explicitly configured by the administrator.
Combined with new IP whitelisting support, administrators can configure MongoDB to only accept users from pre-approved IP addresses. These enhancements greatly reduce the risk of unsecured MongoDB instances unintentionally being deployed into production.
Q: MongoDB recently made its public debut with a bang. What’s next for the company? Are there any new developments or offerings you’re looking to roll out soon?
A: Going public was a great validation of MongoDB’s technology and an important milestone for the company, but it really was just a milestone. We were all back at work the next day and are still committed to providing a data platform that developers love to use.
Q: What emerging trends or technologies do you think will change how software teams today develop apps and solutions? How is MongoDB meeting these?
A: Serverless architectures (“functions as a service” might be a more descriptive term) is one area that is really maturing, and MongoDB Stitch fits into that trend. The attraction of this approach is that you avoid setting up your own backend infrastructure. Instead, your application frontend sends requests to the backend functions, and the service provider takes care of security, availability, and scalability. If your application is incredibly successful, then the service provider allocates additional resources behind the scenes. You pay for what you use; if your users generate less traffic at night, then you’re not paying for idle resources. The popularity of serverless is also a recognition of the transition to thin backends with much of the application’s functionality implemented in the frontend, and the bulk of the remaining work delegated to external cloud services and internal microservices. Stitch is MongoDB’s serverless offering.
The flexibility of Stitch functions means that MongoDB Stitch can execute your business logic and work with any external services you select. Of course, Stitch comes into its own when your application uses MongoDB for its data.
Most serverless apps are developed and deployed within public cloud environments. So, in the same way, serverless abstracts underlying server management from developers, so a fully-managed database-as-a-service is a logical extension to that concept. We provide this through our MongoDB Atlas service. MongoDB does all of the operational heavy lifting (security, resilience, scaling, backups, etc) so you don’t have to. Integrating MongoDB Atlas into your serverless platform is as simple as passing the connection string into your serverless application.
What is also key is that Atlas can be run on any of the leading cloud platforms – AWS, Azure, and GCP, so you can build wherever you want without the database locking you into to any one platform.
Serverless apps are also typically developed with agile methodologies where new functionality is implemented and evolved in short sprints. Having a flexible and dynamic data model that evolves with you is critical – and this is a core strength of MongoDB – whether you are architecting for serverless, microservices, or whatever architecture is right for your app. It’s not hard to find development teams who have yielded 4x-5x productivity enhancements just from being freed from the constraints of a rigid relational schema.
Beyond serverless, analytics and machine learning are growing exponentially as organizations try to make sense of the vast amounts of data being generated by modern apps. Having a distributed database that can scale to accommodate huge new volumes of data, and then offer rich native processing and analytics of that data, without the cost or latency of moving that data out to another environment is a huge advantage. We have many users who have implemented machine learning on top of MongoDB, so they can get insight and drive actions directly from their operational data platform. We’ve got a great guide to this if you want to learn more:
https://www.mongodb.com/collateral/deep-learning-and-the-artificial-intelligence-revolution.
About MongoDB
Founded in 2007, MongoDB is a free and open-source cross-platform-oriented database program that helps businesses transform their industries by harnessing the power of data. With over 30 million downloads, thousands of customers, and over 1,000 technology and service partners, MongoDB is no doubt one of the fastest-growing database ecosystems today.