You can now self-host the Dropbase worker and process your data within your own VPC.
The Dropbase Worker is part of the Dropbase service that is responsible for interacting with your data within your own machines and infrastructure. It gives developers a way to query and process data securely and within their VPC. The worker code is published as a source-available software distribution, so you can inspect it and understand how data flows between the worker and the client.
With our self-hosted approach to the worker, you are free to modify the code to suit your needs. If there are issues that we can’t address in a timely manner, you won’t be blocked because you can develop your own fix and push it to your server.
We designed Dropbase with a self-hosted-first approach because developers want to interact with their data privately and securely, without flowing through someone else’s cloud. The trade-off is that we don’t yet have a 100% cloud version, so to use Dropbase, you must go through the setup steps.
Although the worker can be self-hosted, the web app and the Dropbase backend API cannot. We wanted to keep the ability to iterate rapidly and easily push updates related to less data sensitive parts of your apps, such as the UI components, the UX, and product design without breaking apps for developers each time we do.
Therefore, we simply isolated the part of Dropbase that deals with sensitive data, packaged it, and released it as the Dropbase Worker that you can host on-prem. Everything else that is not handling sensitive customer data remains in the Dropbase cloud and cannot be self-hosted yet. This hybrid approach gives both developers and Dropbase the best possible approach that maximizes development speed, user experience, and data privacy.
Overview the Dropbase Platform
To learn more, go to Architecture.
There are a two core pieces to how the Dropbase platform works:
- The Dropbase Cloud
- The Dropbase Worker (self-hosted)
The Dropbase Cloud
The Dropbase Cloud consists of the core components:
- The Dropbase Dashboard: the web app that gives you a UI to manage accounts, users, workspaces, apps, functions, billing and tokens. This is the main portal and interface to Dropbase services and includes Dropbase Studio, a code editor to write your functions.
- The Dropbase Server: the backend server that stores, manages, and handle requests for your app metadata, including all UI components, app definitions, and including who can access them.
The Dropbase Worker (self-hosted)
The Dropbase Worker consists of the core components:
- The Worker Server: the server that orchestrates secure communication between the client, your data, and Dropbase’s cloud.
- The Worker Proxy: sets up a a secure connection between your local development machine and the Dropbase cloud.
- The Worker LSP: gives you Python linting features so make it easier to code.
- The Workspace directory: contains the underlying source code files for all Dropbase functions, including Python and SQL data fetchers, Python UI functions, and generic Python scripts.
All these components are on-prem, in our own VPC.
Benefits of the hybrid hosting approach
1. Data Security and Compliance
- Secured Data Handling: Sensitive data remains within developers' infrastructure, addressing concerns related to data privacy, security, and compliance with industry regulations.
2. Access to latest features
- Seamless Updates: Effortless deployment of updates to UI components and user experience, ensuring developers always have access to the latest features.
3. Development Efficiency
- Faster Iteration: Developers have direct control over the self-hosted data processing worker, enabling rapid iterations and development cycles without relying on Dropbase.
- Simplified Initial Setup: Reduces the amount of initial setup for developers before they can start building apps, accelerating the development process. Initial setup is bounded to just the Dropbase Worker, which handles your sensitive data.
- Source Control: Effortless implementation of source control for Dropbase functions promotes versioning, collaboration, and streamlined code management.
4. Web-based collaboration
- Enhanced Collaboration: Facilitates collaboration among developers and with end-users through a single collaborative web app accessible from one place
5. Infrastructure Optimization
- Optimized Resource Management: Developers efficiently scale the self-hosted worker based on workload, optimizing both resource utilization and performance, potentially reducing overall cloud service costs.