AppWrite: A Cloud Native Backend-as-a-Service
Appwrite, the open source Backend-as-a-Service (BaaS), started out as a way for Eldad Fux, the founder and CEO of the company by the same name, to scratch an itch, but has quickly gained popularity among web and mobile developers. While Appwrite only recently reached v0.10, Fux said that its popularity comes from the fact that it fixes a common set of challenges for developers far and wide — complexity.
“When I was starting to develop it, I was trying to solve my own problems, especially around complexity. Cloud solutions like GCP, Azure, or AWS, they’ve done a really great job abstracting that complexity, but they’ve created a new layer of complexity for developers.” Fux said. “Those cloud providers, they never designed the services for developers. They designed them for DevOps, for sysadmins, for IT personnel, but not for developers. I felt the need to create a new abstraction layer that basically will give developers all the cloud capabilities, but with domains and tools and APIs that they already know how to consume.”
AppWrite combines multiple services and APIs — from databases to storage to authorization — into a set of integrated REST APIs to provide the fundamentals for building modern applications under a single platform. AppWrite can run on any infrastructure, whether in the cloud or on-premises and also operates the same offline as it does online, for use in both production and development environments.
“Everything is oriented to create this really, really awesome developer experience without the hassle of learning another new technology because developers already have so many things that they need to do,” said Fux. “AppWrite gives them the ability to have everything unified under one platform. They don’t have to worry about integrating different tools together and get this entire end-to-end experience.”
AppWrite is not the only BaaS, but the project claims a few points of distinction, from its focus on security to its Cloud Functions custom code execution feature to its soon-to-be-added integration of multiple database engines. In terms of security, Fux says that Appwrite is “the only one” with built-in file and data encryption, built-in antivirus, audit-logging, usage monitoring, advanced abuse detection, and rate-limiting capabilities, as well as the only solution that can auto-generate SSL certificates on the fly.
Fux also points to AppWrite’s ability to be self-hosted as a point of distinction. With an increasing focus on privacy concerns and the arrival of new regulations, self-hosted solutions such as Appwrite, he said, have become very popular.
“We’ve seen a big trend, especially in Europe and other places, where new privacy regulations have popped up, where organizations choose to use a self-hosted solution and own their data,” explained Fux.
Fux describes AppWrite as a set of microservices that “act as a really thin layer on top of bullet proven open source technology or common technologies,” and says that the microservice architecture makes AppWrite possible.
“Building something as complex as AppWrite — that combines multiple services that sometimes relate to each other, sometimes a bit less — a microservice architecture was the first choice,” said Fux. “Packaging it with Docker was the only reasonable way to be able to allow developers to deploy it easily. I think if we were talking about something like five or 10 years ago, it would probably be a nightmare to try and even deploy something like that.”
As a set of containerized microservices, AppWrite can run anywhere, whether a major cloud provider, a developer’s local machine, or even a Raspberry Pi, and it is this last point that Fux points to as further evidence for the importance of AppWrite’s growing open source community, which he said added this functionality.
“We’ve seen people build amazing stuff over on IoT devices, which we didn’t even imagine, and I think that leads us to how meaningful our open source community is, for our entire business model and our entire community-driven product,” said Fux.
While AppWrite’s ability to be self-hosted is a point of distinction, it can also be a pain point of its own, and that is the reason for the incorporation of AppWrite as a business. While the open source project is community-driven — a point Fux emphasizes — the business intends to provide a managed version of the backend-as-a-service, removing the need for it to be self-hosted.
“A lot of developers that want to use AppWrite have this barrier of managing their own infrastructure, deploying the solution on different cloud providers, monitoring it and maintaining it,” said Fux. “With our managed solution, we want to completely remove this barrier.”
Currently, AppWrite is still in the early stages, but Fux said that the project hopes to offer a stable version by the end of the year.
“Most importantly, we want to spend a lot of time on improving existing features, not just about extending the offering,” said Fux. “It’s limitless where we can take the product, and we’re going to work closely with our community and listen.”