In this post we have put together a simple analysis about the TCO of Sofia2 vs a Custom development on a relational database.
The Total Cost of Ownership (TCO) of MongoDB and Oracle includes upfront and ongoing costs including software, hardware and personnel.
The initial costs include:
- Initial developer effort: Personnel costs + Developer coding required to get the application and data store working together
- Initial administrative effort: Personnel costs + Admins to install and configure software, cluster machines, set up sharding, etc
- Software licenses
- Server hardware: Servers required to run database (excludes storage). Driven primarily by the number and type of processors and RAM. Other costs include enclosures, network connectivity, cabling, and power supplies.
- Storage hardware: Storage required to store the data, varies depending on whether internal or shared (SAN) storage is used, the amount of storage and whether hard disk drives (HDDs) or solid state drives (SSDs) are used.
- Ongoing developer effort: Personnel + Coding needed to adapt data store to the customer, market and business needs.
- Ongoing administrative effort: Personnel + Administrative effort required to keep the data store healthy and running.
- Software maintenance and support: Maintenance: Upgrades and bug fixes for software + Support: On-call assistance for troubleshooting technical problems with software.
- Hardware maintenance and support: Maintenance: Upgrades and bug fixes for firmware and any software that may come with the hardware + Support: On-call assistance for troubleshooting technical problems with hardware.
- Miscellaneous Deployment Costs: Other costs associated with keeping database up and running. Includes cloud/hosting/colocation costs, bandwidth charges, electricity feed, etc.
Here is how Sofia2 reduces various costs that make up the TCO of a system:
INITIAL DEVELOPER EFFORT
The initial developer effort refers to the cost of time spent by the developer to ensure that the application and data warehouse work together.
In the case of a development on a relational database, the initial development effort includes tasks such as defining the data model, creating a layer of object-relational mapping (ORM), write the business logic for the application and make the presentation layer for this logic.
Sofia2 is designed to reduce development time, so that a developer can use the platform easily with any language.
With Sofia2 Console developers can:
- Create their own entities (Ontologies in Sofia2, tables in an RDBMS, collections in MongoDB)
- Define their business rules in a simple and guided way
- Provide secure access to their entities
- Ability to subscribe to events, queries, rules, … easily and independently of the messaging protocol (JMS, MQTT, AMQP, …)
- Assisted Publishing and APIs REST website based on entities
- Integrated GIS Capabilities
- Integrated Dashboards
- Integrated reporting
- Integrated Big Data Repository
Therefore, we can say that it is much more profitable to develop with Sofia2 that to do a custom development on a relational database.
Another important productivity advantage of Sofia2 is its design of Entities (Ontologies) oriented to dynamic documents and schemas. The way in which the platform stores data from the application corresponds with the technology and current development practices that have evolved considerably since the beginning of the industry of the relational databases 30 years ago.
Some reasons that support the productivity benefits of Sofia2 are:
- Usability: Sofia2 is compatible with existing development methodologies, allows developers to iterate quickly and continuously on the data model and all from a Web interface. In contrast to a traditional relational model development that imposes a strict set of constraints to develop, both in terms of data model, rule creation, changes, …
- Data Model. With Sofia2, the developer only has to create the data model in one place: the product´s own Web Console. In a traditional development developers need to create and maintain the data model in three places using different interfaces: the application, the database itself and the ORM layer.
- Data flexibility. Unlike a RDBMS, Sofia2 allows developers to easily store polymorphic data and semi-structured and structured data in a individual data store.
- JSON support. Storage in JSON, mainstay of many current applications, is done smoothly and does not require conversion. With a RDBMS, developers need to “flatten” and transform JSON to store it in relational tables, and then they have to recover the layers to make the extraction of the database.
INITIAL ADMINISTRATIVE EFFORT
The Installation and configuration of Sofia2 is cheap and easy. The Platform consists of:
- CDB (Configuration DataBase): can be any relational database. By default it runs on a MySQL embedded DB.
- RTDB (Real Time DataBase): where in the RI it is MongoDB making the initial administrative effort is low, an administrator must take into account a single variable: the number of nodes in the cluster. There is only a small set of configuration settings to put the system into operation. MongoDB administrators do not need to integrate layers of cache or create custom logic horizontal partitioning to direct queries to the correct server node. Instead, the memory storage, cache and the horizontal partitioning are core capabilities of MongoDB.
- HDB (Historical DataBase): It can run on MongoDB or Hadoop depending on the needs or preferences.
- SIB + Console + Tools + API Manager + Process: all business modules are built on Java, deployed as Web applications on any JEE application server. The bulk of the configuration goes in the CDB so it is not necessary to create complex configuration files.
Sofia2 is a platform with a free version for the open source community (Apache license) and an issue for business subscribes that can be used in different modes: On Premise or Cloud.
This version includes support in various forms (from 8×5 without SLAS to 24×7 with strict SLAS), software updates and solution to errors and some additional functions.
The commercial edition of Sofia2 is billed continuously instead of timely (ie, an annual fee per server).
In general, the cost of Sofia2 servers is considerably lower than in a traditional development on a relational DB for similar workloads and availability. This applies to all components.
Sofia2 is designed to use basic hardware in scalable architectures.
Sofia2 deployments typically use basic and economic Linux servers, which cost only $3.000, even a low-power and high performance can cost just $4.000 (excluding storage).
The scalable architecture of Sofia2 significantly reduces storage costs.
Sofia2 can use local economic storage and allows to efficiently use the solid state drives (SSD).
ONGOING DEVELOPER EFFORT
The dynamics of current development efforts are lower than the initial development effort.
With a traditional development, the cost of making changes in the application is greater, whether they are changes in the schema of a database that is already in production (greater costs than for a database that has not yet been delivered) as in the development of logic, rules, security settings.
For example with Sofia2 it is easy for developers to add fields to entities, create new APIs, which leads to significantly lower costs and allows developers to adapt applications as the demands evolve.
ONGOING ADMINISTRATIVE EFFORT
The ongoing administrative effort includes activities that keep the system in good working order (for example, updating software or hardware, performing backups and recovery times of unexpected interruptions).
Managing Sofia2 requires much less time and effort compared with traditional development.
Administration of a Sofia2 deployment primarily involves administering Linux configurations and hardware itself; so you only need to know and manage a few parameters.
SOFTWARE MAINTENANCE AND SUPPORT
Sofia2 subscriptions are billed annually per core. This includes access to product support, software updates and bug fixes as well as certain functionalities that are only available in the paid edition.
OTHER ADVANTAGES OF SOFIA2
In addition to tangible cost savings, the model oriented to documents and Sofia2´s flexible schema, the platform also provides greater agility and flexibility to companies, which in turn provide advantages to generate income.
Once the Sofia2 Platform is implanted in a company, they can use the Platform (without the need to build a new infrastructure) for new deployments and to integrate data from other systems so they have them centralized in a common repository with Big Data capabilities. You can also develop Sofia2 applications with any technology and language.