Nakama vs SaaS Platforms
This is intended to be a brief, objective, technical comparison of Nakama against a SaaS platform.
If you feel this comparison is unfaithful for whatever reason, please send an email to firstname.lastname@example.org
At A Very High Level
- Heroic Labs' Nakama is an open-source server which can be hosted on any cloud as well as locally. SaaS platform use proprietary software that are only hosted in the cloud and cannot be self-hosted.
- Heroic Labs' Managed Cloud solution run dedicated instances for your application and do not share resources across other projects.
- Nakama server and the client libraries are open source on GitHub. Nakama can be run on Windows, macOS, and Linux for development and production.
- All of Nakama’s features: Realtime multiplayer, chat, matchmaker, server authoritative logic, etc. are available with the in the open-source codebase. There are no artificial limitations.
- SaaS platforms are closed-source and proprietary. They typically use a plethora of glue software to power various features. In case of a shutdown of the platform, it's impossible to operationalize the system even if the source code were made available.
- Nakama comes packaged with a database to provide a fully capable collection of services. No separate solutions are required for user accounts, social login, data storage, etc.
- SaaS platforms typically share resources across mutiple projects (also called multi-tenancy). This means that you application data is stored alongside other users' application data and performance is impacted over time.
The table below gives a high level comparison of Nakama's Managed Cloud and a SaaS platform.
|Feature/Capability||Managed Cloud (Nakama)||SaaS|
|Database||Nakama uses a single relational Postgres-compatible database. All operations are batched and have transactional guarantees.||SaaS platforms typically use different databases and queuing systems to power various features.|
|Infrastructure ownership||You own the infrastructure and the codebase. Join the open-source community to offer feedback and contribute to the development of the system.||Proprietary codebase means platform lock-in. Even if the codebase was made available in case of a shutdown, in practice you will need help operationalize and import your data back into the system.|
|Data Ownership||Your data belong to you, and you control access to it. Your application's storage is private to your project.||Data often does not belong to you, and is stored alongside other users of the SaaS platform. We highly recommend you check terms of service to check how your end user data is used.|
|Deployment options||Nakama is available via Managed Cloud, or can be deployed on any cloud provider or custom datacenter.||A SaaS platform is only available on the vendor's chosen cloud provider. It cannot be self-deployed on a custom datacenter or cloud provider.|
|Region-specific Deployments||Nakama can be deployed and used within the Region Specific Locations.||Not available.|
|Integration||Nakama can be integrated with existing systems, and import data from custom backoffice or BI systems. Optionally you can share Nakama's database with existing systems.||Custom extensions need to be developed for a SaaS platform.|
|Socket Protocol||WebSocket, secure rUDP (reliable-ordered and unreliable-unordered) based on the netcode.io spec.||Most often limited to a REST API with some support for WebSockets.|
|Open-source||Fully open-source server.||Closed source.|