vespa-engine / vespa

AI + Data, online. https://vespa.ai
https://vespa.ai
Apache License 2.0
5.63k stars 589 forks source link

Vespa vector database as a managed service on AWS or Azure #31576

Closed rajivml closed 2 months ago

rajivml commented 3 months ago

HI

Do you have any plan to offer vespa as a managed service on either AWS or Azure similar to elastic cloud ?

Right now one of the AI offering that we are using has a tight coupling with Vespa and I couldn't find any recipes to deploy vespa in HA fashion on kubernetes where I can scale the database horizontally with multiple copies of replica for each shard for HA purpose nor I could find a way to deploy Vespa as a managed service in AWS or Azure

We don't want to onboard to vespa private cloud due to data privacy reasons

bratseth commented 3 months ago

Hi Rajiv, we do provide Vespa as a managed service on AWS (Azure coming in Q3): https://cloud.vespa.ai

You can also optionally run the data plane in your own account: https://cloud.vespa.ai/en/enclave/

Just let me know if you want to set up a meeting to discuss.

Best, Jon

rajivml commented 3 months ago

HI Jon

Glad to know that the data plane can be hosted in our own account in AWS and GKE, though we have AWS and GKE accounts for testing but our default cloud provider for production is Azure

I will try deploying it in AWS and GKE and get back to you in case if I run into any issues. You can expect my response in 2nd half of next week

rajivml commented 3 months ago

I looked at the docs and there are many red flags,

An ideal customer-friendly deployment model will be very similar to the managed solution that ElasticCloud offers

bratseth commented 3 months ago

Vespa Cloud Enclave is a special solution for large companies with strict security requirements. The admin setup is a one-time task at the company level and once it is done anybody with access to that tenant can deploy any number of applications with no friction. The separate enclave account will be a requirement by the security teams of companies for which the Enclave solution is a good fit.

Sounds like you should just use the Vespa Cloud in the normal way, without Enclave. This is similar to what Elastic offers, and has no need for admin setup, no separate account, and no minimum spend.

rajivml commented 3 months ago

this is the kind of offering am looking for https://www.elastic.co/guide/en/cloud/current/ec-azure-marketplace-native.html

bratseth commented 3 months ago

Yes. This is similar to Vespa Cloud (not Enclave), except that billing will be through us. Azure Marketplace integration will come too, but after the Azure integration completes in Q3.

Also, we recommend using continuous deployment, deploying through a console is not a good practice for production systems: https://cloud.vespa.ai/en/automated-deployments

rajivml commented 3 months ago

I didn't understand how elastic's offering that I shared is similar to Vespa Cloud (not Enclave). The offering that I shared is a marketplace offering where all the necessary infrastructure is deployed in the customer's own subscription and we pay as we go

Whereas here https://cloud.vespa.ai/en/getting-started, infra is completely remote and isolated, managed by vespa, it's just that the deployments are happening to Vespa in tenants created by the customers and customer's data is not local to their data center / premises

bratseth commented 3 months ago

That the bill comes through Azure Marketplace vs. separately is a difference, yes. Both are pay-as-you-go.

I couldn't find anything on the Elastic offering about the data plane resources being provisioned in the customer's subscription (vs. charged to the customer's subscription, which is a separate thing). For that to be the case, Elastic's control plane (the management part, which is in Elastic's subscription) need to be granted resources to provision resources in the customer's subscription somehow (similar to Enclave). It could of course be that this is done even though I couldn't find it.

In both cases, the deployments are local to the data center(s) chosen by the application, the distinction is whose VPC rather than remove/local. Related, you can also set up private endpoints to avoid exposing the (mTLS protected) endpoints on the internet.

rajivml commented 3 months ago

We have decided to deploy and manage Vespa ourselves

Right now both the options you have presented are not viable for us,

your first option, vespa enclave, has 2 major issues, the creation of a separation cloud account and a 10k$ monthly minimum commitment both are big red flags because the process involved is so huge within enterprises where one has to navigate this through multiple teams to get approvals, feedback applies in general to many companies

the second option, i.e vespa cloud option is again a no go because we can't host our data elsewhere

I think for better adoption, you should study how all these other companies like datadog, elastic, confluent are providing managed solutions via respective marketplaces Ex: https://learn.microsoft.com/en-us/azure/partner-solutions/

These marketplace offerings solve all the problems I highlighted,

bratseth commented 2 months ago

Thanks for sharing your current thinking! We will support Azure Marketplace, but not until Q4.

The Elastic documentation you point to states: "Elastic owns and runs the SaaS application including the Elastic accounts created.", so this appears to be equivalent to the regular Vespa Cloud, apart from the billing aspect.