Why I moved from BaaS to Appwrite (self-hosted Backend)
Tags: webdev, appwrite, backend, serverless
Published: 2020-04-13 13:12:21

# Me
I am a frontend developer who is working in his spare time on an app that is used for creative writing and managing of novels. I also offer the possibility to synchronize projects via the cloud and make them available on all devices.
{% github torstendittmann/omniawrite no-readme %}


# Backend decision

When I was looking for a provider or software that would provide a backend for my needs, I was quickly overwhelmed.

Basically all providers offer the same functions and features and differ only in pricing and service.

After I created about 10 prototypes for the providers on my shortlist, I decided to go for one that satisfied all my needs in the free plan and didn't make any high price jumps if I should make use of it.

After running this backend for about a year and growing my app, the realization came.

**For the following reasons I was not completely satisfied with it:**

### Dependency 
BaaS providers take work off your hands, but this dependence comes at a price. Also when I think back a few years to Parse.com, where a service simply shuts down and leaves its users standing in the rain makes me wanna move away from providers.

### Control
I had no control over my data and the data of my users, which ended up in me creating my own solutions for backups, for example. The solution of the provider was unfortunately linked to a paid plan.

### ...

I realize right now that when I go too deep into detail it gets a little exhausting to read. So I'm gonna leave the two reasons.

#### Then I came across this article by chance

{% link https://dev.to/eldadfux/appwrite-backend-server-version-0-4-is-out-learn-what-s-new-mj %}

I read through the documentation of Appwrite and was immediately thrilled that there is a solution that meets all my needs and at the same time is still available free of charge.

I joined the official Discord, which you should absolutely do when you are interested in using Appwrite, and asked a few questions regarding some minor concerns.

Immediately the creator himself answered me and suggested to implement some of my points in the next release.

So I set out to create a proof of concept and waited eagerly for the next release to completely rewrite my app for Appwrite.

### Wait a minute, what can Appwrite actually do?
Let me quote from their site:

Appwrite provides developers with a set of easy-to-use and integrate REST APIs to manage their core backend needs.
- Database
- Storage
- Users
- GEO & Localization
- Scheduled Tasks
- Console
- Privacy
- Security

Everything ready with a "one-liner" to try out on your local machine.

{% github appwrite/appwrite %}

# Result
{% twitter 1248652566029914118 %}
Last week I moved the production to Appwrite and came to the following result:

**Average API calls per month:** ~120.000
**Total users:** ~560
**Average total Bandwidth:** ~500 mb
**Storage used total:** ~80 mb

All this can be handled by small virtual servers and costs you only a small amount compared to service providers.

PS: Of course this solution is not for everyone, because not everyone is willing or has enough knowledge to manage their own server. Also, you have a little more work in the beginning, because you have to manage things like server security, email server, possible updates, etc. Also Appwrite is still in beta, which can lead to breaking changes in future releases.