On March 6th, 2024, PlanetScale announced their plan to sunset their free tier, impacting developers and their projects worldwide. Many devs are now forced to migrate away and find a new database solution. As an open-source backend-as-a-service platform, Appwrite can be the solution to finding a PlanetScale alternative. In this article, we compare PlanetScale Databases to Appwrite Databases so you can understand whether Appwrite’s free-tier Databases are a feasible option.
How Appwrite can help
When comparing PlanetScale with Appwrite, it's essential to understand that they serve somewhat different purposes. PlanetScale is known to be a highly scalable, MySQL-compatible database service, focusing on providing a robust solution for scaling relational databases horizontally. Appwrite, on the other hand, offers a more comprehensive set of products for your backend, including Databases, Authentication, Functions, Storage, and Messaging. If PlanetScale is a great screwdriver set, Appwrite is a Swiss Army Knife for the developer.
An all-in-one package
Appwrite is a backend-as-a-service platform that offers a variety of products to enable developers to build their applications faster and better. Here are the core products Appwrite offers:
Authentication: Manage user registration, login, and account functionalities. It supports multiple sign-in methods as well as two-factor authentication.
Database: Create and manage databases to store and query your application's data.
Storage: Securely store and manage files used within your application. Appwrite also allows for file previews and image manipulations.
Functions: Execute custom code within a secure environment to implement specific application logic without managing servers.
Messaging: Communicate with your users through push notifications, emails, and SMS text messages.
Realtime: Enable real-time updates and synchronization within your application for features like chat or collaborative editing.
Signing up for Appwrite Cloud or self-hosting it on your server doesn't just give you access to one of these, but all of these.
Let’s delve further into some of our developer experience and more database-oriented benefits.
API-first approach
A major difference that Appwrite has from other database-as-a-service offerings like PlanetScale is that instead of directly querying the underlying database, we offer APIs to interact with the product.
This approach offers several advantages:
Simpler interactions with data: Developers can perform CRUD actions easily through straightforward HTTP requests. Knowledge of SQL isn’t mandatory anymore.
Works with any language: Any programming language or platform capable of making HTTP requests can consume Appwrite Databases, making it highly versatile.
Additional security: Integrated authentication and access control ensure that data is only accessible to authorized users, keeping your application secure.
Easier education: Detailed API documentation and SDKs for various languages offer a smooth developer experience, making it easy to get started and efficient to use.
Leveraging an API-first approach, we have built a lot of abstractions to interact with the underlying MariaDB database in Appwrite and not just to perform CRUD actions on the tables but also to handle the creation and management of databases, tables, columns, indexes, and relationships. This experience extends beyond Appwrite Databases to all other Appwrite products.
SDKs and developer tooling
To decrease the friction in building for all developers and complement our API-first approach, Appwrite offers over 10 SDKs across languages such as JavaScript, Python, Dart, and Kotlin, as well as a CLI that works on Linux, MacOS, and Windows-based systems.
Simplicity: SDKs eliminate the need for developers to write code from scratch to interact with Appwrite's API, saving them time and effort.
Consistency and reliability: SDKs and the CLI ensure that applications use Appwrite’s API correctly and efficiently while retaining type safety, reducing the risk of errors.
Enhanced productivity: By automating and simplifying tasks, SDKs and CLI help developers accomplish more in less time, boosting productivity. They make integrating Appwrite’s features, test applications, and deploy updates easier.
This way, any developer transitioning to Appwrite can get started with our stack quickly and easily.
Self-hosting Appwrite
Since Appwrite is open-source, we have simplified the process to self-host it. This has several benefits:
Control: You gain complete authority over your server environment and configurations.
Privacy and security: You can keep all data in-house for enhanced security and compliance with data protection laws.
Cost efficiency: You might potentially lower expenses over time by optimizing resources and avoiding third-party fees.
Reduced latency: Hosting closer to your clients may help improve application performance.
Avoid vendor lock-in: You're not tied to the services, pricing, and terms of a specific cloud provider.
Currently, Appwrite uses Docker Compose to deliver all the necessary services and components necessary for the platform. We provide a single installation command to set up an Appwrite instance on any system with Docker.
docker run -it --rm \
--volume /var/run/docker.sock:/var/run/docker.sock \
--volume "$(pwd)"/appwrite:/usr/src/code/appwrite:rw \
--entrypoint="install" \
appwrite/appwrite:1.6.0
We have a dedicated self-hosting guide in our docs for more info.
Managed databases on Appwrite Cloud
With Appwrite Cloud, our Database offering is fully managed. This means that our team handles any administrative tasks associated with running the underlying database. This carries several key benefits:
Automated backups: Regular snapshots of the database are taken automatically to ensure data can be restored in case of loss.
Scaling: Resources (CPU, memory, storage) are adjusted by our team according to demand, often with minimal or no downtime.
Monitoring and alerts: There is continuous monitoring of database performance and health, with alerts for any issues, which are team takes care of.
Maintenance and updates: We handle updates to the database software and operating system, applying patches and security fixes as needed.
Enhanced security: We maintain robust security measures to protect your data.
One of the biggest advantages of Appwrite Cloud is that these benefits are not just restricted to paid customers but also available to consumers of our free tier.
Pricing plans
With Appwrite Cloud, we have mindfully designed our pricing plans to be accessible to most developers. Right now, we offer two pricing plans on Appwrite Cloud.
Free plan
A free tier for every developer working on a side project or SaaS product that can thrive on our Free plan limits.
Free of cost
Pro plan
A plan that supports your ambitions to scale your production project and allows you to grow.
Comes with flexible budget control tools to ensure you never get a surprise bill.
$15, per month, per member.
For databases, here are the differences between both plans:
Category | Free plan | Pro plan |
Databases | 1 per project | Unlimited |
Documents | Unlimited | Unlimited |
Reads & Writes | Unlimited | Unlimited |
Dedicated databases | No | Yes |
You can also look at PlanetScale pricing to understand how Appwrite compares.
Moving forward
There is no denying that PlanetScale has done a fantastic job developing a scalable and robust database offering. They are a massive inspiration in the database space and the larger developer tooling ecosystem. That being said, there are gaps in the developer community that PlanetScale chooses not to prioritize due to their business growth plans, which we can help with. Free users have formed an influential part of the Appwrite community and have made a difference not just as consumers but also as builders, public speakers, contributors, etc., who have constantly criticized and shared feedback, added ideas and suggestions, and made Appwrite a much better platform. We hope we will see more such developers give us a shot in the days to come.
Learn more about Appwrite by visiting our docs and joining our Discord community.