MongoDB at iBE.net
We recently spoke with Richard Minney, the Founder of iBE.net about iBE.net’s technology stack and use of MongoDB. To learn more about iBE.net, check out their recent blog post on Schema-Less Schema's - Enterprise-grade no-SQL Schema Design for Dummies.
What is iBE.net?
iBE.net is a new generation of business management solution that is easier to use, access and manage than existing tools. Aimed at businesses that are growing out of Quickbooks, iBE.net plugs the gap between individual/small team accounting packages and expensive enterprise resource planning (ERP) packages like SAP, Oracle and Microsoft Dynamics. Being a clean-sheet design since 2010 we are built on mobility, cloud, no-SQL, scalability, flexibility and usability principles.
Can you describe your technology stack? How does MongoDB fit in?
MongoDB is the backbone of our technology stack. From our user interface which runs in Sencha’s Ext JS and Touch web / mobile clients on nginx, with native iOS/Android clients where use-cases warrant native mobile clients, to our back-end which is a set of MongoDB replicas served by our own Java-stack running on play! - scalability and flexibility is our number one design requirement. We also use Infobright SQL DB for in-memory, column-based analytics and Elastic Search for search, plus a message/eventing service (hornetQ) and job scheduler (rundeck). And all this runs on Amazon (AWS).
What were some of the reasons that you decided to adopt MongoDB at iBE.net?
MongoDB fits the bill perfectly in three key aspects:
- It is scalable. Unlike relational RDBMS with a single central instance, mongoDB’s sharding, easy replication and overall scalability means that we can build a multi-tenant cloud platform, where new clients share many resources such as servers and software. This in turn cuts our cost to setting up a new client which allows us to revolutionize the amount growing businesses have to pay for their management tools.
- It is flexible. Unlike an SQL database where tables must be regenerated if one client decides to add their own custom fields (causing disruption or worse to other clients using the same resources) mongo’s no-SQL or schema-less design allows us the flexibility for one client, perhaps a consulting company, to add some fields while another client maybe building aircraft parts can have different fields. All in the same DB or collection, if that is what is needed. This allows us to combine the low-cost of cloud/multi-tenant with flexibility on a per-client basis required by business management tools such as ERP systems
- It is fast. To run, to manage, to learn how to use and to program. Also a key benefit to us, we did not have to build an ORM layer. Since we designed our business management tools from the ground-up we did not have to “unlearn” SQL or unpick our ORM. We are “beyond service orientated architecture” because our services are automatically generated, so any adjustments to our data model are automatically reflected from the user’s screen right to the DB at the click of a mouse, including the Java classes, getters and setters required. Skipping the ORM layer alone saves us more than 20% in development effort
What’s in store for the future? Are there any new MongoDB projects?
Our application aims to support ALL core processes a business needs, from CRM to HCM, from finance to collaboration, from billing to purchasing and from design to manufacturing to product support. So our future is to keep expanding our application footprint in three dimensions - horizontal application coverage (business processes support), vertical industry sectors supporting and regional or country-specific requirements (such as internationalization, local regulatory needs, cultural aspects etc.) met. And all this will continue to use MongoDB as our backbone.
Want to learn more? Richard recently wrote a detailed post on the iBE.net blog about schema design in their application.