LiberCloud offers content management and collaboration services for content authors, educators, instructors as well as active learners. The SaaS platform allows individuals to sign-up as well as it gives the ability to educational institutions and businesses to create dedicated instances and private communities for sharing or collaborating on content.
The multi-tenant SaaS platform initially developed on the LAMP stack, was being expanded with a MongoDB NoSQL cluster, Node.js component and Socket.io for asynchronous notifications, and an Ejabberd based real-time XMPP server for group discussion rooms and live-chat. The content management services support multi-media assets as well as interactive assets such as virtual whiteboards, real-time polls and surveys, and assessments. LiberCloud launched its beta services to the public in 2014 and announced the general availability at the international Bett trade-show in London in January 2015. LiberCloud service was targeting international businesses or startups with a distributed workforce, clients, and user base. Therefore, it required designing and deploying the services in a distributed fashion, such that content originated in one region is available in others, and participants in real-time virtual discussions, polls, and group chats could be in any region. LiberCloud intent to offer its services near or in the proximity of the organizations and users we serve required a distributed architecture spread across multiple geographical regions. A few years back I wrote a white paper documenting the effort and thoughts that went into building a first generation SaaS platform and subsequent upgrade. While new technologies have been introduced, SaaS is now widely accepted by most companies to deliver their services, and building a SaaS-based application has become increasingly easier, there are some aspects of our original effort that were unique. We developed our first SaaS platform because the traditional web application architecture was inadequate to meet our business objectives. We were in uncharted territory, and customers demanded that we would not mingle their data with other customers' data. So, a common thread in our releases was the isolation of customer data. Many customers today may require the same, for regulatory or privacy concerns, and I thought that by sharing the thoughts that went into designing the first generation SaaS platform and subsequent upgrade would benefit your efforts as well. Our first generation SaaS platform needed some basic components to improve the provisioning and configurability of the application. We needed:
After we launched the first generation platform, over the course of several months we had other important issues to tackle to ensure scalability of platform and scalability of the business processes revolving the operation of the entire SaaS platform. The most significant improvement being the decentralization of the database and ability to use Machine Learning:
|
Categories
All
Archives
January 2019
|