
When StatelyDB first started out, we only supported fully-hosted databases run by us. Not only was it faster for us (and customers) to get started that way, it let us take on all the operational pain of running storage.
Working alongside our customers, we found many examples of users who preferred this approach. However, we soon discovered that there are customers who are deeply interested in benefitting from StatelyDB’s Elastic Schema and effortless scaling, but have unique operational constraints that made a fully hosted solution challenging. These include:
The solution to this is a “Bring Your Own Cloud” or BYOC deployment model. StatelyDB is already separated into three layers: a storage layer (DynamoDB), a compute data plane layer, and a control plane or metadata layer.
In a BYOC deployment, the compute and storage layers run in your own AWS account, while the control plane continues to be hosted by Stately. This lets us continue to manage much of the operations and present a “single pane of glass” through our console and CLI, but the actual stored data doesn’t leave your account - and Stately employees don’t need to access your infrastructure at all.
In this model, you deploy the StatelyDB data plane as a container right next to your application code. You then provision a DynamoDB table in your account to use as the backing storage for your StatelyDB store. Then your application can call the StatelyDB API on the local container directly, and the data plane then talks to your DynamoDB table using standard IAM access controls. The data plane containers make read-only requests to the control plane in order to learn about schema changes or discover maintenance and backfill tasks. Your team still interacts with the Stately web console and CLI to manage your schemas and control tasks.
In this shared responsibility model customers are fully in control of their data, while delegating the control plane operations to Stately and the storage layer to AWS DynamoDB.
Keep in mind that this is a true BYOC model—Stately doesn’t require access to your VPC or special IAM roles, and we won’t deploy anything into your account on your behalf. In fact, it’s self service- you can set up a BYOC StatelyDB deployment yourself without our involvement. We went with this zero trust model by design, because we’ve been on the other side and we know how high a bar we’d set for bringing a third party database into our environment.
The BYOC deployment model has a lot of benefits:
Of course, you are taking on more setup and infrastructure management than in the hosted deployment model, but not much - following our setup guide is quick and the data plane requires almost no configuration. We have examples for how to deploy the data plane on both Kubernetes and AWS Elastic Container Service (ECS). Let us know if you have another compute environment you’d like us to support.
StatelyDB’s BYOC model is the safest and most cost efficient way to get StatelyDB. It’s the best way to get the development velocity advantages of Elastic Schema and StatelyDB’s growing set of features, while maintaining the cost and security benefits of running on your own infrastructure, all in your own AWS account.
To learn more about how StatelyDB can work in your specific environment, contact us. Or if you want to try it out, you can get started with a BYOC deployment or a hosted store self-service today.